Der letzte Beitrag dieser Beitragsserie war eine Einleitung zur BPMN sowie eine Darstellung zur Aufgabe und Verwendung von Pools und Lanes. Nun möchte ich etwas tiefer in Geschäftsprozesse eintauchen und einen Überblick über Aktivitäten geben.
Was ist ein Geschäftsprozess?
Die Object Management Group definiert in ihrem Business Motivation Model (BMM Version 1.1, S. 59) einen Geschäftsprozess folgendermaßen:
a set of activities that are performed within an organization or across organizations
Und ergänzt mit folgenden Hinweisen:
A Business Process may contain more than one separate Process. Each Process may have its own Sub-Processes. Individual Processes would be independent in terms of sequence flow, but could have message flows connecting them.
An activity is work that is performed within a business process. An activity can be atomic or non-atomic (compound). The types of activity that are a part of a Business Process are: Process, Sub-Process, and Task.
Gemäß des BMM der OMG ist ein Geschäftsprozess also eine Reihe von Aktivitäten innerhalb einer Organisation oder eine Reihe von organisationsübergreifender Aktivitäten. Ein Geschäftsprozess setzt sich aus mehr als einem separaten Prozess zusammen. Jeder Prozess hat seine eigenen Teilprozesse. Die beteiligten individuellen Prozesse sind zwar unabhängig bzgl. ihres Sequenzflusses, können aber durch Nachrichtenflüsse verbunden sein. Eine Aktivität ist eine Aufgabe, die innerhalb eines Geschäftsprozesses ausgeführt wird. Sie kann atomar oder zusammengesetzt sein. Die Aktivitäten, die Teil eines Geschäftsprozesses sind, sind der Prozess, die Teilprozesse und die Tasks oder Tätigkeiten.
In einem Seminar, an dem ich einmal teilnahm, definierte die Seminarleiterin einen Prozess auf folgende Art und Weise:
Ein Prozess ist eine Maschine, in die man ein Schwein hineinsteckt, die verschiedene Aktivitäten ausführt und aus der Wurst herauskommt.
Das ist zwar sehr rüde und populärsprachlich ausgedrückt, aber im Wesentlichen ganz treffend formuliert. Sie hatte damals das Schwein und die Wurst ergänzt, was den Input und Output eines Prozesses ausmacht. Die Maschine steht als Blackbox für die Aktivitäten, in die ein Input hineingesteckt wird und aus denen ein Output herauskommt. Ein Prozess hat in der Regel noch einen Auslöser, den wir aber in einem späteren Beitrag behandeln werden.
Die Aktivitäten
Aktivitäten in Prozessen werden durch Rollen ausgeführt. Rollen sind keine konkreten Personen! Eine Person kann innerhalb eines Prozesses eine oder mehrere Rollen wahrnehmen. Bspw. kann ein Mitarbeiter in einem Support Prozess die Rolle eines Helpdesk-Mitarbeiters wahrnehmen und gleichzeitig Experte für eine spezielle Problematik im Second Level Support sein.
Task
Der Task ist die atomare Aktivität innerhalb von Prozessen.
Teilprozess
Um Teilbereiche detaillierter darzustellen sieht die BPMN den Teilprozess vor. Ein Teilprozess setzt sich aus Aktivitäten zusammen.
Für den Teilprozess gibt es die Darstellung des aufgeklappten und zugeklappten Teilprozesses. Der zugeklappte Teilprozess verweist auf ein eigenständiges Diagramm, in dem der detaillierte Ablauf festgehalten ist. Der zugeklappte Teilprozess enthält ein Plus-Zeichen als Marker, der symbolisiert, dass der Teilprozess aufgeklappt werden kann. Der Sequenzfluss wird im aufgeklappten Zustand nicht mit den innen liegenden Elementen verbunden.
Prozess
Der Prozess selbst ist eine Abfolge von Aktivitäten und stellt unternehmensweite Abläufe innerhalb eines Pools dar. Ein Geschäftsprozess Diagramm (Geschäftsprozesse modellieren – Pools und Lanes) kann bekanntlich mehrere Pools enthalten. Für den Prozess hat die BPMN kein eigenes Symbol.
Prozesstopologie und Prozesshierarchie
Wenn man von Prozesstopologie spricht, meint man die Abläufe des Prozesses und ihre Beziehungen zueinander. Man spricht auch von der horizontalen Ebene.
Wenn man von Prozesshierarchie spricht, meint man, dass Prozesse wiederum Teil eines übergeordneten Prozess sein können. Man spricht auch von der vertikalen Ebene.
Aktivitätstypen
Den einfachen Task ohne Typ und den zugeklappten Teilprozess kennen wir bereits.
Schleifen-Task und Schleifen-Teilprozess
Als nächstes sehen wir uns den Typ Schleife an. Task oder Teilprozess werden so lange ausgeführt, bis die Schleifenbedingung erfüllt ist. Die Schleifenbedingung ist dabei ein nicht dargestelltes Attribut der Aktivität.
Mehrfach-Instanz
Die Mehrfach-Instanz wird parallel oder sequenziell mit unterschiedlichen Daten gestartet.
Ad-hoc Teilprozess
Bei einem Ad-hoc-Teilprozess werden die Aktivitäten ohne vorgegebene Reihenfolge ausgeführt. Die jeweilige Rolle, die die Aktivitäten ausführt, hat die Freiheit die Reihenfolge selbst festzulegen. Ein Ad-hoc Teilprozess enthält wegen der willkürlichen Reihenfolge der Aktivitäten auch keine Sequenzflüsse.
Transaktion und Kompensation
Eine Transaktion setzt sich aus mehreren Schritten zusammen, die ein unteilbares Ganzes ergeben.
Ein klassisches Beispiel für eine Transaktion sind bargeldlose Bezahlvorgänge. Erst wenn das Konto des Bezahlenden belastet ist und das Geld auf dem Konto des Empfängers gutgeschrieben ist, ist der Buchungsvorgang abgeschlossen. Es darf also niemals passieren, dass die Gutschrift fehlschlägt und das Konto des Bezahlenden belastet wird. Schlägt eine Aktion fehl, käme es zu Inkonsistenzen.
Kann also die Gutschrift nicht erfolgen, müssen alle Aktivitäten des Buchungsvorgangs rückgängig gemacht werden. Dafür gibt es die Kompensation. Sie macht als Umkehraktion alle Schritte der Transaktion rückgängig und stellt die Konsistenz wieder her.
Verhaltenstypen von Tasks und Teilprozessen
Die BPMN in der Version 2.0 sieht folgende Tasktypen mit vordefinierten Grafiken vor. Einige der Tasktypen haben Einschränkung bzgl. der Nachrichtenflüsse.
- Ohne Verhalten Sendender Task
Er verschickt Nachrichten an andere externe Teilnehmer. - Empfangender Task
Der empfangende Task erwartet Nachrichten von externen Teilnehmern und empfängt sie. Sobald die Nachricht eintrifft ist der Task beendet. - Manueller Task
Manuell ausgeführter Task. Hat weder eingehende noch ausgehende Nachrichtenflüsse. - Benutzer Task
Teilautomatisierter Schritt. Eingehende Nachrichtenflüsse erhält er am Start, ausgehende verschickt er, wenn er beendet wurde. - Service Task
Automatisierbare Applikation, die Nachrichtenflüsse zulässt. - Script Task
Wird von einer Process Engine ausgeführt und hat weder eingehende noch ausgehende Nachrichtenflüsse. - Referenz Task
Ist ein Verweis auf einen wiederverwendbarer Task.
Für Teilprozesse gibt es als Verhaltenstyp den eingebetteten Teilprozess, der im Elternprozess von dem er abhängig ist, enthalten ist. Demnach darf man den Teilprozess nicht in anderen Prozessen wiederverwenden. Er enthält zudem weder Pools noch Lanes, da diese im Elternprozess definiert sind. „Eingebettet“ stellt quasi die Voreinstellung dar.
Weiterhin gibt es den wiederverwendbaren Teilprozess. Er wird in einem eigenen Diagramm beschrieben. Alle Daten werden dem Teilprozess explizit übergeben. Da er autark funktioniert, kann er von anderen Prozessen wiederverwertet werden und darf eigene Pools und Lanes enthalten.
Für die Verwendung von „eingebettet“ und „wiederverwendbar“ gibt es kein Notationselement. Die Umsetzung wird beim Modellieren durch manche Modellierungstools technisch gelöst.
Hast Du Lust auf mehr?
Wenn Du Interesse an der BPMN und Prozessen und Aktivitäten hattest, interessieren Dich vielleicht auch die folgenden Beiträge. Im nächsten Beitrag stelle ich Sequenzflüsse und Gateways sowie den Ablauf-Token vor.
Bisherige Beiträge zur BPMN
- Geschäftsprozesse modellieren mit der BPMN – Pools und Lanes
- Geschäftsprozesse modellieren mit der BPMN – Prozesse und Aktivitäten
- Geschäftsprozesse modellieren mit der BPMN – Gateways und Sequenzfluss
- Geschäftsprozesse modellieren mit der BPMN – Ereignisse und Auslöser
- Geschäftsprozesse modellieren mit der BPMN – Artefakte