The relationship between CEP, EDA and SOA

The relationship between CEP, EDA and SOA

Posted on November 03, 2008 0 Comments

I published a post on our sister CEP blog last week. The topic has wider relevance than CEP so here's a link to it and I include the original text below. Enjoy.

I’d like to add my voice to the debate this week (here, here and here) on how Complex Event Processing (CEP) fits into the wider software architectural themes of Service Oriented Architectures (SOA) and Event Driven Architectures (EDA). Although I think I know how these three areas relate to one another fairly well, I was able to further clarify my thinking this week by spending some time with Neil Macehiter of Macehiter Ward-Dutton Advisors, a UK based software analyst. I found our discussion enlightening as Neil had a slightly different way of looking at these things than I had heard expressed previously. So let me try and express my own view on this in as clear a way as possible.

  • CEP is a technology. SOA and EDA are not technologies. SOA and EDA are philosophies for the design and build of modern distributed computing architectures.
  • A SOA is a loosely coupled set of services, the functionality of which closely reflects an organisation’s business functions and processes. A SOA will typically use modern, Web services technology and standards for implementation, but is not required to. Building SOA infrastructure requires much thinking about the services that the SOA will use.
  • An EDA is a loosely coupled architecture, the endpoints of which interact with one another in an event-driven fashion. Information flows around the EDA as events. An EDA will have endpoints which produce events and endpoints which consume events. An EDA works in a “sense and respond” fashion. Building an EDA requires much thinking on the event-types that the EDA will use.
  • An EDA may use business focused services as endpoints. An EDA may therefore also be a SOA but it does not have to be.
  • CEP is a capability within an EDA, providing analysis and matching of multiple events being sent between endpoints. You can have an EDA without CEP.
  • If you’re building your architecture and focusing on defining event-types, it’s very likely you’re building an EDA.
  • If you are using CEP then you have at least the beginnings of an EDA because you will have been focusing on event-types. Your EDA may a simple one, with one event producer and consumer, but it’s still an EDA.

Comments welcome!

Giles Nelson

View all posts from Giles Nelson on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.


Comments are disabled in preview mode.

Sitefinity Training and Certification Now Available.

Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.

Learn More
Latest Stories
in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Loading animation