Sunday, May 30, 2010

Book review: Oracle Coherence 3.5: Create internet scale applications using Oracle's high-performance data grid

The IT book publisher PackT asked me, based on my blog activities here, a couple of weeks ago if I was willing to review the newly published book Coherence 3.5. Being a person who works with Coherence, follows the developments around Coherence and believes in the capabilities of Oracle Coherence for building reliable scalable architectures, I was definitely willing to review this book and to bundle my feedback in a blog posting afterwards.

The book starts with an overview of what scalability, performance and high availability means and (also important) what not, what it does involve, how you achieve it and how Coherence fits into this picture. After explaining the basic concepts of performance, scalability and availability the book proceeds with explaining how easy it is to start off with Oracle Coherence to build your first 'Hello World' Coherence application.

After this overviev the book starts with the 'real stuff'. First a detailed overview is given about the different type of caching topologies and the options Coherence provide to decide for the right caching strategy. The book also provides so called 'When to use it?' chapter per topology in which it explains for which typical applications the topolgy is applicable and should be used; very useful. The following chapter explains how you can define your domain objects and make them Coherence-aware. In this chapter it uses the concepts of Domain Driven Design as the basis to construct the domain model for a sample applications. For me personally, this chapter was an eye-opener regarding building domain models for Coherence. One thing you should keep in mind, which i had learned before, when you start using Coherence is that you should keep things very simple and don't treat Coherence as an in-memory relational database. only put those things in Coherence grid which should be in the cache and avoid to think like you're going to build a database relation model. For example, store whole aggregates (Order, order items) in a single cache entry for the sake of atomicity, consistency and simplicity. The chapter also provides information about efficient object serialization using Coherence Portable Object Format (POF) and object change managements using evolvable objects.

The book continues with covering the following topics that makes the book a complete Coherence
reference :

  • Querying the Grid

  • Entry processing

  • Event processing

  • Persistency

  • Coherence*Extend

  • C++ and .Net interoperability

My final conclusion about this book is that is an excellent book to start off with in order to make yourself familiar with implementing Coherence applications. The book is complete in terms of
'should-know' features and contains useful guidelines and best-practices.

The book can be ordered from here:
- PackT site
- Amazon site

1 comment:

sap partners said...

Thank you. It is good to know that this book consist of overview of what scalability, performance and high availability means , what it does involve, how you achieve it and how Coherence fits into this picture.