The difference between complex event processing and event stream processing

Written By:
Published:
Content Copyright © 2006 Bloor. All Rights Reserved.
Also posted on: Accessibility

If you talk to some vendors you could be forgiven for thinking that ESP (event stream processing) and CEP (complex event processing) are one and the same. Indeed, I have previously suggested that CEP is a misnomer because the events in event processing are actually quite simple entities. This is true but it is not the whole truth.

A typical ESP application is one such as algorithmic trading (stock tick information comes in, you apply calculations and rules, and decide on whether to buy or sell). That is, you have an event, a condition and an action. The event, in this case, is very simple. Similarly, RFID inputs are simple events.

However, CEP is about what we might call über-events or, more specifically, patterns of events. In fraud detection, for example, the fraud ‘event’ may in fact be made up of a sequence of inter-related events which, while simple on an individual basis, are complex when combined. Further, the individual events that make up such a complex event may be spread out over time, so a CEP engine needs to be able to handle long running processes. Moreover, the sequence in which these events can appear may vary so CEP needs to be able to handle non-linear vents.

To cut a long story short, CEP is a superset of ESP.

The fact that CEP handles processes raises another question: couldn’t you do all of this using business process management (BPM) or, for that matter, a rules engine? No, actually you couldn’t.

AptSoft, which is a CEP vendor, has a particularly good user story that illustrates why and where CEP works and BPM and rules engines don’t. Its customer is an airport and its application is baggage handling (not baggage tracking, which is an RFID application). Now, in essence, this is quite simple: luggage goes from baggage handling to a plane, or from a plane to a plane, or from a plane to baggage handling. Clearly you could model this using a BPM process. However, what you would be modelling is a perfect day. And we all know that airports don’t have perfect days—planes are delayed all the time, the luggage ramp breaks down, whatever—so the key to baggage handling is dealing with exceptions. Further, the exceptions are always different and have to be managed in real-time, which is why you need a CEP engine that has been designed specifically for this sort of (or any similar) scenario.

Going back to our original discussion point, it is worth noting that AptSoft does not compete in the ESP market. It is confident that it could do, say, algorithmic trading but as there are various companies already addressing this market it feels it is better placed in focusing on truly complex environments where its technology gives it an edge.