Event-driven SOA
April 21, 2008
Event-driven SOA has been grabbing some headlines lately as a couple of vendors have launched new tools to support this architecture. Infor was one of the first major applications vendors to embrace event-driven SOA. It was somewhat of a challenge to explain at the time because there wasn’t a reference point for people to understand the concept and some of the terminology is still fluid even now. Some purists, for example, refer to Event-Driven SOA as “Event-driven Architecture.”
One of the key aspects of event-driven SOA is the ability for decoupled, asynchronous operations. Software components are decoupled and communicate through a publish/subscribe process over an ESB. Asynchronous can be thought of as “fire and forget” – when a business event occurs, the publisher pulls the trigger and many subscribers can consume this information. This is different from traditional SOA, where components are loosely coupled, services are invoked at the request of a single client, and communications are synchronous (bi-directional) on a one-to-one basis.
What’s the advantage of asynchronous? Think of this analogy from our current mortgage meltdown in the U.S. Today our financial institutions are so interconnected that one problem can create a ripple effect that threatens the stability of the entire global system. The same is true in an IT architecture dependent on synchronous operations – because bi-directional communications are required, if one service fails to reply then it can theoretically breakdown the entire end-to-end business process for all users.
In an event-driven world, this doesn’t happen. Processes are triggered by events, published, and not dependent on a reply or confirmation from the consumer. So if, for example, one component goes offline or is upgraded, it can be done independently without jeopardizing the entire system. Business events queue up for the unavailable component while it is off-line, and then continue processing when it comes back on-line. Meanwhile the rest of the systems were unaffected and users continue to operate while they still have information to process.
Why is this so important? Heterogeneous IT environments are here to stay. If anything we are going to see an increase of new innovative solutions and technologies in your typical customer IT ecosystem. As the number of supported solutions increases, so does the complexity and dependencies of a traditional SOA deployment. Event-driven SOA provides IT organizations with the architecture to make managing their increasingly heterogeneous mix of solutions much more manageable, enabling quicker response times to new business requirements.
Now isn’t that what we are all looking for?
Posted by Jeremy Suratt, Director, Technology Marketing
