One of the issues with earlier versions of BPMN is that they do not include a specific XML schema for describing a process. Version 2 resolves this with the inclusion of an XML schema as part of the standard. So I was really looking forward to BPMN 2, as it would make automated parsing and analysis of a BPMN model much easier and more predictable.
Unfortunately, the tools available for creating BPMN models don’t generally implement that specification just yet. Most BPMN tools claim to implement the BPMN 2 standard, but for the most part they implement the BPMN 2 graphical notation and not much else. Several of them include some variation of the XML standard with tool-specific extensions, which is of no particular help to me — I want to parse the standard to enable maximum portability. A fair number of tools save their models in XML Process Definition Language (XPDL); others use XML Metadata Interchange (XMI). While both of those are good standards for particular uses, neither one is ideal for my purposes. I would really like a design language that is accessible to business analysts, and that generally means a graphical notation.
The one bright spot on the scene is Sparx Enterprise Architect. I’ve used this tool in the past for various projects at work. It is an outstanding tool; unfailingly standards-compliant in my experience. And this time I was not disappointed — not only does the tool create BPMN 2.0 models, but it can actually save them in BPMN 2 XML. And the icing on the cake is that the price is dirt cheap. These days its running about $135 for a personal license; the “all you can eat” version tops out at just over $300. Compared to the thousands the competition charges, it just can’t be beat.
And most importantly (to me), the output is easy to parse. Now I just need to figure out how to add some extensions that will show up in the XML.