18. Mai 2020
Lesedauer 14 Min.
Einführung in BPMN
Prozessmanagement mit BPMN, Teil 1
Die Grundlagen und Symbole der grafischen Sprache sind einfach anzuwenden.

Das Kürzel BPMN steht für Business Process Model and Notation, eine grafische Sprache, die in der Wirtschaftsinformatik und im Prozessmanagement verwendet wird [1]. Es geht also um Modelle für Geschäftsprozesse und eine Notation, wie diese Modelle dargestellt werden. Einen ersten Eindruck gibt Bild 1 wieder. Auf den ersten Blick mag dies lediglich wie eine Sammlung von Diagrammsymbolen wirken, zu denen bestimmte Regeln gehören, wie diese Symbole grafisch miteinander verbunden werden. BPMN ist aber weit mehr als nur ein weiterer Diagrammtyp. Tatsächlich war es von Anfang an ein Ziel, eine grafische Notation bereitzustellen, die auch für die Automatisierung verwendet werden kann. Für die Automatisierung kommt eine sogenannte Workflow Engine zum Einsatz, deren Aufgabe es ist, einen Prozess zu steuern. Außerdem enthält sie Funktionen zum Überwachen und Auswerten laufender Prozesse.

Die wichtigstenBPMN-Symbole und ihre Verwendung(Bild 1)
Autor
Als Prozess wird eine Abfolge von festgelegten Aktivitäten und Ereignissen definiert, die von Anwendern oder computergesteuert ausgeführt werden. Ein Vorteil der Verwendung von Prozessen gegenüber eigenen Entwicklungen ist die Transparenz, da die Logik in Diagrammform für jeden leicht nachvollziehbar und nicht im Programmcode vergraben ist. Das hilft, Missverständnisse zwischen Anwendern und der IT zu vermeiden. Außerdem lässt sich eine Prozesslogik in Diagrammform schneller und einfacher anpassen.Im Gegensatz zu Individualsoftware lassen sich lauffähige, technisch korrekte Prozessmodelle auch von erfahrenen Fachanwendern umsetzen. Selbstverständlich sind Softwareentwickler weiterhin notwendig, wenn die Prozessautomatisierung in eine andere Software integriert werden soll.Einige allgemeine Eigenschaften von BPMN sind:
- Mit BPMN verfügen Anwender und die IT über eine gemeinsame Sprache.
- BPMN eignet sich sehr gut, um klar strukturierte Prozesse zu modellieren und zu automatisieren.
- BPMN kann anspruchsvoll sein und wenig mit dem Zeichnen von Flowcharts zu tun haben.
- Dokumentation bestehender Prozesse
- Visualisieren von Prozessen zur Analyse und Verbesserung
- Automatisierung bestehender Prozesse
- Implementierung neuer Prozesse
Ein wenig Hintergrund
Die erste Fassung von BPMN wurde in 2004 veröffentlicht und ein Jahr später von der OMG (Object Management Group) übernommen. 2011 wurde die aktuelle Version 2.x verabschiedet, die seit 2013 auch ISO-Standard ist. 2014 veröffentlichte die OMG dann CMMN (Case Management Model and Notation) und 2015 DMN (Decision Model and Notation), die sich beide als Ergänzung zu BPMN verstehen. Bei DMN handelt es sich um einen Standard zum Modellieren und Automatisieren von Entscheidungen, der im weiteren Verlauf dieser Artikelserie noch erläutert werden wird.Einen vollständigen Überblick über BPMN gibt die aktuelle kostenlose Spezifikation [2]. Sie umfasst rund 500 Seiten und enthält alle BPMN-Symbole sowie deren Bedeutung und Regeln, mit denen diese kombiniert werden. Neben der Beschreibung der Symbole definiert die Spezifikation ein auf XML basierendes, formales Metamodell. Hierdurch ist es möglich, dass die zahlreichen Tools, die es auf dem Markt gibt, mit den gleichen Diagrammen umgehen können.Eine geeignete Software finden
Es gibt eine große Anzahl von Software für BPMN. Unterscheiden lassen sich die Angebote insbesondere danach, ob ein Anbieter lediglich ein Modellierungswerkzeug, eine Workflow Engine oder eine gesamte Plattform aus mehreren Tools anbietet. Neben den großen, bekannten Herstellern wie IBM, Oracle oder SAP gibt es zahlreiche weitere Anbieter, die ihre Software als Open Source zur Verfügung stellen.Wer sich für eine Open-Source-Lösung entscheidet, kann zunächst kostengünstig experimentieren. Je nach Größe des Projekts oder des Unternehmens ist jedoch darauf zu achten, dass der Hersteller gegen Aufpreis auch eine Enterprise-Variante mit Support anbietet. Das stellt sicher, dass ab einem gewissen Komplexitätsgrad auch professionelle Unterstützung zur Verfügung steht.Dabei ist es nicht erforderlich, sich für die gesamte Plattform eines einzelnen Anbieters zu entscheiden. Da BPMN-Modelle auf einem standardisierten XML-Format basieren, lassen sich Modelle in der Regel mit der Software des einen Anbieters erstellen und dann in der Workflow Engine eines anderen ausführen. Es gibt allerdings keine Garantie, dass ein Hersteller auch die gesamte BPMN-Spezifikation mit allen Details berücksichtigt. Beim Einsatz von Tools unterschiedlicher Anbieter kann es daher sein, dass später nachgearbeitet werden muss. Die Vorteile von Tools eines einzelnen Herstellers liegen somit auf der Hand.Wer nicht nur ein paar Diagramme zeichnen, sondern diese auch als Basis für eine spätere Prozessautomatisierung verwenden möchte, kommt außerdem um eine individuelle Evaluierung unterschiedlicher Software nicht herum. Eine Auswahl von BPMN-Software ist in Tabelle 1 zu sehen. Bei dieser Auswahl handelt es sich vorrangig um Open-Source-Lösungen, die neben einem Modellierungs-Tool auch eine Workflow Engine enthalten und deren Anbieter optional eine Unternehmenslizenz mit Support anbieten.Tabelle 1: Auswahl von BPMN-Software
|
Überlegungen vorab
Sollen die Prozessmodelle technisch ausführbar sein, müssen Sie sich genau an den formalen Standard halten. Unabhängig davon können Sie auch zielgruppengerechte Diagramme erstellen, bei denen es weniger um die technische Ausführbarkeit als vielmehr um eine verständliche Darstellung eines Prozesses geht. Denken Sie jedoch daran, dass es sich dabei gemäß Standard oft nicht um korrekte Diagramme handelt, die dann auch nicht ohne weiteres Zutun in einer Workflow Engine ausführbar sind.Bei der Verwendung von BPMN sollte man im Hinblick auf den Umfang der verwendeten Symbole die Zielgruppe im Auge behalten. So werden bei Prozessmodellen, die lediglich dem Überblick dienen und eine grundsätzliche, ergebnisorientierte Darstellung liefern sollen, nicht alle Symbole benötigt. Erst wenn ein Prozessmodell auch technisch ausgeführt werden soll, sind viele der spezielleren Symbole wichtig, damit eine Workflow Engine das Modell auch präzise abarbeiten kann. Bei der Fülle von BPMN-Symbolen hilft es oftmals, im Rahmen einer Unternehmensvorgabe eine sinnvolle Auswahl von Symbolen festzulegen, die verwendet werden sollen. Ein Diagramm, das alle vorhandenen Symbole verwendet, aber nur von einem geringen Anteil der Anwender verstanden wird, ist nicht besonders förderlich für die interne Kommunikation. In diesem Fall ist es sinnvoller, sich auf eine Auswahl zu beschränken.Grundlegende Objekte
Ein Prozess ist eine zeitliche und logische Abfolge von Aktivitäten. In einem Prozess müssen bestimmte Dinge getan werden, damit der Vorgang das gewünschte Ergebnis erbringen kann. Das sind die Aktivitäten oder Aufgaben. Aktivitäten stellen den Kern eines Prozesses dar. In der Praxis werden die Begriffe Aktivität und Aufgabe oft synonym verwendet. Streng genommen ist die Aktivität in BPMN allerdings ein Oberbegriff, zu dem unter anderem die Aufgabe gehört.Unter Umständen hängt der Verlauf der Aufgaben auch von Bedingungen ab, das sind in BPMN die Gateways. Außerdem können Dinge eintreten, das sind die Ereignisse. Sie stehen für etwas, das am Anfang, im Verlauf oder am Ende eines Prozesses passiert. Grundlegend sind hier zunächst das Startereignis, das Zwischenereignis sowie das Endereignis. Mit Startereignissen wird angegeben, dass ein Prozess auf ein Ereignis wartet, damit dieser angestoßen wird. Zwischenereignisse stehen für einen Status, der im Verlauf des Prozesses erreicht wird und im Modell explizit festgehalten werden soll. Das Endereignis kennzeichnet das Ende eines Prozesses. Diese grundlegenden Objekte werden über Sequenzflüsse in Form von Pfeilen miteinander verbunden, siehe Bild 1. In der Abbildung werden zusätzlich Textanmerkungen verwendet, wo es sinnvoll oder notwendig ist. Dabei gilt die Konvention, dass Aufgaben in der Regel nach dem Schema Objekt + Verb bezeichnet werden, Ereignisse nach dem Schema Objekt + Zustand.Neben den Grundelementen gibt es zahlreiche weitere sowie spezialisierte Symbole, auf die später zum Teil noch eingegangen wird. Die Beispieldiagramme für diesen Artikel wurden mit dem Camunda Modeler erstellt, der kostenfrei heruntergeladen werden kann [3].Gateways
Nur wenige Prozesse laufen immer gleich ab. In der Regel unterscheiden sich Prozesse in Abhängigkeit von bestimmten Umständen, wie zum Beispiel Bedingungen. Zu diesem Zweck gibt es in BPMN mehrere Typen von Gateways (Bild 2).
Verschiedene Typenvon Gateways im Überblick(Bild 2)
Autor
Der einfachste Typ ist das XOR-Gateway, das einer einfachen oder mehrfachen Verzweigung entspricht. Bei einem XOR-Gateway schließen sich die vorhandenen Möglichkeiten gegenseitig aus. Das heißt, der Prozesspfad kann nur einen der vorgegebenen Wege gehen, wobei das Gateway beliebig viele ausgehende Pfade haben kann. Es wird auch als datenbasiertes exklusives Gateway bezeichnet. In BPMN ist es nicht notwendig, dass ein verzweigter Prozesspfad später wieder zusammengeführt werden muss. Dies ist allerdings nicht nur zulässig, sondern trägt oft auch zum besseren Verständnis des Ablaufs bei. In diesem Fall wird das entsprechende Symbol am Ende der Verzweigung wiederholt, um die Pfade wieder zusammenzuführen wie in Bild 1.Um mehrere Aufgaben auszuführen, ist ein paralleles Gateway zu verwenden. Es bedeutet jedoch nicht, dass die Aufgaben auch gleichzeitig ausgeführt werden müssen. Man spricht auch von einem AND-Gateway (Bild 3). Aufgaben, die nicht voneinander abhängig sind, sollten nach Möglichkeit parallelisiert und nicht als mehrere Aufgaben nacheinander umgesetzt werden. Sollen eine oder mehrere Aufgaben abgearbeitet werden, lassen sich XOR- und AND-Gateway kombinieren. Kürzer und übersichtlicher geht dies mit dem OR-Gateway (datenbasiertes inklusives Gateway), zu sehen in Bild 4.

Ein AND-Gatewayrepräsentiert mehrere auszuführende Aufgaben(Bild 3)
Autor

Ein OR-Gatewayist quasi die Kombination aus XOR und AND(Bild 4)
Autor
Falls bei einem OR-Gateway die Möglichkeit bestehen soll, dass auch keine der angegebenen Aufgaben ausgeführt wird, muss eine zusätzliche Aufgabe in den Prozess aufgenommen werden. Alternativ lässt sich auch ein sogenannter Standardfluss angeben.Für besondere Szenarien gibt es noch das komplexe Gateway, das jedoch nicht so häufig verwendet wird wie die anderen Typen. Damit lässt sich beispielsweise umsetzen, dass eine Terminumfrage gestartet und ein Termin festgelegt wird, sobald eine bestimmte Anzahl von Teilnehmern eine Antwort gegeben hat. Diese Möglichkeit ist wichtig, da bei Verwendung eines AND-Gateways der Prozess beim Zusammenführen warten muss, bis alle darin enthaltenen Aufgaben abgearbeitet sind. Antwortet ein Teilnehmer nicht, würde das den Prozess anhalten oder – wenn gar kein Teilnehmer antwortet – zu einem Laufzeitfehler führen.Grundsätzlich besteht übrigens die Möglichkeit, Prozesspfade auch ohne Gateways zu gestalten. Da diese Form der Darstellung aber schnell zu Fehlern und Missverständnissen führen kann, wird sie an dieser Stelle nicht weiter betrachtet.
Schleifen und Lanes
Schleifen gestalten sich unter BPMN recht einfach und werden mit Pfeilen dargestellt; selbstverständlich muss die Ablauflogik so gestaltet werden, dass keine Endlosschleife entsteht.Mithilfe von sogenannten Lanes lassen sich Aufgaben bestimmten Personen, Organisationen, Abteilungen und so weiter zuordnen (Bild 5). Sie können auch ineinander verschachtelt werden, sodass eine detailliertere Abbildung der Zuständigkeiten möglich ist. Werden Lanes verwendet, ist darauf zu achten, dass Aufgaben, Ereignisse und Gateways immer nur innerhalb einer Lane positioniert sein dürfen. Falls mehrere Beteiligte die gleiche Aufgabe ausführen, ist diese Aufgabe pro entsprechender Lane darzustellen.
Lanessymbolisieren Verantwortlichkeiten(Bild 5)
Autor
Ereignisse im Detail
Neben Aufgaben und Gateways ist das dritte grundlegende Objekt das Ereignis, das in einfacher Form als Start- und Endereignis bereits oben vorgestellt wurde. Ereignisse können als zahlreiche weitere Typen vorkommen (Bild 6):
Ereignissegibt es bei BPMN in zahlreichen Typen(Bild 6)
Autor
- Blanko
- Nachricht
- Zeit
- Eskalation
- Bedingung
- Link
- Fehler
- Abbruch
- Kompensation
- Signal
- Mehrfach
- Mehrfach/Parallel
- Terminierung
- Startereignis
- Endereignis
- eingetretenes Zwischenereignis
- ausgelöstes Zwischenereignis
- angeheftetes, unterbrechendes Ereignis
- angeheftetes, nicht unterbrechendes Ereignis

UnterschiedlicheVerwendungsmöglichkeiten von Nachrichten-Ereignissen(Bild 7)
Autor
Je nach Verwendung variieren die Symbole in ihrer Darstellung. So werden Startereignisse zum Beispiel mit einem einfachen Kreis angegeben, während Zwischenereignisse einen doppelten Kreis aufweisen.Ausgelöste Zwischenereignisse implizieren bereits, dass die damit verbundenen Aufgaben ausgeführt wurden. Daher sind diese nicht zusätzlich zu modellieren.
Nachrichten und Signale
Mithilfe des Nachrichten-Ereignisses lässt sich ein Austausch von Informationen abbilden. Die Anwendungen zeigt Bild 7. Auch wenn für Nachrichten das Briefsymbol verwendet wird, handelt es sich hierbei nicht ausschließlich um E-Mails, klassische Briefe oder Faxe, sondern um jegliche Form von Informationen, die ein Prozess sendet oder empfängt.Signale sind den Nachrichten sehr ähnlich und können deshalb genauso wie Nachrichten an allen Stellen als Ereignis modelliert werden. Als Symbol wird anstelle des Briefumschlags ein Dreieck verwendet. Der wesentliche Unterschied zwischen einer Nachricht und einem Signal ist, dass Nachrichten an einen bestimmten Empfänger gerichtet sind, bei Signalen ist das nicht der Fall.Zeit-Ereignisse
Bei Zeit-Ereignissen kann es sich naturgemäß nur um eingetretene Ereignisse und nicht um ausgelöste Ereignisse handeln (Bild 8). Zeit-Ereignisse werden etwa eingesetzt, wenn Prozesse in regelmäßigen Intervallen oder zu einem bestimmten Zeitpunkt starten sollen (Bild 9). Mit angehefteten Zeit-Ereignissen lassen sich unter anderem Timeouts modellieren.
Zeit-Ereignisseund wo sie eingesetzt werden können(Bild 8)
Autor

Planeneines Backups mit Zeit-Ereignissen(Bild 9)
Autor
Bedingungen, Fehler und Kompensationen
Bei dem Bedingung-Ereignis handelt es sich um ein Ereignis, das nicht durch den Prozess selbst ausgelöst werden kann. Damit ist auch der Unterschied zu den Gateways in der Verwendung klar geregelt. Bedingungen sind also immer schon eingetretene und keine ausgelösten Ereignisse. In dem Beispiel von Bild 10 wird eine Bedingung als Startereignis verwendet.
Verwendungvon Bedingung und Fehler-Ereignissen(Bild 10)
Autor
Ein Fehler wird durch einen Blitz symbolisiert und kann als angeheftetes Zwischenereignis modelliert werden, um anzugeben, dass bei einer Aufgabe ein Fehler aufgetreten ist (siehe Bild 10). Zusätzlich ist ein Fehler auch als Endereignis für einen Prozesspfad möglich.An den beiden Beispielen aus Bild 9 und Bild 10 lässt sich gut erkennen, dass es sich um zwei Ausschnitte oder Sichtweisen des gleichen Prozesses handelt. Selbstverständlich könnte man ein umfangreiches Diagramm modellieren, das alle Eventualitäten berücksichtigt. Allerdings wird ein solches Modell nicht nur schnell unübersichtlich, es ist oft auch nur noch von Experten zu verstehen.Mithilfe von Kompensationen lassen sich Aktivitäten rückgängig machen, was im Kontext von Transaktionen hilfreich ist. So muss beispielsweise bei der Retoure einer Bestellung die Belastung der Kreditkarte annulliert und der Warenbestand korrigiert werden (Bild 11). Kompensationen werden über eine Assoziation und nicht über einen Sequenzfluss mit ihrer Aufgabe verbunden. In der Darstellung ist die Linie daher nicht durchgehend, sondern gepunktet.

Kompensationam Beispiel einer Retoure(Bild 11)
Autor
Angeheftete Kompensationen werden nur dann ausgeführt, wenn im Prozess auch eine Kompensation ausgelöst wird und die Aktivität, an der diese angeheftet ist, bereits ausgeführt wurde. Damit unterscheiden sich die Kompensationen von allen anderen angehefteten Ereignissen, die nur dann zum Tragen kommen können, wenn die entsprechende Aktivität gerade ausgeführt wird.
Weitere Ereignistypen
Mit einer Terminierung lässt sich angeben, dass alle derzeit bestehenden Prozesspfade (Token) beendet werden. Das heißt: Endet bei der parallelen Ausführung eine der Aufgaben, so werden auch alle anderen laufenden Aufgaben abgebrochen.Link-Ereignisse werden verwendet, wenn ein Diagramm aufgrund seines Umfangs über mehrere Seiten dargestellt werden muss.Nur selten Verwendung finden das Mehrfach- sowie das Parallel-Ereignis. Beide Symbole fassen mehrere Ereignisse zusammen. In diesen Fällen ist es jedoch sinnvoller, die Ereignisse direkt separat anzugeben. Für ein korrektes Modell wäre es ansonsten ohnehin notwendig, das Mehrfach-Ereignis mit einer beschreibenden Anmerkung zu versehen, in der die unterschiedlichen Bedingungen dann wieder aufgeführt werden.Abschließend sei noch erwähnt, dass es mit dem ereignisbasierten Gateway eine Möglichkeit gibt, die Logik aus datenbasierten Gateways und Ereignissen zusammenzufassen.Symbolattribute
Neben den Symbolen spezifiziert die BPMN auch eine ganze Reihe von Attributen, mit denen Symbole versehen werden können. Ein großer Teil dieser Attribute wird dabei nicht in Diagrammen dargestellt, sondern nur in den Modellier-Tools gespeichert. Die Attribute sind vor allem dann wichtig, wenn die erstellen Modelle später mit einer Workflow Engine automatisiert ausgeführt werden sollen.Vergleich mit anderen Notationen
Grundsätzlich bietet BPMN gegenüber anderen Notationen die Vorteile, dass sich zum einen das Zusammenspiel von Prozessen ausformen lässt und zum anderen Ereignisse viel präziser angegeben werden können. Als Komponente des Modellierungs-Tools Aris (Software AG) und dank der engen Integration des Aris-Toolsets mit den ERP-Lösungen von SAP sind ereignisgesteuerte Prozessketten (EPKs) [4] weit verbreitet. Die EPK unterscheidet jedoch nicht zwischen daten- und ereignisbasierten Verzweigungen und kennt auch keine unterschiedlichen Ereignistypen. Da kein Anheften von Ereignissen erlaubt ist, sind Fehlerbehandlungen und Eskalationen außerdem nur schwierig oder gar nicht umzusetzen. Des Weiteren muss in EPKs auf jede Funktion ein Ereignis folgen, was oft zu überflüssigen Zwischenereignissen führt. Insbesondere für die Automatisierung ergeben sich daraus gegenüber BPMN einige Schwächen. Mittlerweile bietet allerdings auch Aris die Prozessmodellierung mit BPMN an.Mit UML sind zwar detaillierte Diagramme möglich, diese stammen jedoch aus dem Bereich der Softwaretechnik. Eine Übersetzung in BPMN ist daher häufig nicht eins zu eins möglich. Auch wenn sich mit den UML-Aktivitätsdiagrammen Prozesse ähnlich leistungsfähig abbilden lassen, überwiegt der Vorteil von BPMN spätestens dann, wenn Prozesse in einer Workflow Engine ausgeführt werden sollen. So kennt das UML-Aktivitätsdiagramm beispielsweise nur XOR und AND sowie die Parallelisierung. Ein OR wird in der UML nicht definiert.Zusammenfassung und Ausblick
Die vorangehenden Seiten haben die allgemeinen Grundlagen von BPMN und die wichtigsten Diagrammsymbole erläutert. Des Weiteren wurde bereits auf Gateways und spezielle Ereignistypen eingegangen. Damit können Sie nicht nur die ersten Diagramme zu Dokumentationszwecken erstellen, sondern auch einen großen Teil der Ablauflogik umsetzen, der für eine spätere Prozessautomatisierung notwendig ist. Je nach Anwendungsfall sind noch weitere Symbole wichtig, die im nächsten Teil dieser Serie behandelt werden.Die BPM-Initiative Berlin stellt im Web ein kostenloses Poster zu BPMN zur Verfügung, auf dem neben allen Symbolen auch sehr übersichtlich dargestellt ist, in welchem Zusammenhang die jeweiligen Ereignistypen verwendet werden können [5].Fussnoten
- Wikipedia – Business Process Model and Notation, http://www.dotnetpro.de/SL2005BPMN1
- Business Process Model and Notation, http://www.omg.org/spec/bpmn
- Camunda, http://www.dotnetpro.de/SL2005BPMN2
- Wikipedia – Ereignisgesteuerte Prozesskette, http://www.dotnetpro.de/SL2005BPMN3
- Poster: BPMN2.0-BusinessProcessModelandNotation, http://www.dotnetpro.de/SL2005BPMN4