For updated content from Camunda, check out the Camunda Blog.

BPMN 2.0 funktioniert: 8 verschiedene BPMN-Modeler mit camunda fox integriert

Sinnvolle BPM-Toolkette

Sinnvolle BPM-Toolkette

Da die camunda fox BPM platform auf Standards basiert, können wir auch relativ leicht verschiedene fachliche BPMN-Tools in den BPM-Roundtrip einbinden. Das ist sinnvoll, weil die Business Analysten, Organisatoren etc. nicht mit dem Tool arbeiten möchten (und sollten), das für die technische Prozessumsetzung verwendet wird. Gleichzeitig müssen die Entwickler mit ihrer gewohnten Entwicklungsumgebung arbeiten können (bei uns meistens Eclipse), anstatt sich auf ein „Zero-Coding-Werkzeug“ einstellen zu müssen, mit dem sie im Zweifel schlechter zurecht kommen und langsamer sind, als wenn sie die Anforderung direkt in Java implementieren. Deshalb ist es spannend, wie sich fachliche BPMN-Tools mit der technischen Entwicklungsumgebung koppeln lassen, damit das gemeinsame Prozessmodell von Business und IT stets „in synch“ bleibt und die Warheit nicht mehr „im Quellcode steckt“, sondern (auch) in der Tool-Umgebung der fachlich Verantwortlichen.

Es funktioniert!

BPMN-Tools working with camunda fox

BPMN-Tools working with camunda fox

Das Wichtigste zuerst: Ich konnte mit 8 verschiedenen Werkzeugen den Demo-Prozess in BPMN 2.0 modellieren, als BPMN 2.0-XML exportieren, in camunda fox technisch anreichern, deployen und laufen lassen. In allen Fällen konnte ich mir in fox cockpit (Monitoring-Tool) und in der Demo-Prozessanwendung grafisch darstellen lassen, wo ich mich während der Abarbeitung im Prozess gerade befinde – und zwar im Diagramm des jeweiligen fachlichen BPMN-Tools! In der Demo-Anwendung habe ich das noch durch den grafischen „Audit-Trail“ erweitert, d.h. dort sehe ich auch, welche Schritte bisher durchlaufen wurden und kann mir einblenden, wer sie abgearbeitet hat, wie lange das gedauert hat usw. Und das alles wie gesagt im Diagramm des jeweiligen fachlichen Tools, was erfahrungsgemäß sehr vorteilhaft ist, um auf fachlicher Seite die Akzeptanz und das Verständnis für die Prozessautomatisierung zu bekommen.

In fast allen Werkzeugen (außer BOC Adonis und Enterprise Architect) konnte ich außerdem den Beispiel-Prozess direkt als BPMN 2.0 – XML importieren, musste ihn also nicht neu zeichnen. Das ist insgesamt ein sehr ermutigendes Zeichen in Bezug auf einen standard-basierten Roundtrip!

Natürlich gibt es auch Kehrseiten, v.a. kleinere Probleme bei den Layout-Informationen im DI, die an die meisten Hersteller aber bereits berichtet wurden und hoffentlich bald gefixt werden. Etwas enttäuschend ist auch, dass das häufig genutzte Tool ARIS (Hersteller: Software AG) anscheinend noch immer weder einen Export noch einen Import von BPMN 2.0 – XML unterstützt. Aber vielleicht auch ein Zeichen dafür, dass sich der Markt für BPM-Software in einem intensiven Veränderungsprozess befindet?

Der BPM-Kreislauf mit camunda fox

Der BPM-Kreislauf mit camunda fox

Und schlussendlich muss man natürlich auch sagen, dass „Roundtrip“ nicht gleich „Roundtrip“ ist. Neben dem reinen Ex- und Import von BPMN 2.0 spielen noch viele weitere Anforderungen eine Rolle, wie z.B. die Übernahme erweiterter (technischer) Attribute im Modeler, eine API für das komfortable Einbinden des Tools, eine Versionierung inkl. Versionsvergleich und Merge-Unterstützung etc. Deshalb haben wir uns im Roundtrip bislang auf den Signavio Process Editor konzentriert, der in dieser Hinsicht bereits sehr viel bietet. Aber unsere Roundtrip-Komponente fox cycle ist aufgrund der generischen Architektur auch in der Lage, andere fachliche BPMN-Tools einzubinden, und im Rahmen von Kundenprojekten haben wir das zum Teil auch schon getan.

Für alle Interessierten kommen jetzt noch ein paar Detailinfos und Screencasts zu diesem Experiment.

Anforderungen und getestete Tools

Die minimale Anforderung für die Einbindung ist, dass das fachliche Tool die Modellierung mit BPMN 2.0 zulässt und das BPMN 2.0 – XML korrekt exportieren kann. Damit ist bereits das sog. „Forward Engineering“ geschafft, also der Weg vom Soll-Prozessmodell des Business Analysten in die Umgebung der Entwickler.
Das „Reverse Engineering“, also der Weg zurück, setzt einen Import von BPMN 2.0 – XML im fachlichen Tool voraus, und dabei sollten auch die proprietären Attribute im XML der Ausführungsumgebung mitgenommen werden, damit sie beim nächsten Export auch wieder rauskommen. Man kann natürlich auf die Verwendung solcher Attribute in der Entwicklung verzichten, aber unsere Projekterfahrung hat gezeigt, dass diese technischen Abkürzungen ausgesprochen wertvoll sind. Um wirklich produktiv in BPM-Projekten mit dem fachlichen Tool arbeiten zu können, sollten die o.g. Anforderungen also allesamt erfüllt sein.

Da die Anzahl entsprechend kompatibler Tools ständig zunimmt, habe ich mal einen kleines Experiment gestartet und die Integration von camunda fox mit den unten stehenden Tools ausprobiert. Bis auf Yaoqiang und den BPMN 2.0 modeler for Visio handelt es sich bei allen Tools um kommerzielle (also kostenpflichtige) Produkte. Im Folgenden beschreibe ich das Ergebnis dieses Tests für die jeweiligen Tools im Detail.

Ansonsten gibt es im fox userguide noch eine Übersicht zur Roundtrip-Readyness der Tools.

Das Szenario

Gegenstand des Experimentes ist ein kleiner Showcase, der Rechnungseingang (siehe Diagramm). Dabei geht es um einen ganz einfachen Prozess, in dem erhaltene Rechnungen einem Freigebenden zugeordnet werden müssen, dieser prüft sie dann, und wenn alles ok ist muss die Überweisung vorbereitet und die PDF-Datei in einem Archivsystem (Subversion in diesem Fall) abgelegt werden.

In meinem Szenario habe ich den Prozess zunächst im fox designer modelliert, die weiteren Komponenten (GUI etc.) implementiert, das Ganze miteinander verdrahtet, die Prozessanwendung deployed und laufen lassen. Danach habe ich den Prozess in die jeweiligen Tools importiert, wenn diese BPMN 2.0 importieren können, bzw. abmodelliert, wo das nicht möglich war. Danach habe ich den Prozess wiederum exportiert, ihn falls nötig mit den Komponenten der Prozessanwendung erneut verdrahtet (wenn die technischen Attribute verloren gegangen waren), ihn deployed und laufen gelassen. Die interessante Frage war, welche Probleme in diesem Szenario auftreten würden, denn wie jeder weiß: Der Teufel (der Interoperabilität) steckt im Detail 😉

Neben der reinen Ablauffähigkeit interessierte mich noch, in wie weit wir das BPMN-Diagramm im Original-Layout aus dem fachlichen Tool in das Monitoring des laufenden Prozesses einbeziehen können. Zu diesem Zweck haben wir vor Kurzem eine „Process Diagram API“ entwickelt, mit der das auf Basis einer Bilddatei und den Layout-Informationen aus dem BPMN 2.0 – XML (Diagram Interchange) möglich ist. Das Experiment diente also auch der Verprobung dieses Features mit den genannnten Tools.

Tools

Screencast: Der fox designer

Screencast: Der fox designer

fox designer (Website)

Der fox designer ist in der camunda fox BPM platform bereits enthalten und diente in diesem Experiment nur als Referenz-Tool. Da der designer ein Plugin für die Eclipse IDE ist, adressiert er vor allem die Entwickler der Prozessanwendung und nicht die Business Analysten o.ä.

Das Experiment begann also damit, dass ich den Prozess im fox designer modelliert und eine entsprechende Anwendung dazu gebaut habe. Die Diagramme werden im fox designer direkt als BPMN 2.0 – XML gespeichert, insofern entfällt das Ex- und Importieren.

Screencast: Signavio mit camunda fox

Screencast: Signavio mit camunda fox

Signavio Process Editor (Website)

Ich habe den im fox designer modellierten Prozess problemlos manuell in Signavio importieren können. Dort habe ich ihn etwas geändert, und dann mit Hilfe von fox cycle sowohl das BPMN 2.0 – XML exportiert, als auch gleich eine permanente Verknüpfung zwischen dem Modell in Signavio und dem XML im Repository des Prozess-Entwicklers hergestellt. Das erleichtert mir in der täglichen Arbeit die Synchronisation der beiden Modelle.

Da Signavio alle technischen Attribute, also auch die fox-spezifischen, im Import berücksichtigt und beim Export wieder herausgibt, ist das Tool voll einsätzfähig für den Roundtrip 🙂

Screencast: Adonis mit camunda fox

Screencast: Adonis mit camunda fox

BOC Adonis (Website)

Da Adonis leider kein BPMN 2.0 importieren kann, musste ich dort den Demo-Prozess „from scratch“ neu modellieren. Das habe ich getan, und danach das Diagramm als BPMN 2.0 – XML manuell exportiert. Die Datei musste ich im fox designer dann noch um die technischen Attribute anreichern, bevor ich sie deployen und laufen lassen konnte. Allerdings gab es in meiner Version auch noch einen unschönen Bug im DI-Teil des Exports, der zuerst zum neben stehenden Bild geführt hat, sowie Probleme mit Umlauten. Nach meiner Kenntnis ist BOC aber bereits dran, den zu beheben.

Screencast: ibo Prometheus mit camunda fox

Screencast: ibo Prometheus mit camunda fox

ibo Prometheus (Website)

In ibo Prometheus habe ich den Beispielprozess problemlos importieren können. Einziger Wehrmutstropfen war ein kleiner Fehler an den Gateways und beim Layouting, die ibo aber bereits bekannt sind und gerade gefixt werden. Den Export habe ich dann im Designer geöffnet, wo ich die technische Anreicherung erneut machen musste, weil ibo die erweiterten Attribute noch nicht mit durchschleift. Das wird aber ebenfalls gerade gemacht und ist dann im nächsten Release zusammen mit den Bugfixes verfügbar. Damit ist ibo ganz kurz vor der Roundtrip-Readyness.

Screencast: Yaoqiang mit camunda fox

Screencast: Yaoqiang mit camunda fox

Yaoqiang (Website)

Da Yaoqiang genau wie der fox designer direkt auf BPMN 2.0 – XML – Dateien arbeitet, musste ich gar nichts im- und exportieren. Auch sonst bin ich von diesem Open Source – Modeler sehr angetan, muss ich zugeben. Er übernimmt sogar die erweiterten Attribute für die technische Ausführung, wenngleich noch nicht alle für fox relevanten. Aber das ist relativ leicht erweiterbar im Tool, sodass man sagen kann, hier bereits einen roundtrip-fähigen Editor zur Verfügung zu haben. Natürlich muss man bedenken, dass das Tool anders als die meisten anderen hier vorgestellten über viele wichtige Features nicht verfügt, die man in „richtigen“ BPM-Projekten den Business Analysten an die Hand geben will.

Screencast: Visual Paradigm mit camunda fox

Screencast: Visual Paradigm mit camunda fox

Visual Paradigm (Website)

Das konkrete Tool von VP heißt „Business Process Visual Architect (BPVA)“, und man merkt bei der Bedienung sofort, dass hier auch ein gewisser Bezug zum Thema MDA/MDSD besteht. Ich konnte den im fox designer modellierten Prozess problemlos importieren, im BPVA etwas anpassen und direkt wieder exportieren. Die erweiterten Attribute für die technische Ausführung gingen dabei leider verloren, und ich meine auch, zwei Bugs im Export gefunden zu haben. Die werde ich mal an VP reporten, aber da wir bislang keine persönlichen Beziehungen zum Hersteller haben, kann ich nicht sagen, ob und wenn ja wie schnell sie gefixt werden. Aber die Bugs waren nicht gravierend und ein Workaround recht schnell gefunden, sodass ich auch diesen Prozess recht schnell deployen und durchklicken konnte.

Screencast: Enterprise Architect with camunda fox

Screencast: Enterprise Architect with camunda fox

Enterprise Architect (Website)

Der EA ist ein mächtiges und verbreitetes Werkzeug für das Software Engineering, und auch deshalb fand ich dieses Experiment besonders spannend. Da der EA leider keinen BPMN 2.0 Import kann, musste ich wie in Adonis das Diagramm „from scratch“ neu erstellen. Aber als das geschafft war, gingen der Export, das unvermeidliche Anreichern um technische Attribute und des Deployment sehr gut. Besonders witzig beim EA fand ich den „freehand-Modus“, bei dem man sich das Diagramm so darstellen lassen kann, als wäre es am Whiteboard gezeichnet, sieht interessant aus, wenn man es mit der Visualisierung des aktuellen Zustands zur Laufzeit kombiniert (dank Process Diagram API) 🙂

Screencast: Business Process Incubator with camunda fox

Screencast: Business Process Incubator with camunda fox

BPMN 2.0 Modeler for Visio (Website)

Hierbei handelt es sich um ein Visio-Addon von Trisotech, das man kostenlos nutzen kann. Der BPMN 2.0 Im- und Export funktioniert als „Cloud App“ über BusinessProcessIncubator.com, wobei man aber nur eine solche „Transaktion“ pro Tag machen kann, solange man sich nicht als kostenpflichtiger Premium User registriert hat.
Insgesamt hat der Roundtrip damit ganz gut funktioniert, auch wenn mir 1-2 Sachen aufgefallen sind die ich reporten werde.

Schon gelesen?

Scientific performance benchmark of open source BPMN engines

Why BPMN is not enough

Decision Model and Notation (DMN) – the new Business Rules Standard. An introduction by example.

Neues Whitepaper: Der Mythos Zero-Coding BPM

5 Kommentare

Hinterlassen Sie eine Antwort