InfoQ

News

Event Driven Architecture and Service Oriented Architecture

Posted by Arnon Rotem-Gal-Oz on Jul 10, 2007 12:32 PM

Community
SOA
Topics
Workflow / BPM ,
Orchestration ,
Enterprise Architecture
Tags
Web services
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.
One missing element: Data Grid by Shay Banon Posted Jul 10, 2007 2:28 PM
Did someone say Data Grid? by Cameron Purdy Posted Jul 16, 2007 2:09 PM
  1. Back to top

    One missing element: Data Grid

    Jul 10, 2007 2:28 PM by Shay Banon

    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

  2. Back to top

    Did someone say Data Grid?

    Jul 16, 2007 2:09 PM by Cameron Purdy

    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

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.