CEP is to Architecture as SOA is to Architecture

Tim Bass
07-25-2008 11:38 AM
I am often asked pointed questions (mostly from the stream processing crowd) like, � What product does CEP?�* Sometime it seems my answer determines the fate of that relationship, as my feet are grilled over the CEP-fire to be beat of jungle drums!* The amount of money I have lost in deals that did not go through because I refused to sprinkle holy water on a vendor�s product and call it �CEP� is staggering, quite frankly.

CEP describes an architecture, just like SOA describes an architecture and just like EDA describes an architecture.

For example, you do not buy an SOA. * An SOA describes an architectural style of programming via components that are involved as services in a distributed network architecture - a service-oriented, or service-based architecture.

The concept of CEP does not have �the A-word� like SOA and EDA, but none-the-less, CEP describes an architecture, not a product.** Do not make the mistake of thinking in terms of �buying CEP�, just like you do not buy an SOA or an EDA.* You think, plan and design in terms of CEP, just like you should do in an SOA or EDA.* These are constructs, not products.

In other words, for �true CEP� you need a number of components, some of the components might be in the architectural style of SOA, others might be in the architectural style of EDA.** Your solution architecture for solving a complex event processing problem might have request-reply transactions, or it might have fire-and-forget messages.* You might have a Neural Networking component for analytics and a rules component for filtering, mediation and scheduling.* You might even have a stream processing component performing as a high performance filter and pattern matcher on streaming data where the output is forwarded to a Bayesian Classifer for further processing.

My key message in this post is that CEP requires a number of technologies to solve complex distributed computing problems.** Do not be fooled into thinking that a single product is �CEP� no more than a single product is SOA or EDA.

Source...