InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Event Driven Architecture and Service Oriented Architecture

Posted by Arnon Rotem-Gal-Oz on Jul 10, 2007

Sections
Architecture & Design,
Enterprise Architecture
Topics
Enterprise Architecture ,
Workflow / BPM ,
SOA ,
Orchestration
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.
  • This article is part of a featured topic series on SOA
One missing element: Data Grid by Shay Banon Posted
Did someone say Data Grid? by Cameron Purdy Posted
  1. Back to top

    One missing element: Data Grid

    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?

    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

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.