InfoQ

News

Is CEP a pre-requisite for EDA or SOA?

Posted by Dilip Krishnan on Nov 11, 2008 11:20 PM

Community
Architecture,
SOA
Topics
Tags
CEP

In a post Jack Van Hoof  compared CEP and EDA and how they relate to an SOA. He said

CEP (Complex Event Processing) correlates multiple messages within given time frames. EDA is an architectural approach to model information systems from a business event perspective. EDA differs from SOA by its focus. SOA puts services at the center of the model and EDA does so with business events. The SOA-approach tends to result in a synchronous communication style and the EDA-approach in an asynchronous communication style.

He believes that the market does not understand EDA  and explains how CEP is fundamentally different from EDA; that CEP is a tool and EDA is an architecture

CEP is not about business events by definition. CEP is a technique to process message streams. These messages do not need to represent business events. A business event is something that happens (change of state) where your business has planned to react upon in a predefined way. A business event is represented by a message, but not all messages are representations of business events. CEP is about messages, EDA is about business events. CEP can be used to implement EDA. You might say: EDA is CEP at the business level.

In response, Giles Nelson of Progress Apama, elaborated on the relationship with SOA, EDA and CEP with several key points. Joe McKendrick’s echoed a similar point of view in his post Why 'Event Driven Architecture' is more than Complex Event Processing. So also Udi Dahan, who illustrated, with a nice order-to-cash process example, how these concepts play together in a real world business problem. He summarized his position with the following remark

CEP, while being a challenging engineering field, and managing the technical risks around it necessary for a project to succeed in some circumstances, and really shines when used under the SOA/EDA umbrella, it should not be taken by itself and used at the topmost architectural levels.

Jack concludes his post with emphasis on the importance on EDA saying  “I think EDA will definitely and radically change the way we currently look at business applications, including SOA”.

We have covered this debate in the past from an architecture perspective aswell. There appears to be a lot of confusion on how CEP, SOA and EDA relate to each other and its largely because of the vendors. It would be interesting to get a perspective on how these technologies are being adopted in the enterprise. What is the role of CEP in your enterprise? and how are they being used in EDA and SOA intiatives?

SOA, SOA 2.0 and EDA Defined and Illustrated with CEP/EP by Tim Bass Posted Nov 12, 2008 2:11 AM
Re: SOA, SOA 2.0 and EDA Defined and Illustrated with CEP/EP by Tim Bass Posted Nov 12, 2008 5:28 AM
Re: SOA, SOA 2.0 and EDA Defined and Illustrated with CEP/EP by Dilip Krishnan Posted Nov 12, 2008 9:30 AM
Re: SOA, SOA 2.0 and EDA Defined and Illustrated with CEP/EP by Alex Vasseur Posted Nov 12, 2008 5:40 PM
They are complementary, thus they are not the same ... by Hamza BENMANSOUR Posted Nov 12, 2008 3:33 AM
Coming to Devoxx? by Paul Fremantle Posted Nov 12, 2008 4:42 AM
  1. Hello Dilip, The relationship between CEP, SOA and EDA was presented (at least) as far back as September 26, 2006 in the presentation, SOA, SOA 2.0 and EDA Defined and Illustrated with CEP/EP, located here: http://www.thecepblog.com/2008/11/10/soa-soa-20-and-eda-defined-and-illustrated-with-cepep/ Regarding the "confusion," we briefed this as far back as March of 2006. You can find the background here: http://www.thecepblog.com/2008/04/16/a-vocabulary-of-confusion/ Also, I recommend you read this follow-up post, CEP is Not a Just a Technology and Not Just a Tool, here: http://www.thecepblog.com/2008/11/10/cep-is-not-a-just-a-technology-and-not-just-a-tool/ Cheers and thanks for calling out our blog post! Yours sincerely, Tim www.thecepblog.com PS: I have posted around 25 CEP/EP related presentations on SlideShare (includes EDA/SOA/BPM, relationships, etc). Kindly refer to this post for more info: http://www.thecepblog.com/2008/11/07/new-cep-group-on-slideshare/

  2. Back to top

    They are complementary, thus they are not the same ...

    Nov 12, 2008 3:33 AM by Hamza BENMANSOUR

    David Luckham wrote two interesting posts on his blog about it : http://complexevents.com/?p=191 and http://complexevents.com/?p=209 Regards

  3. Back to top

    Coming to Devoxx?

    Nov 12, 2008 4:42 AM by Paul Fremantle

    I'll be talking about this at Devoxx http://www.javoxx.com/display/JV08/Complex+Event+Processing If anyone is going to be there let me know - this could make for interesting bar discussions! Paul

  4. Dear Dilip, I just noticed that it takes "too many clicks" to get to my online collection of CEP/EP slides (above in PS:) so, not to cause your readers to waste their valuable time clicking, here is a "one click link" directly to the slides: http://www.slideshare.net/TimBassCEP/slideshows Yours faithfully, Tim http://www.thecepblog.com

  5. @Tim,@Hamza Thank you for pointing to resources, It helps our readers get a further understanding of this technology space. Best, Dilip

  6. I believe that although lot of people had exposure with SOA in those past 5 years, only few had exposure to EDA and even less had hands on experience with CEP deployments. I have put things in perspective at http://avasseur.blogspot.com/2008/10/soa-eda-and-cep.html in a simple way using an "is an ESB a pre requisite to SOA" analogy - to which I am sure we can hear different voices even today. For folks interested with simple hands on CEP - check out http://esper.codehaus.org/tutorials/tutorial/presentations.html for a number of technical presentations and articles with sample code on CEP based on Esper. A good place to start for a wider view is also likely http://www.complexevents.com Alex

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.