At EPTS5 last week, a 2nd vendor proclaimed that CEP was merging with BPM (as a technology). So lets check this claim out against Connie Moore (Forrester analyst)’s recent blog post on “When to use a BPM Suite” and see how this compares to a CEP tool like TIBCO BusinessEvents (which we have previously compared with its TIBCO BPM+ cousins).
Connie gives the following indicators for readiness for a “BPM suite”:
- Processes change frequently.
That’s an interesting one. BPMN is the preferred model for processes, and it is a good way of documenting processes. And in model-driven BPM, you can elaborate a BPMN model with IT artifacts and thence generate appropriate automation.
However, another trick is to use dynamic process models – typically rule-driven or plan-driven, and both event-driven. So CEP tools like BusinessEvents are at least as good for “changing processes” with the slight caveat that the type of change is significant: pre-ordained dynamic processes, or just good old manual changes by a business analyst?
E.G. TIBCO BusinessEvents uses rules and state models to define (event) processing, as well as managed decisions. - Automate and monitor processes across the “value chain”.
Monitoring capabilities may be built-in at the BPM level, but usually you want to monitor processes against external metrics (like your SOA services, external events, etc). That’s a role for CEP.
E.G. TIBCO BusinessEvents can model a value chain as a state model, and correlate events in various ways to support business activity monitoring – including monitoring BPM. - Support cross-functional processes.
This is the “enterprise view” of BPM. Probably its true to say that CEP technologies have few enterprise modeling aspirations.
E.G. I have no “organization model” for example in TIBCO BusinessEvents, although I can usually define the appropriate metamodel as concepts, and enjoy full flexibility in how that interacts with events and rules and decisions… - Allow monitoring of status of work in progress.
CEP *does* allow for long-running stateful processes – and “self monitoring” is quite common – but again this is a general capability not an out-of-the-box fixed feature.
E.G. TIBCO BusinessEvents can query continuously the attributes of entities it is processing, and deliver the results, as they change, as events. - Extend the life of legacy apps.
The message here is that BPM can layer on existing apps (/ services). The same is true for CEP, which can invoke and control existing applications just as well.
E.G. TIBCO BusinessEvents can invoke services in TIBCO ActiveMatrix and BusinessWorks… - Collect work metrics or SLAs.
Metrics: event counters. SLAs: rules. CEP: check.
E.G. TIBCO BusinessEvents provides rules to operate against events, and detect when, for example, SLAs are trending to be breached… an example of SOA SLA is the TIBCO SPM product based on CEP. - Improve inaccurate, inconsistent or laborious manual work.
OK, CEP is not a workflow monitor or manager (although rule-driven workflows applications have been done). CEP is mostly about automated processes, or monitoring events from manual processes.
E.G. you could implement a state model for workflow queue handling in TIBCO BusinessEvents, but most people prefer to use the out-of-the-box variant from a BPM tool. - Capture process knowledge.
This comes down to documenting (fixed) processes in BPMN. Fine and dandy, but decision knowledge and inferred knowledge are missing. Some CEP tools can help fill this gap.
E.G. TIBCO BusinessEvents provides inference rules for deeper knowledge chains (think Zachmann “what” rather than “how”).
So: “CEP as a part of BPM” is not a slam dunk by the current narrow view of business processing. CEP augments and provides capabilities that help in BPM, but also provides other capabilities (BAM, operational intelligence, …). BPM 3.0? BPM+? edBPM? We’ll see.