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