Discover a new, very innovative, way to formulate and execute a business strategy Book Cover B = mC2

Business Strategy for a Multidimensional World



Update: 1/22/2008

BPML is a specification that has been deprecated and has moved to the OMG. It is being worked upon as BPDL

I have written recently an article that explains my position on Business Process Execution standard that you might be interested to read.

I also started to work on the specification of a process centric, service oriented, model driven programming model called wsper that relies on

I have decided to discontinue analysis relative to BPML. Last month, even SAP, once a strong supporter of BPML has announced that it will support BPEL4WS:

"SAP will base the BPM technology on an emerging standard, Business Process Execution Language for Web Services. In the past, the company considered using Business Process Modeling Language in its business process technology stack."

My last commentary on the subject can be found below. I have also written analyses on prior versions of the spec available on the left end side menu.


BPML came in 3 flavors in 2002: BPML 0.4, BPML 1.0 (June Version) and BPML 1.0 "final Draft" (November 02) which I  comment here. This analysis builds on the analysis of the June version. You may also want to read about BPMN 0.9 (as in notation), a sister specification to BPML 1.0.

What is striking at first is the quality of this latest draft. The editorial job is much better. It also seems clear to me that everything that was open for further design or discussion in June has been closed or removed in order to release the standard before the year ends (Without a standard today, BPMI would have no chance to go on). To that extend, even the WfMC partnership seems to be now just a vague dream.

Another striking feature or lack thereof is WSCI. WSCI was touted last June by Intalio as an "ebXML Killer" and a critical spec for BPML itself. It was so critical that it has been removed. What a blow ! Can't wait until it is finally blown away at the W3C when the WS-arch realize how bad a spec it is.

The last striking feature of BPML is that the author of the spec now claims that BPML is about modeling "generic processes". Who knows what generic processes are, must be a new kind of processes. Maybe it would be nice to rename BPML as GPML. The consequence of this is that there is not a single business semantic in BPML. In case Assaf or other people are wondering what a business semantic is you may want to read this excellent paper from Bob Haugen and Tony Fletcher to measure how far BPML is from the reality. Other examples of business semantics that are needed for expressing business processes include the ability to relate ativities/work items to an organizational structure (users, groups, roles). This notion for instance has been in the WfMC standard for over a decade. You can also think that it is useful to separate the notion of activity and the service that implements that activity in a particular context. For instance, global companies need typically to develop common processes, but local "services" should be invoke when it comes to calculating taxes, providing contract terms and conditions, ... It also not uncommon for a company to have several dozen SAP systems ! It is likely in this scenario that the same activity in a process definition will refer to several service implementations in the different systems. BPML offer the locator attribute which enable part of capability, however, it forces you to either import your service hierarchy in the context of every process instance since the service URI must be coming from a property. It is important that the binding Activity/Service occurs outside the process definition such that service implementations can be substituted without changing the process definition. Writing and testing a business process is a very complex tasks. Once it is in production, the last thing you want is change this process definition and have to re-test everything. The business rules that relate a given activity to a pool of services (N:M relationship) must be defined outside the process definition itself.

Overall, the goal of a Business Process Definition language is to enable companies to separate business logic from the code that executes it. The "generic" approach of BPML will ultimately cause a lot of confusion on the usefulness of BPM technologies if one can only model a tenth of a fifth of half the business rules he/she needs to model within its business processes.

What's new (compared to the June version)?

a) The "synch" element has magically appeared such that now the control flow of BPEL4WS and the one of BPML are relatively well aligned (though BPMI was touting last August the BPML was already a superset of BPEL4WS).

b) The actions elements have been redesigned. These elements deal with the message flow of the process definition and are of course critical to the ability to define processes. This was somewhat poorly designed in the June release, it has not changed much. The semantics defined by BPML can only deal with "synchronous" request/response and solicit-response operations. Why this limitation when WSDL does not have it? It is also very strange when you consider a solicit-response operation (as a service provided by the process). How do you actually specify the work that needs to be done in response to the input message, in order to compute the response (output message)? This basically means, one cannot use solicit-response operations in a process definition, unless the output message is already computed prior to receiving the input message. This is un-usable. BPEL4WS by contrast has found a very elegant and simple way to deal with this. I am wondering how BPML could be a superset of BPEL4WS which such a broken message flow?

Where are we?

What was accomplished so far by BPML is modeling the execution of a series of "long-running" steps which can receive and send messages asynchronously. I am not saying that this is useless. As I said several time, this kind of code is hard to write and using this kind of concept to abstract it out is useful. However solving this problem has nothing to do with "BUSINESS" process. BPML is specifically designed as a better UML activity diagram metamodel, which only purpose in life is to simplify the development of "business components" as described in my paper. Assaf, the only "author" of the spec, has basically circled back to where he started in the summer of 2000: i.e. putting an XML language on top of code concepts and operating system features, nothing more, nothing less. To that extend, I like much better the approach of Collaxa which is not afraid to call "a line of code" a line of code and achieve the exact same result in a much more elegant framework than BPML. 

I find it personally very disappointing and disturbing that after almost 3 years in existence BPMI has achieved what it has achieved. It is funny because BPMI was created because WfMC was not doing much to evolve its standard in the modern world of e-business and I could content that BPML is even behind XPDL after 3 years of "hard" work and "aggressive" marketing! Sorry, but no serious market (tools and engine) can emerge from this kind of standard. So yes, Intalio's grand' pa' (Smith) and grand commander of BPMI can tell us everything about how "weird" this technology is (nothing else to say? really!), Intalio's big brother, SAP, can tell us it is going to implement BPML... I have heard that IBM is also supporting BPML. All the marketing in the world is not going to fill the gap for what people are demanding: a framework where they can define their process-oriented "business" logic.  They are looking amongst other things at defining and executing "tasks" or "work items" for their users, they are looking at linking their internal processes with B2B inter- and trans-actions... BPML, so far, is just a better way to write code but certainly not a strong metamodel where complex "business" rules can be expressed.

Incidentally, if you want to see for yourself the kind of marketing crap that BPMI is capable of, please read this article. Let me know if anyone believes what is being said in this article.

If you are not yet convinced that BPMI/Intalio have very "aggressive" marketing practices, you may want to read this article "Castor JDO: simply false advertising", by David Jordan. Note that Exolab is the open source arm of Intalio and Assaf is also the main actor behind Castor.

It would be good to do something about the first page of the spec. This has now been embarrassing for long enough: It says "Authors: Assaf Arkin". So either there are more than one author of the spec in which case they should also be acknowledged, otherwise "authors"  should be singular. Unless Assaf likes it this way.

It is also funny to see a "copyright" statement on behalf of after what happened with WSCI. If BPM was not such an important technology I would laugh about all this.

Jean-Jacques Dubray

Hit Counter