Nicht erst seit BPMN zum ISO-Standard erhoben wurde, sollen Modelle sich einfach zwischen (standardkonformen) Werkzeugen austauschen lassen. Ob dies der Fall ist und wie sich Standardkonformität überhaupt prüfen lässt, soll in diesem Blogpost beleuchtet werden.

Austausch von Modellen zwischen Modellierungswerkzeugen

Zur Speicherung und zum Austausch von Modellen legt die aktuelle BPMN 2.0.2 – Spezifikation XML fest. Das erzeugte XML muss hierbei einem bestimmten Schema entsprechen. Eine Modellierungsumgebung sollte dementsprechend in diesem Format abspeichern (oder einen Import und Export zur Verfügung stellen) um den Standard zu erfüllen. Die von mir am häufigsten verwendeten Werkzeuge erfüllen diese Bedingung allerdings nicht alle.

Der BizAgi Process Modeler speichert Modelle standardmäßig in einem proprietären Format (*.bpmn) ab. Neben der Möglichkeit des Exports in ein Bildformat, steht lediglich XPDL als weiteres Austauschformat zur Verfügung. Damit wird der BPMN-Standard bezüglich Speicherung und Austauschformaten hier nicht umgesetzt. Die erzeugte XPDL-Datei führt uns direkt zum nächsten Kandidaten …

EDIT (08.12.14): Bizagi unterstützt in der aktuellsten Version (2.8.0.8) auch den Im- und Export im allgemein gebräuchlichen XML-Format.

Das cloudbasierte Werkzeug Signavio ist nämlich das einzige in meinem kurzen Vergleich, das die eben erwähnte Datei im XPDL-Format auch einlesen kann. Dies klappt in meinen Versuchen jeweils problemlos. Das Modell wird angezeigt und lässt sich weiter bearbeiten. Aufgrund der erwähnten Bereitstellung des Dienstes in der Cloud entfällt eine lokale Speicherung der Modelle. Umso wichtiger ist natürlich eine gute Import- und Exportfunktion. Signavio bietet hier neben dem erwähnten XPDL auch die Möglichkeit Modelle als Bilddateien (PNG, SVG), PDF, standardkonformes XML und als Archivdatei zu exportieren. Die Importmöglichkeit fällt für die Bilddateien und PDF natürlich weg.

Ebenfalls schon von mir produktiv verwendet, bietet Adonis ebenfalls einen Importer und Exporter für diverse Formate an. In der (von mir genutzten) Community Edition ist dieser leider nicht verfügbar und nur als bezahltes Feature in der Pro-Version enthalten. So bietet sich lediglich die Speicherung in einem proprietären Format (*.adl) an. Es findet sich auch der Hinweis auf einen Online Konverter (hier die Ankündigung dazu) für XPDL-Dateien. Stand heute ist dieser allerdings noch nicht verfügbar.

Den Preis für den Editor mit dem anspruchsvollsten Namen gewinnt Yaoquiang in jedem Fall. Darüber hinaus bietet er aber auch (als einer von nur zwei Kandidaten hier im Test) eine direkte Anzeige der erzeugten XML-Datei. Des Weiteren speichert er auch im standardkonformen XML-Format (*.bpmn) ab. Weitere Speicher- und Exportformate sind diverse Grafiken sowie HTML und Open Document Textformat. Importieren lassen sich Modelle im XML-Format.

Der Camunda Modeler ist in gewisser Weise ein Sonderfall. Er ist sowohl als Plugin für die Entwicklungsumgebung Eclipse als auch als eigenständiges Programm (hier der Downloadlink) verfügbar (hier handelt es sich natürlich auch um ein modifiziertes Eclipse). Auch hier ist eine direkte Anzeige des durch die Modellierung erzeugten XML möglich. Es wird sogar noch weiter gegangen, da das XML auch direkt editiert werden kann. Ist die Änderung valide, ist sie danach auch direkt im Prozessmodell sichtbar. Gespeichert werden die Modelle als standardkonformes XML (*.bpmn), der Export ist in diversen Grafikformaten möglich. Der Import von Prozessmodellen erfolgt als XML (*.xml / *.bpmn).

Was bedeutet das für uns? Die Unterstützung des BPMN-Standard ist (was die Speicherung und Austauschbarkeit der Modelle angeht) noch nicht von allen Werkzeugen vollständig umgesetzt. Bei der Auswahl eines bestimmten Werkzeuges, sollte dieser Aspekt immer mit berücksichtigt werden.

Validierung gegen den Standard mit Hilfe des XML-Schemas

Wie kann nun überprüft werden, ob ein Werkzeug standardkonformes XML eines Modelles erzeugt oder nicht? Der problemlose Import in einem anderen Werkzeug ist natürlich schon ein guter Hinweis. Darüber hinaus ist auf der Webseite der OMG das XSD-Schema für den BPMN-Standard frei verfügbar. Gegen dieses Schema kann ein XML nun validiert werden. Die Validierung kann theoretisch auf diversen Wegen erfolgen.

Verwendet man das Camunda Plugin für Eclipse, so lässt sich einfach der bereits vorhandene Validierungsmechanismus nutzen. Hierzu genügt ein Rechtsklick auf die zu prüfende Datei. Dabei wird bei einem Modell im *.bpmn-Format automatisch eine Validierung gegen den BPMN-Standard und die Modellierungskonventionen von Camunda durchgeführt.

Eine Prüfung gegen das XML Schema findet dagegen nur bei Dateien *.xml-Format statt. Dies bietet sich also vor allem bei importierten Modellen an. Natürlich lassen sich auch jegliche andere XML-Dateien (oder sonstige Formate) mittels dieser Funktionalität von Eclipse validieren.

Auf der Suche nach einer weiteren Variante, bin ich auf einen interessanten Blogpost (siehe hier) zu diesem Thema gestoßen. Hier wird zur Validierung einfach ein Plugin für Notepad++ verwendet. Mit diesem konnte ich ebenfalls eine erfolgreiche Validierung meiner Prozessmodelle durchführen. Ein korrektes XML wird auch als solches erkannt:

Validierung mit Notepad++

Validierung mit Notepad++

Ebenso führt das Einfügen eines ungültigen Elementes im XML zu der erwarteten Fehlermeldung:

ERROR: Element '{http://www.omg.org/spec/BPMN/20100524/MODEL}newelement': This element is not expected. 
 
Expected is one of ( 
{http://www.omg.org/spec/BPMN/20100524/MODEL}import, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}extension, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}rootElement, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}eventDefinition, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}cancelEventDefinition, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}category, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}collaboration, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}choreography, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}compensateEventDefinition, 
{http://www.omg.org/spec/BPMN/20100524/MODEL}conditionalEventDefinition ).

Verwendet man also ohnehin das Camunda Eclipse Plugin zur Modellierung, so ist die Validierung schon ohne zusätzlichen Aufwand mit enthalten. Will man also ein anderes Werkzeug auf Standardkonformität des erzeugten XML prüfen, so ist Notepad++ in Verbindung mit dem genannten Plugin eine gut funktionierende Alternative.

Wozu das Ganze? Der BPMN-Roundtrip

Die in diesem Artikel beschriebene Problematik trifft einen natürlich nicht, falls man von der Modellierung bis hin zur Ausführung ein und das Selbe Werkzeug verwendet. Viele “all-in-one” BPM-Suites bieten auch gar keine andere Möglichkeit. Interessant wird es allerdings, falls ein Modell zwei oder noch mehr Werkzeuge bis hin zur Ausführung durchläuft. Dies kann z.B. der Fall sein wenn die Fachabteilung ein anderes Werkzeug verwendet als die IT oder im Fall einer Migration von einem Produkthersteller zu einem anderen.

Für den ersten Anwendungsfall hat Camunda eine interessante Vorgehensweise entwickelt. Cycle (Camunda Cycle Landingpage) hat sich zum Ziel gesetzt, eben diese nahtlose Zusammenarbeit zwischen Modellierung der Fachabteilung und Entwicklung zu ermöglichen. Änderungen am Modell durch den Fachbereich werden so automatisiert in eine vorhandene Entwicklungsumgebung übertragen und umgekehrt. Im Grunde handelt es sich hier einfach um eine Synchronisation des BPMN XML.

Ein interessantes Beispiel für die Migration bzw. Weiterverarbeitung ein und desselben Modells in unterschiedlichen Werkzeugen bietet ein Experiment der für BPMN zuständigen OMG-Arbeitsgruppe (dokumentiert in diesem Blogpost). Hier wird ein Modell über acht unterschiedliche Werkzeuge hinweg erstellt, erweitert und schließlich ausgeführt.

Insgesamt lässt sich sagen, dass spätestens mit der Erhebung der BPMN zum ISO-Standard (siehe hier) im Jahr 2013 ein großer Schritt in Richtung Standardisierung gegangen wurde. Bis wirklich über alle Hersteller hinweg ein problemloser Austausch von Modellen stattfinden kann, dürfte allerdings noch einige Zeit vergehen.

Leave a Comment

3 comments

  1. T

    Hallo Herr Steiner,

    einer kurzer Hinweis: im Bizagi Process Modeller Version 2.8.0.8 vom 05. August 2014 lassen sich Standard-konforme BPMN-Dateien (XML) im- und exportieren. Ich habe das mit Signavio getestet (nein, ich bin nicht von Bizagi, beschäftige mich aber auch mit der Evaluierung von BPMN-Tools). Für ein kostenloses Tool bietet Bizagi aus meiner SIcht sehr viel.

    Kleine Korrektur: im 2. Absatz sollte es bestimmt BPMN “2.0.2” heißen und nicht “2.2”, oder?

    Viele Grüße
    Thore Kleinschmidt

  2. B

    Hallo Herr Kleinschmidt,

    es war in der Tat BPMN 2.0.2 gemeint, da hat sich der Fehlerteufel eingeschlichen. Ich habe das korrigiert.

    Als der Blogpost geschrieben wurde, habe ich auf Bizagi in der Version 2.7 gearbeitet. Inzwischen ist die von Ihnen beschriebene Funktion in 2.8.0.8 in der Tat verfügbar.

    Herzlichen Dank für das Feedback!

  3. D

    Danke zunächst für die Übersicht der Funktionsumfange der einzelnen Softwares.

    Eine Frage bliebe bei mir allerdings noch ungeklärt. Ich habe noch keine Funktion gefunden, weder in Bizagi noch in Adonis mit der man den Sequenzfluss bei einer Simulation anhand von erstellten Daten festlegen kann, Diese Daten sollen Auftragsdaten darstellen.

    In Adonis ist lediglich das Erzeugen eines Zufallsgenerator möglich, mit der Werte von Variablen mit einer bestimmten Häufigkeit erzeugt werden. Diese Werte können dann an den einzelnen Gateways zu den Tasks zugewiesen werden.

    Mit freundlichen Grüßen David

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close