ebPML.org

Carnets de bord

 

There are five major business process definition languages being specified today. 


BPML 

XLANG

WSFL

WS-BPEL

EDOC

XPDL 

UML 2.0 

BPMI.org

Microsoft

IBM

BEA, IBM, Microsoft

OMG

Workflow Management Coallition

OMG

See also the summary from the Cover pages.


The meta model of each language vary quite a bit from one specification to another. BMPL, XLANG and WSFL are all relying on the concept of Web Services. They also clearly define a data flow (as XML documents), a control flow (block structured or transition based), a message flow (web services) and transaction flow. However, they do not spend much time on specifying how users may interact with a BPMS. The WfMC has mostly focused on that problem in the past (see "user friendly" column below). On the other hand, the WfMC specification does not support a real message flow and only a very limited data flow (process variables). The following table summarizes the differences between each data model. (Please note that I do not have the UML 2.0 data points yet)

Note that Stefan Haberl provides another view of this matrix which I like better.

Specification Control flow Data flow Message flow Transaction "EAI friendly" "B2B friendly" "User friendly"
BPML 1.0 Block structured XML Web services & Global model yes no no no
BPML 0,4  Block structured XML Web services yes yes no no
XLANG Block structured XML Web services & Contracts yes no no no
WSFL Transitions XML Web services & Global model yes no no no
BPEL4WS Block structured XML Web services yes yes kind of no
EDOC Event/Notification Entities Events no yes yes no
XPDL Transitions Process variables Nested and chained processes no no no yes
UML 2.0 Transitions Transitions and data buffers collaboration model no ? ? ?

This table makes it pretty clear: the foundations of a modern BPMS are XML and Web Services and I totally agree with this. However, this is far from enough.

I have added "B2B EAI and User friendly" columns to measure how serious each specification is in dealing with the 3 main axes of a BPMS. As you can see, none of the new generation of PML is taking into account user interactions, though they are essential to resolve business process exceptions. None of them is considering ebXML (or B2B semantics) as a first class citizen though they all claim that the main justification for BPMS is to handle and process the flow of business messages comes into an organization every day. Lastly, only BPML has a few semantics (produce and consume) which come close of those needed for enterprise application integration.

One of the role of this web site is to pin point these discrepancies, and stimulate each consortium to complete their metamodel. Will all PML specification converge? unfortunately, I think the answer is no. There are schools of thoughts (e.g. block structured versus transition based) as well as specific requirements (e.g. transactions) which will prevent the convergence. I do hope that there are some level of convergence at the "layers" of a PML: control, data, message, transaction flows. This will make the exchange of business process definitions easier, as well as enable the concept of libraries of business processes (IE5.0 only).


Here is a pointer to an article from web services architecture that compares and constrats BPML, WSFl, Xlang and BPSS.

Business Process Standards for Web Services: the candidates (David O'Riordan)