CEP vs WSDL + SCA + BPEL

Reading Time: < 1 minute

Apart from classic Complex Event Processing (event abstraction across time, source, type and attribute) applications for situation-awareness type problems, TIBCO BusinessEvents is also finding uses in sophisticated / dynamic event-driven processes that cannot be fitted easily / entirely within representations such as BPMN, BPEL, etc. Of course, there are many other ways of deploying complex processes across services: consider the wsper project, for example, that aims to exploit and combine WSDL, SCA and BPEL [*1]. Their provided example, interestingly, also maps very nicely onto an EDA using a combination of state model + rules, which have the added advantage of declarative rules that can handle any out-of-process (i.e. complex exception) event [*2] – something BPEL can’t handle [*3].

Notes:

[1] I don’t agree with the wsper metamodel (documented here), which defines an “event” as a subclass of operation, and “state” as an attribute only of event. This seems far too restrictive, although it might fit wsper’s SOA perspective.

[2] Consider the (unfortunate) case whereby, in the supplied HR example, your job candidate “expires” (RIP) in the middle of this process.  You would not want your business process to attempt communication with the dead – you need some flexible, declarative, cross-process exception mechanism. This is typically handled by a “rule”…

[3] On the topic of BPEL we also note one effort looking at retrofitting “event processing” constructs into BPEL. Why not event-driven COBOL, too, one wonders? A more interesting project would surely be standardize the event modeling level (e.g. extend BPMN for CEP, or map CEP to BPDM), rather than trying to force event processing into BPEL (insert here visions of pigs in party frocks). No doubt this topic will come up for some (lively) discussion at the EPTS meeting on CEP standards next month…