BPMN 2.0 works: Integrating 8 different BPMN modelers with camunda fox

June 18 2012 by Jakob Freund · 5 Comments

BPMN-Toolchain

BPMN-Toolchain

Since the camunda fox BPM platform relies on standards, it is quite easy to integrate it with different BPMN tools that are dedicated to business analysts. This makes sense, because business analysts, requirements engineers etc. don’t want to map their processes with the tooling that is used for technical process implementation, while this is the exact environment the developers etc. want to use when making the process executable (e.g. Eclipse IDE). In certain “BPM-Suites”, those developers are often forced to use some zero-coding approach, where they have to implement the whole process application, including GUI etc. with wizards, forms and the like, although they’d love to just implement it directly in the programming language they already know (Java in our case) and would be way more productive doing so.

Therefore we recommend a toolchain, where you have different environments for business analysts and process application developers, and those environments (i.e. tools) should be integrated to keep the BPMN diagrams in synch. So how does this work if there are different BPMN tools dedicated to business analysts out there? Hopefully BPMN 2.0, as a standard including diagram interchange between the tools, is supporting this idea.

It works!

BPMN-Tools working with camunda fox

BPMN-Tools working with camunda fox

First things first: I tried 8 different BPMN tools and created a demo process in BPMN 2.0, exported it as BPMN 2.0 XML, added the attributes for technical execution and then deployed and executed the process. So this worked! In all cases, I could have a look at the running process in fox cockpit (our tool for Monitoring etc.), and cockpit e.g. showed me at which point a running process instance was waiting for user interaction – actually I could see that in the original BPMN diagram from the respective Business Analysts’ tool! In my demo application I also created a little graphical “audit trail”, meaning there I can also see which steps have already been executed in a running process instance, who completed the task, the duration time for this task etc. And all that displayed in the diagram that looks completely like the one you get in the business analysts’ tooling, which is very helpful for getting a better acceptance and understanding for process automation on the business side.

Almost all tools (except BOC Adonis and Enterprise Architect) were able to import the demo process as BPMN 2.0 – XML, so I didn’t have to map the process from scratch every time I tried a different product. Overall, this is a very promising signal regarding a standard based BPM roundtrip!

Well, as always there is a catch or at least some issues, most of them concerning the layout information included in the DI. In most cases I directly reported them to the respective vendor, and some already promised me that they will be fixed with the next release. It is also a bit disappointing, that a widespread product like ARIS (vendor: Software AG) still does not support neither import nor export of BPMN 2.0 – XML (at least that’s what I figured out, would be glad if someone could prove me wrong). But maybe that’s just another indicator that the market for BPM software is experiencing some major transformations anyway?

BPM cycle based on camunda fox

BPM cycle based on camunda fox

Last but not least I have to admit that “roundtrip” is not the same like “roundtrip”, meaning there are some more requirements relevant than just im- and exporting BPMN 2.0, like the modeler regarding extended (proprietary) attributes needed for process execution (otherwise they get lost during im- and export, which is a bad idea if you have more than one iteration in your roundtrip), an API for a more comfortable integration than manually hitting the im- or export-button in the tool, process model versioning including support for diffing an merging those versions etc. etc. That’s why we concentrated on Signavio Process Editor so far, a very powerful yet userfriendly BPMN tool that complies with all those requirements. But our roundtrip-tooling fox cycle relies on a very generic architecture, which makes it easy to use it for integrating other BPMN tools, something we already did in some customer projects.

Requirements and products

The minimum requirement for integrating a BPMN modeler is a correctly exported BPMN 2.0 XML file. Assuming this, we already have a working “forward engineering”, meaning the to-be process model can be transported from the business analyst’s tool to the developer’s environment. The way back (“reverse engineering”) requires a working import of BPMN 2.0 – XML files by the BPMN modeler, including the extended (proprietary) attributes in the XML that are needed by the specific execution platform, because only then they are also being exported in the next iteration of forward engineering.

One could argue that you shouldn’t use those attributes and instead stick to the standard (which you could do with camunda fox as well), but our project experiences have proven that those technical shortcuts are very helpful during the implementation phase, and BPMN 2.0 as a standard explicitly allows that kind of extensions for a good reason.

The following screencasts demonstrate the integration of some BPMN tools with camunda fox, while there is a detailed overview regarding the “roundtrip-readyness” of some BPMN tools in the fox userguide.

Demo Scenario

processing invoices

processing invoices

I have tried the tools using a little showcase I created some time ago (see picture on the left). It’s about a very simple process, where incoming invoices are first forwarded to the appropriate approver, then being reviewed and if approved will be paid and stored in an archive system (Subversion in this case, let’s keep it simple).

My testing scenario worked like this: First I created the process using the fox designer, then I created the surrounding forms etc., deployed the whole process application and tried it out. After that I imported the process model into the respective tool or created it there from scratch in those tools that do not support BPMN 2.0 import, then I exported it again as a new BPMN 2.0 XML file, wired it with the rest of the process application (when necessary, meaning only if the execution attributes got lost during the roundtrip), deployed it again and tried it out. The most interesting question was, which concrete problems I would face doing so, because as we all know: The devil is in the details…

I have also tried out a new feature we shortly created, the Process Diagram API (Kudos to Falko Menge). Using this API, I can actually enrich a BPMN diagram from any BPMN tool with runtime information, basically using an image file like PNG in the back and a coordinate system based on the BPMN DI information as a second layer. This is a very cool thing, and I was eager to see it working with all those BPMN tools ;-)

One last remark: In the screencasts below, you will note that the process diagram and the whole application is in German. This is because I originally didn’t plan to publish the results of my experiment, but then it went all so promising that I thought this could be interesting for people outside Germany as well. So I hope you don’t mind, I think the demo case is simple enough that you don’t have to understand every label in the diagram to get the basic idea…

Tools

Screencast: Der fox designer

Screencast: Der fox designer

fox designer (Website)

fox designer comes with the camunda fox BPM platform, and therefore I needed it as a reference product. Since this tool is delivered as a plugin for the Eclipse IDE, it is more suited for process application developers than for business analysts etc.

Screencast: Signavio mit camunda fox

Screencast: Signavio mit camunda fox

Signavio Process Editor (Website)

I could import the process created in fox designer without any hassled into Signavio. There I changed it a little, and then I used fox cycle not only for exporting the BPMN 2.0 – XML, but also creating a permanent link between the BPMN diagram in Signavio and the one in the developer’s repository (SVN etc., in my case just the local File System). In this way I can keep the two process models continiously in synch, in a very comfortable way.

Since Signavio support all execution attributes, including the ones that are specific for camunda fox, this tool is completely roundtrip-ready from a camunda point of view :-)

Screencast: Adonis mit camunda fox

Screencast: Adonis mit camunda fox

BOC Adonis (Website)

Unfortunately Adonis cannot import any BPMN 2.0, so I had to model the demo process from scratch. After doing so, I manually exported the BPMN 2.0 – XML and used the fox designer to add the execution attributes, before I deployed and executed the process. In the Adonis version I tried, there has been a nasty Bug in the DI part of the exported XML (as shown in the screencast), and issues with the Umlauts (a very common problem in Germany…). But afaik, BOC is already fixing both issues.

Screencast: ibo Prometheus mit camunda fox

Screencast: ibo Prometheus mit camunda fox

ibo Prometheus (Website)

I could import the BPMN 2.0 XML into ibo Prometheus without any hassles There hast just been some minor flaws concerning the Gateways and one sequence flow, but ibo promised to the fix them with the next release. With that release they will also support the execution attributes needed by camunda fox.

Screencast: Yaoqiang mit camunda fox

Screencast: Yaoqiang mit camunda fox

Yaoqiang (Website)

Since Yaoqiang, like the fox designer, works directly on the BPMN 2.0 XML files, I didn’t even have to im- or export anything. Yaoqiang also regards the execution attributes used by camunda fox (or at least most of them, and it seems to be easily extendable in case you need more), so this means we have a roundtrip-ready, business-friendly BPMN modeler that is even Open source! OK, if you compare this tool to commercial offerings like Signavio etc., you realize that there are a lot of important features missing here, like versioning etc.

Screencast: Visual Paradigm mit camunda fox

Screencast: Visual Paradigm mit camunda fox

Visual Paradigm (Website)

The concrete product is called “Business Process Visual Architect (BPVA)”, and it is obviously a tool from the MDA/MDSD area. I could import the process diagram without any hassles, changed it a little and exported it again. During this litte roundtrip the execution attributes got lost, and I also think that I have found two bugs during the export. I am going to report this to VP, but since we do not have any direct relations with the vendor so far, I have no idea if and when there will be a fix. However those bugs are no show-stoppers and I could easily finde a workaround.

Screencast: Enterprise Architect with camunda fox

Screencast: Enterprise Architect with camunda fox

Enterprise Architect (Website)

Enterprise Architect is a rather powerful and wide spread tool for software engineering, and that’s why I couldn’t wait to try it out. Unfortunately, EA does not support the BPMN 2.0 import, so I had to create the process model from scratch, just like in Adonis. But as soon as that was done, the export and editing in fox designer worked very well. One thing I really liked about EA was the “freehand mode”, that allows you to see the diagram as if it was sketched on a whiteboard. This is especially funny if you combine it with the current state visualization during runtime using the Process Diagram API :-)

Screencast: Business Process Incubator with camunda fox

Screencast: Business Process Incubator with camunda fox

BPMN 2.0 Modeler for Visio (Website)

This is a free Visio Addon provided by Trisotech. For ex- and importing BPMN 2.0 you have to use a “cloud app” available at BusinessProcessIncubator.com. You can only make such a “transaction” once per day, otherwise you have to register as a premium user. Overall the roundtrip worked quite well, though I observed 1-2 issues I am going to report.

Jakob Freund, CEO

Jakob Freund has profound experience in BPM projects, especially in the area of strategic BPM, process modeling and business IT alignment. He is author of the successful book "Real-Life BPMN", founder of BPM-Netzwerk.de and gives lectures at the university of applied science in Zürich and Bern.

5 Kommentare zu BPMN 2.0 works: Integrating 8 different BPMN modelers with camunda fox

  1. Hallo Jakob,
    vielen Dank für Deinen Rundblick zur Interoperabilität der BPMN 2.0, zeigt es doch, dass es hier voran geht.
    Was ich selbst als noch spannender bezeichnen würde ist, wie das Anreichern von Workflow Ressourcen der Engine in einem Modellierungstool möglich ist.
    Im Falle von Signavio haben wir es so gelöst, dass wir eine API für die Attribute zur Verfügung gestellt haben. Da es keinen Standard dafür gibt,ist das proprietär.
    Da Du das Ohr am Puls der BPMN-Sepzifikationsgruppe hast: gibt es hier schon Ideen, was da noch getan werden könnte?
    Viele Grüße
    Martin

  2. Hallo,
    das sieht alles sehr gut aus!
    Frage: Hat sich schon mal jemand mit dem yED Graph Editor auseinandergesetzt?
    Mein letzter Kunde bestand darauf (war aber auch nicht an einer Umsetzung in eine Engine interessiert)…

    Gruß
    Bernhard Huber

  3. Hallo Bernhard,

    den Editor hab ich mal angeschaut, aber der kann meines Wissens kein Ex- und Import von BPMN 2.0 – XML und kommt deshalb für einen Roundtrip nicht infrage :-(

    Viele Grüße

    Jakob

  4. Hallo Jakob,

    ein Kunde von mir setzt die X4-BPM-Suite von SoftProject ein. Ich fand das Produkt recht gut. Habe mir das mal angeschaut, zumal es eine Demo-Version dazu gibt. Für mich war das Thema BPMN recht neu, konnte aber schon bald erste Ergebnisse erzielen.
    Aktuell bin ich daran, mich mit BPMN 2.0 etwas näher zu Beschäftigen, damit meine Graphen auch standard-konform sind.

    Gruß

  5. Hallo Martin,

    nein, ich glaube nicht dass dieses Thema aktuell auf der 2.1 – RTF – Agenda o.ä. ist. Liegt sicher auch daran dass da schnell ein großes Fass draus wird, denn dir geht es soweit ich weiß darum dass auch tatsächlich weitere Attribute spezifiziert werden für das XML, die sich auf die Ausführung beziehen.

    Und hier hat halt jeder Engine-Hersteller schnell ganz individuelle Vorstellungen, was er braucht und was nicht. Wir gehen ja auch den Weg über die Activiti-Extensions als Attribute bzw. die Extension-Elements im XML, die dann vom Modeler durchgeschleift werden müssen. Im Prinzip ist es auch nicht schwierig für einen Hersteller, einen generischen Mechanismus anzubieten um solche Attribute und Extensions bearbeiten zu lassen. Insofern sehe ich das spontan sogaer eher als sinnvolles Requirement bei einem modellierungstool aufgehoben, als dass man jetzt die ganz genauen Attribute in die Spec bringt, wo dann sowieso kein Hersteller zu 100% bedient werden kann.

    Viele Grüße Jakob

Schreiben Sie einen Kommentar

Powered by WP Hashcash