Bruce Silver's BPMN2 Interchange Update

Scott Francis
Next Post
Previous Post
Bruce has been writing about BPMN2 model interchange for some time, and I’m a fan of the work he’s doing in this regard, and the light he’s shining on lack of vendor effort. Here’s his latest take on the status of things:
Last summer I posted on the challenge of achieving process model interchange via the BPMN 2.0 standard.  In the half year since then, vendor progress toward that goal has been about zero.  It seems that vendors, in particular the ones that drove the standard, don’t really care about this most fundamental user expectation of any standard.  Ah well, no surprise there…  But in the past couple weeks, some encouraging developments.  Activiti and BonitaSoft – both are open source startups with a BPMN 2.0-based BPMS – have begun to tout BPMN 2.0 import and export.  Neither one supports even the Descriptive subclass of the spec (what I call Level 1 in the training), but  both vendors are full speed ahead at expanding the capabilities of their process engine.
I’ve always felt (even when I worked at Lombardi) that interchange would be best served in the open source market – no single vendor has much impetus to do it – and invariably there would be bugs that the vendor doesn’t view as high priority (hey, the lombardi to oracle transformation exhibits some obscure bug, not sure whether lombardi isn’t exporting right or oracle isn’t importing right… think either vendor ever wants to fix that?  But in the open source world – even if the sources and targets are NOT open source, if the “interchange” (the spec) and the “transform” (the code that does the work) are open source, then (at least) developers who experience issues can actually attempt to fix them (even if those fixes are a temporary hardcode or hack). Bruce goes on to comment on IBM:
It will be interesting to see if IBM takes Lombardi Edition in a BPMN 2.0 direction; I’m not sure Phil Gilbert is a believer in its value.  If not, when Activiti and BonitaSoft finish the Common Executable subclass of BPMN 2.0, the BPMS marketplace could get very interesting.
I think Phil Gilbert’s issue with BPMN2 was that it got lost in the weeds (my interpretation based on reading his blog posts at the time). For example, every BPMN2 xml I’ve seen so far has several vendor-specific extensions (which are allowed by the spec, but likely meaningless to other tools until someone writes the adapters). As BPMN2 was getting started he was a fan and wanted it to succeed, and he drove lombardi to be one of the early adopters of a native BPMN 1.0 engine (not that it covered 100% of the spec- but there was no lossy transformation to some other format to interfere with the interpretation of your BPMN – Model preserving, to use Keith Swenson’s terminology).  Certainly, BPMN2 implementations to-date have failed Phil’s test of providing tools so good that no one needs to bother to read the XML behind the model… I don’t have any inside knowledge of IBM’s stance on BPMN2 with respect to their products, but I, too, will be interested to see what shakes out at Impact. If they don’t make progress it might be interesting to write a BPMN2 exporter or importer. But it is a fair amount of work to do as an outsider.  I can see why IBM might not view interchange as a high priority – again, a good argument for an open source implementation of interchange. As if to underscore my feeling that open source will pave the way, Activiti releases this video of an import of BPMN2 from another editor into Activiti:  
Pretty nice demo. I do wonder if the import/export functionality would be better off as a standalone interchange open source project…
  • Quick question for you all: do you really think that 2.0 makes any difference for any vendor?
    In other words: what would be the selling value of moving in the direction of increased interoperability or even more complete support for BPMN 2.0? Especially for big vendors, I would say basically ZERO.

    • It isn’t zero – but I’d say vendors ALL have an incentive to implement import – maybe not a big incentive. There are modelers that don’t do execution (ARIS for example). Likely it would be A Good Thing if your executable BPM could import someone else’s BPMN2 (Activiti has just done this – though as open source, we’ll stipulate they may not have the same motivations as a commercial vendor).

      The question is, how do you get them to support export :)
      (open source)