Service Oriented Architecture (SOA)
has been "the thing" in the integration world the past few years with vendors latching on to the term and enhancing or creating new products that support all aspects of SOA such as ESBs and BPM/orchestration tools. All the while, customers have been continuing to implement standard EAI patterns using point to point integration products and Message Oriented Middleware (MoM) for publish and subscribe solutions. These EAI solutions continue to work today, but increasingly are being asked to move more and more from batch based processing to real time and event driven processing.
Enter Event Driven Architecture, or EDA
. EDA takes the principles of SOA such as loosely coupled components and services, and applies them to event emitters and consumers. In a way, where SOA provides loose coupling for synchronous service invocations, EDA provides loose coupling for asynchronous systems. In this way, EDA is very complimentary to SOA.
But EDA goes beyond just asynchronous systems and enters into Event Stream Processing and Complex Event Processing (CEP
). Event Processing provides for receiving events from any source, and aggregating, correlating, analyzing, monitoring, and otherwise processing the events. Additionally where SOA is typically used to process individual requests in isolation from others, Event Processing handles events from multiple sources in the context of previous events providing new insight into the behaviors of systems and users.
The result of this processing can be to trigger other processes or send alerts in response to thresholds being exceeded, or to use the aggregated events for reporting for dashboard applications. Applications of Event Processing includes fraud detection, algorithmic trading, security monitoring, Business Activity Monitoring (BAM), and many more.
Sun's Java Composite Application Platform Suite (Java CAPS)
has always had EDA capabilities given its roots in EAI and MoM and with the Intelligent Event Processor (IEP)
, we are adding the Event Processing capabilities that today's EDA's require to compliment the SOA capabilities inherent in Java CAPS. By having this be a component of a broader integration platform, the IEP can leverage the adapters and engines of the platform rather than having to recreate that functionality like a standalone CEP offering has to.
To learn more, visit the Open ESB Community
where the IEP is being built. Additionally, see the August 2008 Java Developers Journal
with an article on EDA and the IEP on page 16.