David is not alone in the claim that EDA and SOA should work together. For instance Jack Van Hoof has a whole blog dedicated to the subject, Brenda Michelson blogged about it more than a year ago and Oracle has been trying to dub this SOA 2.0 etc.(1) the fusion of SOA and EDA into ED-SOA (event-driven, service oriented architecture) is the way of the future,(2) building processes is greatly facilitated by ED-SOAs,(3) conversely ED-SOAs can be constructed as layered architectures using BPM systems.(4) CEP principles must become an integral component of both ED-SOAs and business processes because of the ever increasing quest for control of our business processes, real time autonomous operation, and the need to gather business intelligence from the events flowing through our IT systems.
However, this seems to be the first article that tries to tie Business Process management (BPM) and Complex Event Processing (CEP) into the mix.
It should be noted that both REST and WS-* web services are commonly constructed with request/reply in mind. Making the shift to EDA which is based on Publish/Consume is not simple - especially for SOA initiatives which are already underway. It would be interesting to see how adoption of EDA on top of SOA would evolved.
InfoQ published an article on BI & SOA demonstrating it as well.
Community comments
One missing element: Data Grid
by Shay Banon,
Did someone say Data Grid?
by Cameron Purdy,
One missing element: Data Grid
by Shay Banon,
Your message is awaiting moderation. Thank you for participating in the discussion.
One essential element in such an architecture is where the business data is saved. Optimally one would like to have the data shared across an in memory data grid (for better performance). Then it becomes a matter of having the events trigger business operations that use the data within the data grid to perform their respective operations.
The next evolutionary step would be to have the data stored in the data grid generate events. Events can be triggered just by a certain object existing in the data grid, or the object state changes. As an example: An order written to the data grid, causing a business process to kick in and validate the order. Once the order is validated (changes its state to valid) another business process will kick in to process the Order.
This type of platform, supporting natively both data grid requirements and event grid requirements with a single coherent system is what I refer to as next generation application server. No need for several moving parts as we currently have with JMS for events, DB (with different data access methods) for data, and different entities for business processes.
We can see vendors starting to move to this direction. GigaSpaces certainly is, especially with its latest 6.0 release and Open Spaces.
Cheers,
Shay Banon
Compass founder and lead developer
System Architect at GigaSpaces
Did someone say Data Grid?
by Cameron Purdy,
Your message is awaiting moderation. Thank you for participating in the discussion.
Sounds like a Coherence data grid ;-)
Seriously, events are a natural part of a data grid. I can't imagine one without them ..
Peace,
Cameron Purdy
Oracle Coherence: The Java Data Grid