CEP and ECA / ESB routing services
Event Driven Architecture can be broadly classified into two distinct architectures: CEPs and ECA. Here are some basic distinctions. (some people classify into three: ECA/Simple events, Stream based and CEP thus separating streambased and CEP).
Streambased Complex Event Processing (CEP) systems process high volume of stream-based events received in a defined time window. On contrary, rule based or condition based systems respond to external situation/triggers, called as events, and typically ECAs deal with each event individually. ESBs routing service is an example of ECA.
Streams based systems typically process/joins a series of events to match a pattern or deduce an inference or predict a trend. In contrast, rule based ECAs typically follow a decision tree/table/if-then-else rules to forward the event some destinations or to trigger some actions. ECAs often deal with transformation of data and fan-outs.
Stream based system need to be optimized to give high performing required for a high volume of incoming stream of events.
In summary, stream based event processors try to detect a pattern from incoming data in a given TIME frame. Such processors most commonly do not "act" on "AN" event. They "process" a series of incoming data received in a given time frame. In other words, the stream based event processors "identifies situations" or generates events. (however, Some stream based systems work on "individual" event by setting the time window very small or via an attribute dictating the system to act on individual events as against a series of events.)
In contrast, rule based or ECAs “act” on individual events.