Exkurs: BPMN
BPMN - Business Process Model Notation - ist eine Modellierungssprache die bei der Entwicklung von Schleupen.CS 3.0 häufig zur Anwendung kommt. Zeit, sich diese genauer anzusehen!
Modellierung von Geschäftsprozessen
Die durch Schleupen.CS 3.0 umgesetzten Geschäftsprozesse werden mit Hilfe der Business Process Model Notation Version 2.0, kurz BPMN beschrieben. BPMN ist eine Spezifikationssprache zur Modellierung und Dokumentation von Geschäftsprozessen.
Was verstehen wir unter einem Geschäftsprozess
Ein Geschäftsprozess ist ein definierter Arbeitsablauf, an dem verschiedene Rollen beteiligt sein können, in denen Menschen oder Softwarebausteine agieren. Der Arbeitsablauf besteht aus einer Folge von Aktivitäten, die sich über einen längeren Zeitraum erstrecken können. Es ist ausdrücklich vorgehsehen, dass der Ablauf auch unterbrochen werden kann, um zu einem späteren Zeitpunkt fortgesetzt zu werden.
Geschäftsprozesse werden ausgeführt, um ein geschäftliches oder betriebliches Ziel zu erreichen.
Auch wenn es vom Grundprinzip her egal ist, ob ein Geschäftsprozess durch Software unterstützt wird, ist es im Kontext von Schleupen.CS unser Ziel, Geschäftsprozesse zu automatisieren. Dabei soll der Geschäftsprozess mit möglichst wenig Benutzerinteraktion auskommen. Wir nennen dies den Wechsel vom entscheidungsbasierten zum geschäftsprozessorientierten System.
BPMN Modellierung
Geschäftsprozesse von Schleupen.CS werden in BPMN modelliert. Das folgende Diagramm stellt ein Beispiel dar.
Grundlegende Sprachelemente
BPMN verwendet folgende grundlegende Sprachelemente, von denen es jeweils spezielle Ausprägungen gibt. Wir geben hier einen kurzen Überblick:
- Ereignisse (Kreise)
Start-Ereignis, Zwischen-Ereignis, End-Ereignis - bilden ab, dass etwas passiert ist, d.h. der Sequenzfluss wir beim Eintreten des Ereignisses an dieser Stelle fortgesetzt. - Aktivitäten (Rechtecke)
Z.B. Benutzer-Aktivität, Service-Aktivität - bilden ab, was getan wird, d.h. dass eine Aktion ausgeführt wird. - Sequenzfluss (Pfeile)
Definiert, den Ablauf, d.h. den zeitlichen Zusammenhang in dem die Aktivitäten und Ereignissen stehen. - Gateways (Rauten)
Legen Verzweigungen und Zusammenführungen im Sequenzfluss fest. Verzweigungen können von Bedingungen abhängen und zu parallel abgearbeiteten Sequenzen führen. - Pools und Lanes (Swimlanes, ggf. gruppiert)
Definieren in welchem Kontext und / oder durch welche Rolle eine Sequenz ausgeführt wird.
Token-Konzept
Hilfreich für das Verständnis von BPMN ist das sogenannte Token-Konzept. Es beschreibt anschaulich, wie der Sequenzfluss durchlaufen wird. das beschreibt, welche Pfade in Reihe, parallel etc. gemäß der Sequenzflüsse ausgeführt werden und wann bzw. wie diese evtl. synchronisiert werden.
Im folgenden Beispiel kann man sehen, wie das Token von Aktivität zu Aktivität weitergereicht wird:
- Das beginnt beim Startereignis.
- Das Token wandert entlang des Sequenzflusses zur ersten Aktivität. Diese wird ausgeführt.
- Nach Beendigung der Aktivität wandert das Token weiter zum ersten Gateway. Hier entscheidet sich anhand der Frage "Bücher verfügbar?", welcher weitere Sequenzfluss verfolgt wird.
- Da Bücher vorhanden sind, wird der Sequenzfluss "Ja" verfolgt" und die Aktivität "Bücher ausleihen" wird ausgeführt.
- Über das zusammenführende Gateway wandert das Token zum Endereignis.
Es gibt Gateways, die zu einer Duplizierung oder Teilung des Tokens führen. Geteilte Tokens können wieder zusammengeführt werden.
Das AND-Split Gateway (parallel fork) beispielsweise teilt das Token auf. Anschließen laufen die beiden Token parallel durch die Sequenzflüsse (nebenläufig).
Beim AND-Join-Gateway (parallel join) werden die Token wieder verschmolzen und synchronisierend geblockt. Das vereinte Token läuft erst nach Eintreffen beider Teile am Gateway weiter.
Schulungsvideos anderer Anbieter:
BPMN 2.0 - Grundelemente (Tutorial Part 1)
BPMN 2.0 - Gateways (Tutorial Part 2)
BPMN 2.0 - Aktivitäten (Tutorial Part 3)
BPMN 2.0 - Ereignisse (Tutorial Part 4)
BPMN 2.0 - Pools & Lanes (Tutorial Part 5)
BPMN 2.0 - Daten (Tutorial Part 6)