Friday, February 09, 2007

The next n-tier architecture


It seems that the now traditional three tier architecture may well be slowly coming to an end. For specialised high performance applications, the bottlenecks between the tiers have already been pushing developers in this area to turn to specialised data caching platforms such as Tangosol, or to unified application platforms such as Intersystems Ensemble. In the data caching area the architecture seems to be consolidating to a cached data pool which is accessible from many machines in a cluster. This trend is now being followed by vendors of "traditional" application servers such as BEA and IBM. For SOAs this has the advantage that each service accesses the same data in the data pool, rather than having to aggregate data from different data sources (see diagram). The application platform deals with all the hard problems of data caching such as data consistency, cache actualization etc.


Not so long ago I saw a presentation from GigaSpaces who also provided a cached data pool. What is interesting about the product architecture is that they have revived the old, and hardly adopted, JavaSpaces concept. The data pool (or space) is a set of Java objects which are effectively in a shared memory accessable from each machine in a cluster. Each object can be accessed by providing a "template" which matches the contents of the objects and returns one of more of the matching objects. Templates can also be set as triggers, so that creation of new objects with particular data characteristics can notify another Java object. If you're still interested, a good tutorial on Java Spaces can be found here.

2 comments:

Anonymous said...

I like it! The picture you posted is almost straight out of our marketing and training materials ;-)

Coherence has already been adopted as the next generation architecture for supporting SOA by many of the major banks and telcos around the world, often now replacing legacy systems (including one you mentioned).

Coherence provides truly reliable, shared, clustered object memory, as opposed to older "client side failover" client/server technologies. Using its ultra-high-performance (4000Mb/s on Ethernet and 7200Mb/s on Infiniband, for example) messaging capability, Coherence combines data management, event driven processing, and parallel processing, calculations and aggregations into a single, coherent model called a Data Grid.

With thousands of production deployments, Coherence continues to set the standard for large-scale, reliable clustered computing.

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid

toothache said...

Now you must answer me, how it is N tier ?, I see it is again a 3 tier architecture.

The thing you have mentioned is having three logical layers, data, legacy wrapper, desktop client using SOA.

N - tier is an system having a grid of completely contained, fully functional units, each can support and function completely on its own, but when connected by a grid, the units share the resources by distributing various function calls.

As opposed to SOA (service oriented architecture), it is more granular distribution of function and task and much more efficient than the SOA.