« December 2008 | Main | February 2009 »

January 2009 Archives

January 6, 2009

Which Coherence Edition is Right for Me?

ORC17 0002 Which Coherence Edition is Right for Me?

It seems like I am dealing a lot with Coherence these days.  For those of you who have been stuck in a closet for the last 18 months Coherence is Oracles data grid software acquired through the purchase of Tangosol.  A question that often comes up is what edition of Coherence do I need?  So lets plunge in and look at what each edition does.

The Source

The definitive source for what is included in which edition of Coherence is to be found on OTN and the Coherence wiki.  This splits Coherence into 3 types of client and 3 server editions.  We will look at each server edition in turn.

Standard Edition

This provides a basic data caching capability based around a get/put model as part of a reliable data grid.  Data may be distributed among multiple nodes and stored and retrieved from those nodes.  If using a partitioned cache then data will normally be duplicated to avoid data loss in event of node failure.  There is also support for access to data stores through Coherence, so that when you write data into a Coherence cache it automatically is written into an underlying database (write-through cache).  Similarly reading from a Coherence cache may load data from a data source (read-through cache).

Good uses for standard edition are simple reference data caches or shared state information between multiple nodes.

Enterprise Edition

The enterprise edition adds a lot of new functions to Coherence including write behind caching, transactions and parallel query operations.  It also allows the processing to be moved to the data, meaning that Java code can be executed in the cache, with parameters being passed into the cache.  The code is executed on data in the cache and the results returned back to the requestor.  The enterprise edition also adds the facility to be notified when changes are made to data.  To make management easier in an enterprise class product there is a clustered JMX provider that provides a single view of resource usage across the cluster.

Enterprise edition is good when you want all nodes to actively store data and distribute processing and queries between all nodes.  It can be used to extend applications servers into a grid infrastructure, hence its inclusion in Oracles WebLogic Suite.

Grid Edition

Grid edition adds two key functions to the enterprise edition.  First is support for data replication between two data grids, useful for DR sites for example.  It also adds support for real time clients.  A real time client can be thought of as a member of the data grid that does not store data.  For enterprise edition these clients must actually have an enterprise edition license.  For grid edition they can use a real time client license (only usable with grid edition).  The upshot of this is that if you have a lot of real time clients (more than 1.17 times the number of servers in the grid) then it may be more cost effective to purchase the grid edition.

Grid edition is good for having a seperate grid tier with applications servers and or/or thick clients making use of the services of the data grid.  In this type of environment the grid can become the application infrastructure.

Summary

So in short use standard edition if you are looking for an industrial strength java cache with reliable distributed cache capability.  Move to enterprise edition if you want in-memory grid processing and parallel query integrated with your main application platform.  Finally use grid edition if you are ready to make Coherence the heart of you grid platform and want to provide access to it from multiple platforms, clients and servers.

Speaker IJTC 2008More About Coherence in Ireland!

I am speaking on Coherence at the Irish Java Technology Conference next Thursday 8 January, so if you are attending look me up.

January 30, 2009

Design Patterns

Design Patterns

Last week I received a heavy parcel through the post from Amazon containing Thomas Erls new book SOA Design Patterns.  I have been interested in design patterns for many years and still regularly refer to my copy of the gang of four (Design Patterns: Elements of Reusable Object-Oriented Software).  For those of you unaware of them, patterns provide a proven solution to a problem.  The gang of four book identifies four essential elements in a pattern (from section 1.1 What is a Design Pattern?).

  1. A pattern name that extends our vocabularly when talking with colleagues, witness the common use of facade as a shorthand for the design principles of the facade pattern.
  2. A problem that is addressed by the pattern.
  3. A solution that describes an abstract design to solve the problem.
  4. The consequences of applying the pattern, its results and its impacts both positive and negative.

It is worth noting that patterns are not created, they are discovered.  An important aspect of a pattern is that it should have been used in more than one solution.  The gang of four identified and documented 23 design patterns focused on object oriented languages.  The Thomas Erl book focuses as the name suggests on service oriented patterns.  Some of these patterns are service oriented forms of the gang of four patterns.  For example the service facade is an example of the facade pattern.  However Thomas explains how the service facade works in a a SOA and gives detailed explanations of its trade offs and benefits all closely related to SOA, providing a lot of added value even to people already familiar with the facade pattern.  The facade pattern in the gang of four covers 9 pages, in Thomas’ book it covers 12 pages but also includes a case study and is focused purely on SOA.

Think of the SOA Design Patterns as a cookbook of possibilities.  They cover lots of different patterns, many of them contributed by other SOA gurus such as Oracles David Chappell.  Use it as a reference book to see if there is a proven design approach that can solve some of your problems.  Remember that is a guide to good design, not a guarantor.

Well worth adding to your library!

January 31, 2009

SOA Suite Book

A Long Book Story

For the last 18 months Matt Wright and myself have been working on a SOA Suite book.  We started off targeting the 11g release, but delays and then the BEA acquisition led us to focus on the current 10g production release.  This week I sent off the last rewrites to the publisher so all the chapters are now complete.  Matt and I wanted to focus on how to use the SOA Suite to build a service oriented architecture, when it is released you can let us know how well we achieved that aim.

We are now packaging up the code samples and polishing up the sample application ready to be available with the book.

About January 2009

This page contains all entries posted to Antony Reynolds' Blog in January 2009. They are listed from oldest to newest.

December 2008 is the previous archive.

February 2009 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle