A process design ecosystem demands a reliable way to transfer the process definitions between tools. Bruce Silver’s post on Model Portability in BPMN 2.0 is very timely indeed. What he demonstrates is four different modeling tools, drawing BPMN diagrams, writing the diagram as XPDL, and then reading those into Sketch Pad (an open source process modeler) and displaying the result.
What Bruce is showing is the screen shots from an XPDL conformance test. Process Modeler for Microsoft Visio from ITP Commerce has passed the test and have demonstrated complete ability to exchange BPMN diagrams at the Simple conformance level.
It is more difficult to do this than you might think. The ability for XPDL to do this is the result of many years of experience. Almost five years ago, four different leading BPM vendors were sending such process models to the Cape Visions analytics server, each integrated using XPDL. There were three different open source engines which used the same open source process modeling tool (JaWE) and they too were integrated via XPDL. There are many other example of products that use XPDL internally, and for standard import/export. Getting this to work required hundreds of adaptations allowing for all the different model variations.
The OMG is promising to put this capability directly into the BPMN spec. Great, we can always use another transfer format, but it is a little naive to think that the first version will work when there have been no tests of encoding a large number of actual models in it. There is a deeper problem: while the WfMC has taken an “inclusive” approach to attempt to encompass all the possible process models, the BPMN committee has tended to take a “proscriptive” approach, specifying how a process engine “should” work. That may seem helpful if the use case they have in mind matches your use case, but it is unlikely to allow for portability of any of the more exotic approaches to BPM. Time will tell; BPMN 2.0 is expected to take 6 more months before release.
Bruce is hoping that the IOS proposal will gain some of the features that XPDL has today. The three different conformance classes is an important step. The thing is that XPDL has been put through the trials, and it contains features that are necessary to allow to exchange of processes. Some of these capabilities are not obvious at all. I think we are all hoping that the BPMN committee gets all this into the spec on the first release. But then Bruce says “Generally speaking, OMG would rather take cyanide than follow WfMC’s lead on anything”. Seems a little silly to me – but then maybe it is just me, being a huge WfMC fan.
It is important to remember that standards are made by user adoption, not by committee ratification. There are graveyards full of well intentioned and technically superior standard proposals, that simply failed to provide an upgrade path from what people are using today. The BPMN committee has consistently held the position that upgrade from XPDL is not their problem. Maybe it isn’t.
One thing is sure: getting model portability to work will take significant focus, as well as broad testing and demonstrations that it works. It won’t just happen by accident.