Skip to main content
CEP needs business rules too

I saw a comment on IT Analysis that talked about The difference between complex event processing and event stream processing. I liked the distinction drawn but have to take issue with the comment Philip makes agreeing with a CEP vendor about "why and where CEP works and BPM and rules engines don't. "

Its customer is an airport and its application is baggage handling...Clearly you could model this using a BPM process. However, what you would be modeling is a perfect day. ...—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

Now I agree that this is why CEP complements BPM - the BPM engine handles the normal state and the CEP engine can handle exceptions. Where I disagree is in the idea that you don't need a business rules engine or a business rules management system. In fact I would go so far as to say that the fact that there is a case to be made for both BPMS and CEP is precisely why you do need a business rules management system!

Managing the events in real-time is clearly a specialty CEP capability. Deciding what to do about these exceptions is a business decision. The normal, day-to-day business process will also need some or all of those business decisions. Partner airlines or other external systems as well as other internal processes might want to use those decisions and decisions about routing baggage might depend on non-baggage related rules like those agreed in contracts with partner airlines on treating gold customers.

Keeping these business decisions in a business rules management system would allow them to be managed and re-used effectively across these different systems. Embedding them in the CEP system just means repeating them one more time. On top of which you add yet another place where you might want to start applying predictive analytics instead of just being able to analytically enhance the business rules environment and so benefit everyone.

Just because a product can handle business rules locally does not mean it should.

There's more on why BPMS and BRMS should be separate here and in Separating rules and process on Sandy Kemsley's ebizQ blog and much of the logic applies to CEP too.

related posts