At the BPMN Workshop in Lucerne two weeks ago I presented a talk called “Fulfilling the Promises of BPMN 2.0.” The basic point was that the BPMN 2.0 specification by itself is insufficient to deliver on the standard’s two most fundamental promises: first, as a semantically precise process notation, that the meaning of the depicted process logic is unambiguous from the diagram alone; and second, as an XML process description language (even limited to non-executable model elements in the Analytic subclass), that the serialization rules are sufficiently unambiguous to allow automated interchange between tools. Fulfilling those promises requires additional constraints, on modelers in the form of style rules,and on tool vendors in the form of serialization rules that I call the BPMN-I Profile. To address these problems, I created two BPMN validation tools based on XSLT 2.0. One checks models against both the rules of the BPMN 2.0 spec and the style rules, and another one checks them against the BPMN-I Profile.
Process Modeler for Visio from itp commerce implements the style rules directly inside Visio, and that works great, but now other tools are beginning to export BPMN 2.0 XML, and I wanted to explore an online tool for them. I hosted the AltovaXML engine (and my XSLT’s) on a website and got a web programmer to wrap it in an iframe accessible from my website. Unfortunately I wasn’t really happy with the robustness of the web application.
At the Lucerne workshop, Marco Brambilla of Politecnico di Milano and founder of a company called WebRatio made a presentation on WebRatio’s rapid model-driven approach to generating web applications integrated with BPMN. After the meeting, Marco contacted me and offered to replace my creaky web app with one generated by WebRatio. While I was thinking about it, he emailed me to say, “We’ve already done it, and here is the URL.” I don’t know how WebRatio did it exactly – I provided no information about either my XSLT or the web app surrounding it -but it works great!
The link is www.webratio.com/bpmnValidation. I invite you to try it out. You need to upload a file in the BPMN 2.0 XML format. The tool performs four checks: 1)well-formed XML; 2)valid per BPMN 2.0 XSD; 3)BPMN 2.0 and style rule validation; 4)BPMN-I Profile validation. Thank you, Sebastian and Aldo of WebRatio! And you as well, Marco. WebRatio… I’m a believer!
The implementation is still possibly fragile due to the single-threaded AltovaXML engine, but we are talking about reimplementing as a Java app using XSLT libaries, all generated by WebRatio. Please try out the tool. Bugs are most likely in my XSLTs, so please report them to me.