What SOA?

I have heard and read so much about it that I finally decided to put in words what I make out of all this hype and myths

SOA is an architecture or an architecture style that builds on components or software agents called services which embodies a core piece of an enterprise’s business logic for general consumption directly from the network

These services have following characteristics.

* Loosely coupled : Not bound together
* Interoperable : Diverse in nature but works together
* Composable : Self contained and stateless
* Protocol Independent
* Are exposed through message interfaces
* Coarse grained

These services can then be choreographed or orchestrated to realize the business processes

JVM level Clustering Solution (Open Terracota)

What is it?

To make applications scalable and highly available we need to run java application on more then one JVM. This is known as JVM clustering. JVM-level clustering enables applications to be deployed on multiple JVMs, yet interact with each other as if they were running on the same JVM. Open Terracotta allows threads in a cluster of JVMs to interact with each other across JVM boundaries using the same build-in JVM facilities extended to have a cluster-wide meaning

What does it provide?

It provides transparent clustering and coordination services for the Java platform by allowing us to selectively share object graphs across the cluster (Heap level Replication), manage heaps much bigger than for a single JVM (Large Virtual Heap) and distributed wait/notify and synchronized capability (Cluster wide locking semantics). All this with no serialization.
Read the rest of this entry »