15. Jun 2020
Lesedauer 12 Min.
Teilen macht übersichtlich
Prozessmanagement mit BPMN, Teil 2
Mit weiteren Symbolen und Techniken lassen sich Modelle detaillierter darstellen und komplexere Zusammenhänge abbilden.

Der erste Teil dieser Serie zum Thema Business Process Model and Notation, kurz BPMN, behandelte die Grundlagen und die wichtigsten Symbole [1]. Hierzu gehören die Aktivitäten, Ereignisse und Gateways, mit denen sich bereits zahlreiche prozessorientierte Zusammenhänge darstellen lassen und die quasi den Kern von BPMN bilden. Außerdem ging der Artikel auf spezielle Ereignistypen ein.Da ein Ziel bei der Verwendung von BPMN oft das Automatisieren von Prozessen unter Verwendung einer Workflow Engine ist, beschreibt und veranschaulicht dieser Beitrag in den folgenden Abschnitten einige weitere, sinnvolle Objekte anhand von kurzen Beispielen. So lassen sich ebenso wie Ereignisse auch Aufgaben weiter spezifizieren. Außerdem können mit Teilprozessen nicht nur Ausschnitte eines Prozesses wiederverwendet werden; es stehen auch gänzlich neue Möglichkeiten wie Transaktionen zur Verfügung. Abgerundet werden die Erläuterungen durch Nachrichtenflüsse und den Einsatz von Datenobjekten.
Aktivitäten und Aufgaben unter die Lupe genommen
Wie bereits erwähnt, werden die Begriffe Aktivität und Aufgabe oft synonym verwendet. In BPMN handelt es sich bei einer Aktivität jedoch um einen Oberbegriff. Zu ihm gehört die einfache oder undefinierte Aufgabe, sozusagen die Standardaufgabe, die in den bisherigen Beispielen verwendet wurde. Zusätzlich zu dieser einfachen Aufgabe gibt es in BPMN auch einige spezielle Aufgabentypen, die in Bild 1 zu sehen sind. Auch wenn diese speziellen Typen in der Praxis seltener vorkommen, sind sie doch für die Ausführung technischer Modelle sinnvoll.
BPMNsunterschiedlichen Aufgabentypen(Bild 1)
Autor
Der Zweck der unterschiedlichen Aufgabentypen ist es, den Charakter einer Aufgabe näher anzugeben. Manuelle Aufgaben sowie Benutzer-Aufgaben werden stets von einem Menschen erledigt.Der Unterschied zwischen manuell und Nutzer besteht darin, dass eine manuelle Aufgabe nicht einer Workflow Engine zugewiesen wird, wohingegen eine Benutzer-Aufgabe von einer Workflow Engine veranlasst wird. Nach dem Erledigen einer Benutzer-Aufgabe wartet eine Workflow Engine daher auf eine entsprechende Bestätigung, um den Prozess fortzusetzen.Bei einer Service-Aufgabe handelt es sich um eine Aufgabe, die von einem Softwaresystem abgearbeitet wird. In diesem Fall läuft eine programmgesteuerte Funktion also selbstständig und ohne den Eingriff eines Menschen ab. Dieser Aufgabentyp gehört zur prozessorientierten Anwendungsintegration. Ein Beispiel hierfür wäre das automatische Verbuchen einer gestellten oder erhaltenen Rechnung in einem Buchungssystem.Der Empfang einer Nachricht ist eine Option zu dem eingetretenen Nachrichten-Ereignis, weswegen das gleiche Symbol auch in der Aufgabe aufgegriffen wird und dem bekannten Briefumschlag entspricht. Dasselbe gilt für die Senden-Aufgabe.Bei der Skript-Aufgabe handelt es sich im Unterschied zu der Service-Aufgabe um eine Programmfunktion, die direkt in einer Workflow Engine und nicht von einer anderen Software ausgeführt wird.Die Geschäftsregel-Aufgabe gewinnt erst in Verbindung mit DMN (der Decision and Model Notation, die BPMN ergänzt) an Bedeutung und wird im nächsten Beitrag dieser Artikelserie ausführlich vorgestellt.Neben einfachen und speziellen Aufgaben gibt es weitere Objekte, die ebenfalls zu dem übergeordneten Begriff der Aktivität gehören (Bild 2). Deren Verwendung wird weiter unten in Verbindung mit den Teilprozessen noch erläutert.

Überblicküber die Aktivitätstypen von BPMN(Bild 2)
Autor
Zudem gibt es in BPMN gemäß Spezifikation die Möglichkeit, eigene Aufgabentypen zu definieren, sofern das verwendete Modellierungs-Tool dies unterstützt.
Aktivitäten markieren
Zusätzlich zu den unterschiedlichen Aufgabentypen können Aktivitäten gekennzeichnet werden. Mit sogenannten Markierungen wird das Ausführungsverhalten von Aktivitäten beschrieben. Die zur Verfügung stehenden Markierungen, zu sehen in Bild 3, können dabei mit den oben erwähnten Aufgabentypen kombiniert werden.
Markierungssymbolefür Aktivitäten(Bild 3)
Autor
Eine Schleifen-Aufgabe etwa wird so lange wiederholt, bis eine definierte Bedingung erfüllt ist. Das Schleifen-Symbol stellt dabei eine Alternative zu einem einfachen Rückverweis in Kombination mit einem Gateway dar; Bild 4 zeigt am Beispiel einer Urlaubsplanung beide Darstellungsvarianten nebeneinander. Die Bedingung für eine Schleife wird bei einer Schleifen-Markierung einfach per Textanmerkung an die Aufgabe angefügt.

Die Darstellungsmöglichkeitenfür Schleifen(Bild 4)
Autor
Während bei einer Schleifen-Aufgabe die gleiche Aufgabe mehrfach hintereinander ausgeführt wird, erlaubt es eine parallele Mehrfachausführung, eine Aufgabe mehrfach gleichzeitig ausführen lassen.Die Kompensations-Aufgabe wurde bereits im ersten Teil vorgestellt und wird ausschließlich im Kontext von Kompensationen verwendet. Eine Besonderheit der Kompensations-Markierung bei einer Aufgabe ist, dass diese Markierung sich auch mit den anderen Markierungstypen wie beispielsweise der Schleife oder parallelen Mehrfachausführung kombinieren lässt.
Teilprozesse
In der Praxis sind Prozessmodelle oft so umfangreich, dass sie sich nicht mehr übersichtlich auf einer Seite darstellen lassen. Dennoch ist die Darstellung eines Prozesses auf einer einzelnen Seite sinnvoll, um sich schnell einen Überblick verschaffen zu können. Daraus folgt, dass in einem solchen Fall weitere Detailbetrachtungen eines Prozesses notwendig sind. Mithilfe eines Teilprozesses wird ein komplexer Ablauf beschrieben, der im zugehörigen Oberprozess jedoch nicht mehr Platz als eine simple Aufgabe einnimmt. Mithilfe von Teilprozessen lässt sich also die Komplexität von Prozessmodellen erheblich verringern. Neben der Reduzierung der Komplexität spielen Teilprozesse auch bei einigen weiteren Modellierungsmöglichkeiten eine Rolle, von denen eine Auswahl in den Folgeabschnitten beschrieben wird.Ein Teilprozess wird durch ein Pluszeichen markiert, wie es bei dem Beispiel in Bild 5 zu sehen ist. Je nach Modellierungs-Tool kann das Pluszeichen auf ein anderes Prozessdiagramm verweisen oder, sofern das Tool es unterstützt, auch den Teilprozess aufklappen, wie unten in der Abbildung gezeigt. Letzteres ist in der BPMN-Spezifikation explizit vorgesehen. Ein aufgeklappter Teilprozess wird bei einigen Tools mit einem Symbol zum Zuklappen gekennzeichnet.
Ein Pluszeichensteht für einen eingebetteten Teilprozess(Bild 5)
Autor
Die Verwendung von Teilprozessen ist nicht auf eine Ebene beschränkt. Es lassen sich so viele Ebenen verwenden, wie für das Prozessmodell sinnvoll ist. Dabei ist zu bedenken, dass ein Prozess mit vielen Ebenen immer wieder auf- und zugeklappt werden muss und somit schnell unübersichtlich werden kann.Der in Bild 5 dargestellte Teilprozess ist ein sogenannter eingebetteter Teilprozess. In diesem dürfen keine Pools oder Lanes vorkommen, da der Teilprozess zu seinem Oberprozess gehört. Entsprechend darf ein eingebetteter Teilprozess auch nur über ein Blanko-Startereignis verfügen. Andere Startereignisse sind nicht erlaubt, da die Ausführung des Teilprozesses von seinem Oberprozess gesteuert wird. Ein eingebetteter Teilprozess ist damit nichts weiter als ein ausgelagerter Teil eines umfangreicheren Prozesses.In der Praxis ist es oft wünschenswert, dass Teilprozesse wiederverwendet werden können, wenn unterschiedliche Prozesse über die gleichen Teilabläufe verfügen. In BPMN wird dies genauso wie in der Programmierung als Modularisierung bezeichnet. Solche Teilprozesse werden als globale Teilprozesse definiert. In der Darstellung unterscheidet sich der Aufruf eines globalen Teilprozesses dadurch, dass das Symbol für die aufrufende Aktivität eine sichtbar dickere Umrandung hat, siehe Bild 6. Gegenüber eingebetteten Teilprozessen dürfen globale Teilprozesse auch über eigene Pools und Lanes verfügen.

Ein globaler Teilprozess, zu erkennen an der dicken Umrandung(Bild 6)
Autor
Angeheftete Teilprozesse
Der erste Teil dieser Artikelserie stellte bereits angeheftete Ereignisse vor. Ebenso können auch Teilprozesse über Ereignisse an Aufgaben angeheftet werden, was die Gestaltungsmöglichkeiten für einen Prozess erheblich erweitert.Zur Veranschaulichung dient die aus dem ersten Teil bekannte Modellierung eines Backup-Vorgangs, den Bild 7 zeigt. Das Diagramm wurde in zwei Punkten geändert und enthält anstatt der Aufgabe Alternativen Speicherort auswählen nun eine Aufruf-Aktivität für den Teilprozess Speicherort auswählen, der in Bild 8 zu sehen ist.
Backup-Prozessmit angeheftetem unterbrechendem Fehler-Ereignis(Bild 7)
Autor

Globaler Teilprozess, der den Fehler auslöst(Bild 8)
Autor
Zusätzlich enthält die Aufruf-Aktivität ein angeheftetes, nicht unterbrechendes Eskalations-Ereignis. Der Teilprozess prüft, ob ein anderer Speicherort mit ausreichend freiem Speicherplatz vorhanden ist. Ist dies nicht der Fall, wird ein Fehler ausgelöst, der vom Oberprozess verarbeitet wird. Da es sich bei dem Fehler-Ereignis im Oberprozess um ein unterbrechendes Ereignis handelt, wird die übrige Ausführung des Prozesses abgebrochen. Ist hingegen ein alternativer Speicherort vorhanden, wird dieser als neuer Speicherort vom Teilprozess festgelegt.Anschließend wird das Eskalations-Ereignis ausgelöst. Es teilt dem Oberprozess mit, dass dieser etwas zu tun hat. In diesem Fall wird der neue Speicherort für das nächste Backup festgehalten. Da es sich bei dem angehefteten Eskalations-Ereignis in der Aufruf-Aktivität um ein nicht unterbrechendes Ereignis handelt, läuft der Oberprozess – anders als bei dem unterbrechenden Fehler-Ereignis – weiter. Die Aufgabe, die auf die Eskalation folgt, wird also zusätzlich ausgeführt.Bei Abbrüchen, Eskalationen und Fehlern liefern Teilprozesse automatisch eine entsprechende Information an den aufrufenden Oberprozess. Der Austausch von allgemeinen Informationen zwischen einem Teil- und Oberprozess lässt sich anhand des bekannten Signal-Ereignisses modellieren.Die Markierungen für die Mehrfachausführung, die Kompensation und die Schleife können auch auf Teilprozesse angewendet werden. So lassen sich beispielsweise umfangreiche Schleifen als eigener Teilprozess auslagern.Die Ad-hoc-Markierung kann nur für Teilprozesse verwendet werden. Die darin enthaltenen Aktivitäten können in beliebiger Reihenfolge, mehrmals oder gar nicht ausgeführt werden. Dieses Verhalten widerspricht dem Ziel der Prozessmodellierung, einen Ablauf konkret festzuhalten. In Ausnahmefällen ist diese Möglichkeit jedoch notwendig, wenn in einem Prozess Freiräume vorhanden sein müssen.
Transaktionen
Es gibt Prozesse, die entweder vollständig oder gar nicht ablaufen sollen. Kommt es in einem Prozess zu einem Fehler, dann müssen bereits erledigte Aufgaben rückgängig gemacht werden. Man spricht in diesem Fall von Transaktionen. Der erste Artikel hat bereits gezeigt, wie sich dies unter Verwendung einer Kompensation umsetzen lässt (Bild 9).
Die Kompensationvon bereits erledigten Aufgaben(Bild 9)
Autor
Bei der alternativen Modellierung als Transaktion wird ein Teilprozess verwendet. Der gesamte Teilprozess repräsentiert dabei die Transaktion und wird durch eine doppelte Umrandung dargestellt wie in Bild 10. Innerhalb der Transaktion wird bei Bedarf das Abbrechen-Ereignis ausgelöst, um dem Prozess zu signalisieren, dass bereits erledigte Aufgaben rückgängig gemacht werden sollen. Welche das konkret sind, wird wiederum durch Kompensations-Ereignisse angegeben.

Alternative Modellierungmit einer Transaktion(Bild 10)
Autor
Ein an die Transaktion angeheftetes Abbruch-Ereignis ermöglicht eine zusätzliche Fehlerbehandlung und ist in dem Beispiel als Platzhalter zu sehen. Durch die Verwendung einer Transaktion anstelle einer Kompensation ist es zum einen möglich, die Transaktion als Teilprozess präziser zu modellieren, zum anderen ist auch optisch schon auf den ersten Blick deutlich zu erkennen, welcher Teil des Prozesses von einer Transaktion betroffen ist.
Ereignis-Teilprozesse
Ein Ereignis-Teilprozess befindet sich immer innerhalb eines anderen Prozesses oder Teilprozesses und ist an einer gepunkteten Umrandung zu erkennen. Er verfügt über ein einzelnes Startereignis und kann so lange ausgelöst werden, wie der ihn umgebende Prozess oder Teilprozess aktiv ist. Für Ereignis-Teilprozesse kann es unterbrechende Ereignisse geben, die in ihrer Bedeutung den angehefteten Zwischenereignissen entsprechen. Je nach Startereignis wird ein Ereignis-Teilprozess also dazu führen, dass er den ihn umgebenden Prozess abbricht oder parallel zu ihm ausgeführt wird.Als Beispiel ist in Bild 11 die vereinfachte Modellierung einer Sammelbestellung zu sehen. Aus Kosten- und Umweltgründen wird eine Bestellung bei Eingang nicht sofort versendet, sondern der Versand wird lediglich vorbereitet und es wird bis zum Ende der Woche gewartet, ob der Kunde in der Zwischenzeit weitere Bestellungen tätigt. Ist dies der Fall, wird durch das nicht unterbrechende Nachrichten-Ereignis der zugehörige Ereignis-Teilprozess gestartet und die Bestellung der Sammelbestellung hinzugefügt. Dieses Ereignis kann während der Wartezeit, also solange der umgebende Teilprozess noch aktiv ist, beliebig oft ausgelöst werden.
Sammelbestellungmit Ereignis-Teilprozessen(Bild 11)
Autor
Entscheidet sich der Kunde zu einem sofortigen Versand, beispielsweise weil er die Artikel dringend benötigt, wird durch das unterbrechende Fehlerereignis der umgebende Teilprozess abgebrochen, wodurch die Wartezeit übergangen und die Bestellung versendet wird. Nach dem Auslösen des Fehlers wird jedoch zunächst noch die Vorbereitung des Versands abgeschlossen. Diese Aufgabe ist in dem gegebenen Beispiel von Bedeutung, da die Aufgabe Versand vorbereiten des umgebenden Teilprozesses zeitlich nicht definiert ist und die Unterbrechung ja auch schon dann stattfinden könnte, wenn die Vorbereitung des Versands noch gar nicht abgearbeitet wurde. Denn wie der Name schon sagt, wird durch das unterbrechende Startereignis der Ereignis-Teilprozess des umgebenden Teilprozesses in jedem Fall abgebrochen.
Pools und Nachrichtenflüsse
Mithilfe von Lanes können Aufgaben unterschiedlichen Teilnehmern zugeordnet werden. Die Lanes befinden sich dabei innerhalb eines gemeinsamen Pools, der die Grenzen des Prozesses darstellt (Bild 12). Der in der Abbildung dargestellte Prozess wird übergeordnet koordiniert. Das heißt, dass der erste Teilnehmer seine Aufgabe zunächst abgeschlossen haben muss, bevor der zweite Teilnehmer seine Aufgabe bearbeiten kann. Eine gleichzeitige Bearbeitung der den Teilnehmern zugewiesenen Aufgaben ist in BPMN nicht vorgesehen.
Ein Gesamtprozessmit einem Pool und mehreren Lanes(Bild 12)
Autor
Dies ist dem Umstand geschuldet, dass BPMN im Kontext der Prozessautomatisierung entwickelt wurde. Die Workflow Engine steuert in diesem Fall den gesamten Prozess, auch wenn die darin enthaltenen Aufgaben von unterschiedlichen Teilnehmern ausgeführt werden. Auch im Hinblick auf die Modularisierung und gegebenenfalls Wiederverwendung ist es oft erwünscht, dass jeder Teilnehmer seinen eigenen kleinen Prozess hat. In diesem Fall können mehrere einzelne Prozesse modelliert werden, die dann über Nachrichtenflüsse miteinander verbunden werden (Bild 13). Das Zusammenspiel von mehreren Pools mithilfe von Nachrichtenflüssen wird als Kollaboration bezeichnet.

Nachrichtenflüsseverbinden mehrere separate Prozesse(Bild 13)
Autor
Bei der Verwendung von Pools und Nachrichtenflüssen sind die folgenden Regeln zu beachten:
- Nachrichtenflüsse laufen in eingetretene Nachrichten-Ereignissen oder in Aufgaben hinein.
- Nachrichtenflüsse laufen aus ausgelösten Nachrichten-Ereignissen oder aus Aufgaben heraus.
- In Aufgaben und Teilprozesse dürfen Nachrichtenflüsse sowohl hinein- als auch herauslaufen.
- Nachrichtenflüsse müssen stets Pool-Grenzen überschreiten; Sequenzflüssen ist dies nicht erlaubt.
Datenobjekte
Neben Aufgaben, Ereignissen und Gateways, die für die Steuerung eines Prozesses notwendig sind, sollen oft auch andere Aspekte berücksichtigt werden, wenn Informationen oder Dokumente in einem Prozess verwendet oder erzeugt werden. Zu diesem Zweck gibt es in BPMN die Datenobjekte. Mit Datenobjekten lassen sich jegliche Typen von Informationen repräsentieren, unabhängig davon, in welcher Form die Informationen vorliegen.BPMN bietet die folgenden Datenobjekte zur Modellierung an (Bild 14):
Datenobjektekönnen für jegliche Art von Information stehen(Bild 14)
Autor
- Ein Datenobjekt repräsentiert sämtliche Arten von Informationen, die durch einen Prozess fließen.
- Ein Listen-Datenobjekt steht für eine Gruppe von Informationen, die durch einen Prozess fließen.
- Ein Daten-Input ist eine Schnittstelle, über die ein Prozess von außen Daten empfängt und in einer Aktivität einliest.
- Ein Daten-Output ist eine Schnittstelle, über die das Ergebnis eines Prozesses in Form einer Variablen nach außen weitergegeben wird.
- Eine Daten-Assoziation verbindet Datenobjekte mit Aktivitäten.
- Ein Datenspeicher existiert unabhängig vom Prozess und steht diesem lesend wie schreibend zur Verfügung.

Prüfenund Verbuchen des Wareneingangs(Bild 15)
Autor
Textanmerkungen und Gruppierungen
Von der Textanmerkung wurde oben schon mehrfach Gebrauch gemacht. Mit einer Textanmerkung lassen sich zusätzliche Informationen hinterlegen, beispielsweise zum Erledigen von Aufgaben. Eine weitere Möglichkeit besteht darin, mehrere Aufgaben durch eine gestrichelte Umrandung zu gruppieren. Auf diese Weise lässt sich eine Textanmerkung für die gesamte Gruppe angeben, das heißt, die Textanmerkung bezieht sich auf mehrere Aufgaben gleichermaßen und muss entsprechend nur einmal getippt werden (Bild 16). Gruppierungen haben keinen Einfluss auf die Ausführung des Prozesses, durch sie wird keine parallele Abarbeitung oder Ähnliches festgelegt.
Anmerkungenkönnen für ganze Aufgabengruppen gelten, die durch gestrichelte Umrandungen zusammengefasst werden(Bild 16)
Autor
Darüber hinaus erlaubt es die BPMN-Spezifikation, eigene Symbole zu erstellen. Ein Beispiel wäre ein Symbol mit Geldmünzen, um einen Kassiervorgang genauer zu kennzeichnen. Auch hier gilt selbstverständlich, dass das verwendete Modellierungs-Tool eigene Symbole unterstützen muss.
Zusammenfassung und Ausblick
Nachdem der vorausgegangene Artikel bereits die allgemeinen Grundlagen von BPMN und die wichtigsten Diagrammsymbole vorgestellt hat, konnte dieser zweite Beitrag die Möglichkeiten um spezielle Aufgabentypen, Markierungen, Teilprozesse, Nachrichtenflüsse und Datenobjekte erweitern. Insbesondere die Verwendung von Teilprozessen ermöglicht zahlreiche unterschiedliche Ansätze der Modellierung. Dem aufmerksamen Leser wird nicht entgangen sein, dass die gezeigten Beispiele in vielen Aspekten nur einen Ausschnitt der Realität abbilden und je nach persönlicher Situation über Potenzial zur detaillierteren Darstellung verfügen. Denken Sie dabei aber stets daran, dass ein Modell nur so gut ist, wie es auch von allen beteiligten Anwendern verstanden wird und nicht zu unübersichtlich ist.Auch im Hinblick auf ein späteres Automatisieren von Prozessen verfügen Sie jetzt über ein solides Basiswissen. BPMN ist allerdings sehr umfangreich und definiert auch zu den besprochenen Themen zahlreiche weitere Details, welche die Möglichkeiten der Prozessdarstellung erweitern oder alternative Möglichkeiten aufzeigen. Neben der offiziellen Spezifikation [2] liefert das Praxishandbuch BPMN [3] einen sehr guten Überblick in deutscher Sprache.Der folgende dritte Teil der Serie wird sich auf das Modellieren von Regeln und Entscheidungen mithilfe der Decision and Model Notation (DMN) konzentrieren, die eng mit BPMN zusammenspielt und verknüpft werden kann.Fussnoten
- Jan Tittel, Einführung in BPMN, Prozessmanagement mit BPMN – Teil 1, dotnetpro 6/2020, Seite 44 ff., http://www.dotnetpro.de/A2006BPMN
- BPMN, http://www.omg.org/spec/bpmn
- Jakob Freund, Bernd Rücker, Praxishandbuch BPMN, Hanser, 6. Auflage 2019, ISBN 978-3-446-46111-6,