There has been a lot of twittering between some of my colleagues (@CMatignon, @mgualtieri, @johnrrymer, @NeilRaden) around rules, decisioning and CEP. As such I thought I would write a quick blog post on the topic as it seems to me that the reason for confusion and for some of the back and forth I see on this topic is a function of a few things:
- Complex Event Processing (CEP) involves both event correlation and then the processing of the resulting complex event
- Processing a complex event involves deciding what action to take
- Correlating events and making decisions both involve business rules and analytics
Of course the fact that trying to become more event-centric and real-time is a driver for both CEP adoption and for getting serious about managing decisions means that many companies are dealing with both decision management and event processing issues at the same time.
The best way to think about decision management in a CEP context is to ask yourself which decisions you would make the same way regardless of how you knew a decision needed to be made. If all the events that told you it was time to act changed but you would make the same decision about what to do then you have a separate business decision that you should be managing.
For instance consider ATM fraud, often used as a CEP example. The correlation of events to determine that something fraudulent might be happening (transactions too close together in time for their separation in space for instance) is one thing. The decision as to what to do for the specific customer/account when fraud is detected is something else. After all, no matter how I detect the fraud, I will likely have a set of business policies that determine how I should inform a customer/what action I should take. One could do both inside a CEP environment but non-CEP systems might well want access to the decision so this should be managed separately.
Of course some CEP platforms also have good support for defining the rules within a decision and some business rules management systems (BRMS) have support for event correlation. Picking a product with both capabilities gives you some wiggle room when it comes to deciding what is decision management and what is event processing.
There’s more in some other posts – the ones on decision agents (the event-centric equivalent of decision services) are wort checking out especially.