Confession time: BPM is a catch-all term for process execution mechanisms, workflow, and a few other concepts such as BAM, collaboration, and perhaps even Business Intelligence.
Many CIOs confuse BPM with SOA, primarily because BPM, similar to SOA, involves interaction with underlying systems in the IT infrastructure. When this interaction is done in an ad-hoc manner it can result in poor design and confusion with what value an SOA offering can bring.
(A recommended design would be to have SOA abstract and expose the IT layer to BPM, so that the business process is loosely coupled with the IT layer. This results in an efficient change management environment.)
The situation is further confused because most BPM tools tend to do precious little management and concentrate on execution, which directly relates to services and hence SOA.
A typical BPM modeling tool today will combine means of visually representing the process using a standard such as BPMN and then serializing the process definition for execution in another format, typically an XML standard such as XPDL. Good modeling tools will allow transformation of the serialized standard to other formats to prevent vendor lock-in, for example transformation of XPDL to BPEL.
So are there opportunities for CEP in BPM? Certainly a few categories exist, depending on the event footprint of the process:
* CEP processes as managed processes within a CEP framework, where a CEP process is queried for information as a service in a set of business processes.
* Monitoring the process execution events for analysis and even debugging – this is a form of BAM.
* Others to be mentioned in another post
…
Notes:
[1] Clearly there is a close relationship between the BPM and SOA and indeed it makes a lot of sense to look for vendors who do both and integrate them well… not mentioning any names of course…