Thursday, January 08, 2009

BPMN and BPEL

As I alluded in my earlier post , the BPMN 1.1 version lacked a serialization format and clear execution semantics. However, the BPMN 2.0 attempts to close this gap. Further the execution semantics of BPMN 2.0 leverage and build upon the industry adoption of BPM tools, experience with BPEL execution and research efforts of the wider community. There has been some debate around the relationship of BPMN and BPEL and it is captured on Ismael's blog. BPMN vendors bring valuable experience from BPEL standard, execution engines built around it and market experience to the table and it reflects in the specification also. The BPMN 2.0 specification team further clarifies the relationship between BPMN and BPEL in the InfoQ interview.

If I rephrase Manoj's response, currently i.e. until OMG ratifies the BPMN 2.0 spec, BPMN is a modeling standard and BPEL is an execution standard. Both are complementary in that regard and many BPMN models may be executed as BPEL processes. As BPMN 2.0 defines sufficient execution semantics, the implementation engines may start executing BPMN 2.0 natively, creating an overlap with BPEL 2.0. There will be significant consistency between the two from this perspective. Further, there will be different use cases for which the two approaches - BPMN models executed as BPEL and native BPMN execution - will be better suited.
PS: Standard disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.