The Portability Challenge

In my previous post, I discussed how the meaning of BPMN portability differs between BPDM, XPDL, and students in my BPMN training. Today, BPMN serialization is essentially a two-horse race: it's XPDL 2.0 (maybe 2.x), or BPDM. Don't tell me "these are not competing standards." As far as BPMN serialization goes, of course they are. But that doesn't mean they are fundamentally trying to do the same thing.

XPDL 2.0 has a head start in the marketplace, but BPDM (published only in draft form) is the "official" one from OMG. So it could go either way.

Surprisingly, however, neither standard seems to place top priority on what seems to me fundamental in any portability standard: the ability to create a model in tool A and - except for non-standard elements - open and manipulate the model in tool B. I mean, how basic can you get? You can do that with BPEL, for instance.

Keith Swenson of WfMC, the home of XPDL 2.0, posted the beginnings of an "interoperability" compliance test last year. This was a good start, but they didn't really keep it going. Also, they set the bar too low. The test consisted of 6 Hello World-type diagrams: a process with a single task, an exclusive decision and merge, a parallel split and join, conditional split without merge, exclusive decision and merge with swimlanes, and a single subprocess activity. I mean, if different tools can't serialize those trivial things the same way, what was WfMC thinking? Also, I would say that several of the diagrams themselves are incorrect BPMN, for example using an OR-gateway to merge an exclusive split or a parallel split. But let's not quibble about that stuff, which is easy to fix. Let's get on to the challenge.

The BPMN spec includes a Voting Process sample to illustrate diagram semantics and mapping to BPEL. It includes most, if not all, of the essential elements of a BPMN diagram, including subprocesses, events and message flows.

Here it is:

voting.jpg (main process)

discussion.gif (discussion subprocess)

Coincidentally, the BPDM developers have included the Voting Process example in their supporting materials for the serialization. Here it is:

voiting-bpdm.jpg (main process)

discussion process.jpg (discussion subprocess)

I propose that XPDL and BPDM both publish their respective serializations of the Voting Process diagram in the BPMN spec, and that vendors use this diagram and serialization as a portability test for their own tools. If they convert Voting Process to the same XML, I call that portable, whether the layout is preserved or not. Lest you think that such a challenge is "wired" for BPDM, let me point out that the BPDM Voting Process sample diagram is not, in my view, valid BPMN 1.0 or 1.1. Maybe it's BPMN 2.0 (??), but any student in my BPMN training can point out several ways that OMG's redrawing of the diagram violates what we call BPMN today. (OMG claims that BPDM is the serialization for BPMN 1.0 and 1.1, not just BPMN 2.0, which is still 18 months off.)

So I think this is a fair fight, and both OMG and WfMC should be motivated to win it. Keith, Robert, Antoine, Phil? Whaddya say?