Wednesday, May 26, 2010

Oracle Coherence 3.5 Book Review Results

Review of Oracle Coherence 3.5 Book

The following is my review of the Oracle Coherence 3.5 eBook from Packt Publishing.

High-Level Overview
  • I though this was an excellent book on Oracle Coherence! 
  • Each chapter builds upon the previous like building blocks to build a solid foundation of knowledge and is an excellent reference book. 
  • The core chapters (5,6,7,8) are very powerful, a great read and I highly recommend reading this book!

Detail:

  • Preface: Review/Refresh of "What Coherence is..." for everyone.  More advanced users of Coherence can skip this part.
  • Chapter 1: A review and background of RASP, basic testing and foundations of applications/application testing.  "Why/What Coherence is..."  A good review for people of all levels.
  • Chapter 2: Getting started with Coherence from installation to the first application.  Excellent starting part for Coherence users to get their hands on starting and troubleshooting a basic Coherence application and setup.
  • Chapter 3: Great information on the different types of caches and when to best make use of each one.
  • Chapter 4: This goes into the concept of Domain Models and Serialization choices (Portable Object Format - POF)  for your application.
  • Chapters 5, 6, 7, 8: I really enjoyed these next several chapters since they get into the fun stuff of  Coherence!   Including:
    • Querying the data-grid with a variety of options in the most performant ways
    • Submitting work-requests to the Coherence Data Grid from your application where the power of the Data Grid is used to parallel process and aggregate your request
    • Data Grid Events where you can do multiple things like listen for data changes and take various actions.
    • Finally using Coherence and backing data stores (the database is the classic example here) to use the power of Coherence as the Data Grid layer and read/write changes to/from the backing data store.    All-in-all, these core chapters are very powerful and a great read!
  • Chapter 9:  This goes into good depth on what a Coherence*Extend client is to the data grid, when to use this, and the how-to's on setting it up.
  • Chapter 10 and 11: Integration from .NET and C++ clients into a Coherence Data Grid gives very good insight if this is a use-case for you.  If not, it is a great read on the power and flexibility of Coherence to be accessed from multiple technologies outside of Java.


Suggestions:
  • I really liked how Chapter 2 included the hands-on part so more hands-on examples included per chapter (where appropriate) would have been very nice. 
  • The Coherent Bank application contains *alot* of great code to review and make use of and ties all of the chapters together.  I had one issue with the version of the code-sample I downloaded from the website when running the application so hopefully this is updated on the website in the future.  My specific exception was when accessing the deployed web-application:

Problem accessing /bank/login. Reason:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testDataCreator' defined in ServletContext resource
[/WEB-INF/bank-servlet.xml]: Invocation of init method failed; nested exception is (Wrapped) java.io.NotSerializableException:   com.seovic.samples.bank.domain.Customer