Nützlichkeit des Abbrechens: Unterprozesse in BPMN-Modellen (Teil 2)

Im ersten Teil des Beitrags („Übersichtlichkeit und Wiederverwendung: Unterprozesse in BPMN-Modellen (Teil 1)“) wurde erläutert, was Unterprozesse sind, welche Vorteile sie für die Gliederung großer Prozessmodelle bieten, und wie sie in anderen Prozessen wiederverwendet werden können.

In diesem zweiten Beitrag wird auf einen weiteren Vorteil von Unterprozessen eingegangen. Dieser besteht darin, dass man sie separat abbrechen kann. Ein Abbruch kann beispielsweise nötig sein, wenn ein Auftrag storniert wird, wenn die Antwort auf eine Anfrage zu lange dauert, oder wenn ein Fehler auftritt.

Um den kompletten Abbruch eines Prozesses zu modellieren, kann ein spezielles Endereignis verwendet werden: das Terminierungs-Endereignis bzw. Terminate End Event (Abbildung 1). Es ist insbesondere nützlich, wenn ein Prozessmodell parallele Pfade (Gateways) enthält. Beim Erreichen eines gewöhnlichen Endereignisses wird nur der jeweilige Pfad beendet. Wird hingegen ein Terminierungs-Endereignis erreicht, so wird sofort der gesamte Prozess abgebrochen.

Abbildung 1: Gewöhnliches Endereignis (links) und Terminierungs-Endereignis (rechts)

Unterprozesse können auf dieselbe Weise abgebrochen werden. Nach einem Abbruch erfolgt – ebenso wie nach dem gewöhnlichen Beenden eines Unterprozesses – der Rücksprung in den übergeordneten Prozess (Parent Process).

Der Bewerbungsprozess in Abbildung 2 enthält den Unterprozess (Sub-Process) „Bewerbung prüfen“. Je nach Ergebnis der Prüfung wird an dem verzweigenden Gateway entschieden, ob anschließend der Task „Bewerber einladen“ oder „Bewerber absagen“ ausgeführt wird.

Abbildung 2: Bewerbungsprozess

Der Unterprozess „Bewerbung prüfen“ ist in Abbildung 3 dargestellt. Er enthält zwei Tasks – zum einen prüft ein Personalreferent die formalen Voraussetzungen, zum anderen prüft der fachlich Verantwortliche die Bewerbung inhaltlich. Aufgrund des verzweigenden parallelen Gateways (Parallel Gateway) können diese beiden Tasks in beliebiger Reihenfolge durchgeführt werden. Man kann sich vorstellen, dass eine Marke durch das Prozessmodell fließt – ähnlich einer Spielmarke in einem Brettspiel. An dem parallelen Gateway wird sie in zwei Marken aufgesplittet. Die eine fließt durch den oberen Pfad, die andere durch den unteren.

Fallen beide Prüfungen positiv aus, so fließen beide Marken jeweils über den mit „Ja“ beschrifteten Ausgang der exklusiven Gateways zu dem zusammenführenden parallelen Gateway. Dort geht es erst weiter, wenn beide Marken angekommen sind. Sie werden wieder zu einer Marke verschmolzen, die dann zum Endereignis „Bewerbung akzeptiert“ fließt. Damit ist der Unterprozess abgeschlossen.

Abbildung 3: Unterprozess „Bewerbung prüfen“

Was aber passiert, wenn eine der beiden Prüfungen negativ ausfällt? Ergibt etwa die Prüfung der formalen Voraussetzungen ein negatives Ergebnis, so fließt die obere Marke über den mit „Nein“ beschrifteten Ausgang des anschließenden exklusiven Gateways direkt zu dem Terminierungs-Endereignis „Bewerbung abgelehnt“. Hätte man an dieser Stelle ein gewöhnliches Endereignis verwendet, so würde nur die eine Marke entfernt werden. Da es noch eine zweite Marke gibt, wäre der Unterprozess noch nicht beendet.

Falls die inhaltliche Prüfung noch nicht erfolgt ist, würde sie auch noch ausgeführt werden. Dies ist aber überflüssig, da aufgrund der negativen Prüfung der Formalia schon klar ist, dass die Bewerbung abgelehnt werden soll.

Bei einem positiven Ergebnis der inhaltlichen Prüfung würde die verbliebene Marke zudem zum zusammenführenden parallelen Gateway weiterfließen. Da es an einem solchen Gateway nur weitergeht, wenn über jeden Eingang eine Marke eingegangen ist, würde der Unterprozess an dieser Stelle stecken bleiben. Die andere Marke wäre ja bereits gelöscht, weshalb sie nicht mehr ankommen könnte.

Das Terminierungs-Ereignis löst diese Probleme. Sobald dort eine Marke eintrifft, wird der gesamte Unterprozess abgebrochen. Somit wird auch die Marke auf dem anderen parallelen Pfad gelöscht. Es wird also weder ein überflüssig gewordener Task ausgeführt, noch bleibt der Unterprozess stecken.

Stattdessen folgt sofort der Rücksprung in den übergeordneten Prozess. Der Unterprozess kann sein Ergebnis über einen zurückgegebenen Feldtyp mitteilen. In dem übergeordneten Prozess aus Abbildung 2 folgt auf den Unterprozess-Aufruf ein exklusives Gateway. Dort wird je nach zurückgemeldetem Prüfungsergebnis ein anderer Pfad gewählt.

Gibt es in einem Prozess also einen Teilbereich, der als Gesamtes abgebrochen werden soll, so bietet es sich an, diesen Teilbereich in einen Unterprozess auszulagern und darin ein Terminierungs-Endereignis zu verwenden.


Über den Autor:

Thomas Allweyer ist Professor für Unternehmensmodellierung und Geschäftsprozessmanagement an der Hochschule Kaiserslautern. Zu seinen zahlreichen Veröffentlichungen gehört ein Standardwerk zur Einführung in die Prozessmodellierungsnotation BPMN 2.0, das bereits in der vierten Auflage erschienen ist. Neben seiner Hochschultätigkeit ist er auch beratend tätig. Sein Blog www.kurze-prozesse.de beschäftigt sich mit aktuellen Themen im Umfeld des Geschäftsprozessmanagements.

Thomas Allweyer:
BPMN 2.0 – Business Process Model and Notation.
Einführung in den Standard für die Geschäftsprozessmodellierung.
4. Auflage Norderstedt 2020.
ISBN 978-3-7504-3526-1
Inhaltsverzeichnis und Leseprobe www.bpmn-buch.de

Kommentar verfassen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Nach oben scrollen