Bruce Silver has blogged on BPMN 2.0’s current status, and of interest to the CEP community are the new event handling features:
- “Non-interrupting events”: events can occur that are handled in a process without derailing it. Of course this is standard behavior in a CEP tool: events can be processed independently and later combined with other event processing…
- “Escalation events”: events generated internally by the process. Again, standard fare in CEP tools. Bruce on comments the power of this for ad hoc and semi-structured behaviors, and indeed some CEP use cases are for just monitoring BPM / SOA systems, intepreting all types of generated events…
- “Event subprocesses”: event handlers for events. Again, standard fare for CEP to do some processing to any event, in parallel with other event processing.
From these it seems that BPM is taking a step towards more sophisticated event handling, or at least a step up from “basic” event handling. Of course, complex event processing additionally involves continuous event processing, whereas BPM usually involves human interactions and workflow control / management, so there continues to be differentiators.
Bruce makes an interesting comment on business rules too: that “routing logic in process gateways” are not “business rules”. That doesn’t really make sense: for sure some gateways will be process-housekeeping decisions of little interest to the business user, but others will surely embed business-critical decisions. On the other hand, it has long been acknowledged that a best practice for BPM is to delegate such business decisions to a managed decision service – hence the explicit new business rule (aka decision) task in BPMN 2.0. And,in the CEP world, for tools like TIBCO BusinessEvents to invoke a decision managed by its Decision Manager tool.