Oracle SOA Partner Community Forum V: My first encounter with the SOA Grid
A short while ago (august 26 and 27) I attended the Oracle SOA Partner Community Forum V in Utrecht (the Netherlands). With over 200 participants from all over Europe this was a great opportunity to see what Oracle has to offer and where fusion middleware is going in the near future. This Partner Community Forum came with a lot of keynotes and technical presentations, and unfortunately some commercial sales presentations, which I always try to skip. Nevertheless it was a great event with some very interesting subjects. All the presentations are accessible online if you are an Oracle partner and have an OTN account. One of my favorite presentations was a keynote on SOA grid by Dave Chappell. This presentation explained how to use Oracle Coherence as an in Memory grid solution for SOA environments. The SOA grid provides high-speed in-memory access to continually available service state data without the need for disk persistence. This is the concept in a nutshell.
The SOA grid is a new approach to thinking about SOA infrastructure. It provides continuous availability for service implementations, data, and processing logic. It’s based on architecture that combines horizontally scalable, database-independent, middle-tier data caching with intelligent parallelization and an affinity of business logic with cache data. This enables newer, simpler, and more-efficient models for highly scalable service-oriented applications that can take full advantage of service virtualization and event-driven architectures. The concept is based on a group of interconnected software processes that cooperate together across a network with the sole purpose of storing and maintaining instance data for individual application objects.
An application or service uses the grid through a familiar data structure, such as a Java HashMap or a .NET dictionary. When the application performs a put() to the HashMap, that operation is delegated to the grid, which then automatically elects a primary storage node and a backup storage node on another machine. The nodes on the grid are continually aware of the status of all other nodes. They automatically and immediately detect failures and then rebalance the data storage and workload among the remaining nodes. If one of the primary storage node fails, the backup node becomes the primary and creates a new backup node.
Subsequent requests to update or fetch data will always get routed to the appropriate primary grid node for a given service object. This all happens real time, and can occur seamlessly across multiple failures, even while updating the primary grid node. Through this mechanism, the grid can provide high-speed, in-memory access to continually available service state data without the need for disk persistence.
According to the presenter this means that there are less (much less) boundary crossings, and in the end this will lead to a faster and more scalable SOA infrastructure.
There is a lot more to tell, but this post explains the concept in a nutshell.
You can find the article ("Next-Generation Grid-Enabled SOA: Not Your MOM’s Bus" ) on which the presentation and this post was based here: http://www.soamag.com/I14/0108-1.asp The Forum presentations are accessible online (if you have an OPN account): http://www.oracle.com/partners/home/personalized/emea/english/prof_com/soa_integration/soa_forum/forum_v.html