BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Event Driven Architecture and Service Oriented Architecture

Event Driven Architecture and Service Oriented Architecture

Bookmarks
David Luckham, one of the fathers of complex event processing, just published part 2 of "SOA, EDA, BPM and CEP are all complementary" (you can read part 1 as well). In these articles David argues that
(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.
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.

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.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • 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.

    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.


    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

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT