Kommentare
Melden Sie sich an, um einen Kommentar zu verfassen.
Gateways
Um Verzweigungen im Kontrollfluss eines Prozessmodells zu modellieren, werden in BPMN Gateways genutzt. Gateways dienen der Verzweigung und Zusammenführung von Sequenzflüssen.
Man unterscheidet zwischen exklusiven, parallelen, inklusiven und komplexen Gateways.
Dieses Tutorial beschäftigt sich mit den folgenden Kontrollflussverzweigungen:
- Daten-basiertes XOR-Gateway (exklusiv)
- AND-Gateway (parallel)
- OR-Gateway (inklusiv)
- Ereignisbasiertes XOR-Gateway (exklusiv)
- Complex-Gateway (komplex)
Daten-basiertes XOR-Gateway
Mit dem Daten-basierten XOR-Gateway modelliert man eine Verzweigung des Typs „entweder-oder“.
Abhängig von der Verzweigungsbedingung wird der Sequenzfluss zu genau einer ausgehenden Kante geleitet.
Beispiel:
Es wird eine Bestellung entgegengenommen. Anschließend soll diese entweder weitergeleitet oder verworfen werden. Welche der beiden Aktionen ausgeführt wird, ist abhängig von der Bedingung, ob die Bestellnummer korrekt oder ungültig ist. Je nachdem, welcher Fall vorliegt, wird die nachfolgende Aktivität ausgeführt.
Bei einer Zusammenführung wird der ausgehende Sequenzfluss genau dann aktiv, wenn genau eine der eingehenden Kanten abgearbeitet worden ist.
Beispiel:
Nachdem die Bestellung entweder weitergeleitet oder verworfen worden ist, wird der Bestellvorgang abgeschlossen.
AND-Gateway
Das AND-Gateway modelliert den Verzweigungstyp "und".
Bei einer Verzweigung werden alle ausgehenden Kanten des Gateways simultan aktiviert.
Beispiel:
Nachdem ein Kundenanruf entgegengenommen worden ist, soll sich der zuständige Mitarbeiter gleichzeitig nach den Wünschen des Kunden erkundigen und nebenbei seine Bestellung in das System eintragen.
Bei einer Zusammenführung wird gewartet bis alle eingehenden Kanten abgearbeitet worden sind, bevor der ausgehende Sequenzfluss aktiviert wird.
Beispiel:
Erst nachdem sowohl alle Wünsche des Kunden aufgenommen worden sind, als auch die Bestellung in das System eingetragen worden ist, wird das Kundengespräch beendet.
OR-Gateway
Das OR-Gateway modelliert den Verzweigungstyp "oder".
Bei einer Verzweigung werden abhängig von Verzweigungsbedingungen eine oder mehrere ausgehenden Kanten aktiviert.
Beispiel:
Bei der Kundenzufriedenheitsprüfung werden die beiden Punkte 'Lieferservice' und 'Produktqualität' abgefragt. Da die Bewertung des Kunden sowohl in beiden, als auch in gar keinem oder nur in einem Bereich positiv ausfallen kann, werden je nachdem ein oder zwei ausgehende Kanten aktiviert.
Ist der Kunde mit dem Lieferservice und der Produktqualität zufrieden,werden dem Lieferservice Punkte angerechnet und das Produkt erhält eine höhere Wertung. Ist der Kunde generell unzufrieden, wird nur die eine entsprechende ausgehende Kante aktiviert.
Bei einer Zusammenführung wird auf alle aktiven eingehenden Kanten gewartet, bevor der ausgehende Sequenzfluss aktiviert wird.
Beispiel:
Hat der Kunde sowohl den Lieferservice als auch das Produkt positiv bewertet, ist die Überprüfung erst abgeschlossen, wenn die Aktivitäten 'Lieferservice erhält Punkte' und 'Produktwertung wird aufgewertet' beide ausgeführt worden sind. Ist der Kunde generell unzufrieden gewesen, wird nur auf die eine entsprechende eingehende Kante gewartet.
Ereignisbasiertes Gateway
Zum Modellieren ereignis-gesteuerter Entscheidungen, wird das Ereignis-Basierte Exklusive Gateway (Event-Based Exclusive Gateway) verwendet.
In der Regel folgen dem Ereignis-Basierten Exklusiven Gateway zwei oder mehr eintretende Zwischenereignisse (Catch Intermediate Events) - hier sind Nachrichten-Ereignisse, Zeit-Ereignisse, Bedingungs-Ereignisse und Signal-Ereignisse erlaubt.
Beispiel:
Tom möchte mit einem Mädchen einen Kaffee trinken gehen. Er schreibt ihr eine SMS und wartet auf ihre Antwort. Je nachdem, ob sie mit "Ja" oder mit "Nein" antwortet, geht er mit ihr aus bzw. bleibt er enttäuscht Zuhause.
Da es vorkommen kann, dass keines der modellierten Ereignisse eintritt und somit der Prozess stecken bleibt, sollte man immer auch ein Zeit-Ereignis mitmodellieren, um dies zu verhindern.
Beispiel:
Hat Tom nach 3 Tagen immer noch keine Antwort von dem Mädchen erhalten, möchte er nicht länger auf eine Nachricht warten und erkundigt sich bei ihr, ob seine SMS überhaupt angekommen ist.
Komplexes Gateway
Eine oder mehrere Kanten werden abhängig von komplexen Bedingungen
oder verbalen Beschreibungen aktiviert. Es sollte nur benutzt werden, wenn
sich das Verhalten nicht durch andere Gateways ausdrücken lässt.
Neue Gateways mit BPMN 2.0
Mit BPMN 2.0 werden zwei neue Gateway-Typen eingeführt, das Exclusive Event-based Gateway (instantiate) sowie das Parallel Event-based Gateway (instantiate).
Neu ist hier generell die Semantik der Gateways, sie stehen am Anfang eines Prozesses. Das Exclusive Event-based Gateway (instantiate) ähnelt in seiner Bedeutung dem klassischen Event-based Gateway, das Gateway wartet auf eines der im Anschluss definierten (Intermediate) Eventsund leitet den Kontrollfluss entsprechend weiter. Während dasklassische Event-based Gateway inmitten eines Prozesses verwendet wird,steht das neue Exclusive Event-based Gateway (instantiate) - wiebereits angedeutet - ausschließlich am Anfang eines Prozesses.
Der scheinbar gleiche Sachverhalt könnte auch ohne den neuen Gateway-Typen ausgedrückt werden, mit einem einfachen Start-Event und dem klassischen Event-based Gateway.
Im Sinne der Ausführungssemantik ergibt sich allerdings ein wesentlicher Unterschied: Der Prozess wird in der klassischen Variante gestartet(initiiert) und wartet auf ein einzutreffendes Event. Die neue Modellierung startet den Prozess erst, wenn das Event bereits eingetroffen ist. In der Regel ist die neue Modellierung zu bevorzugen.
Das Parallel Event-based Gateway (instantiate) entspricht dem eben vorgestellten Exclusive Event-based Gateway (instantiate) - mit dem Unterschied, dass alle anschließend definierten Events eintreten müssen bevor der Prozess gestartet wird.

Sascha Ziemann 21.06.2011 14:27
Gero Decker 24.03.2009 12:20
Emilia Wittmers 30.03.2009 10:13
Alexander Grosskopf 23.03.2009 17:08
Emilia Wittmers 30.03.2009 10:15
Alexander Grosskopf 23.03.2009 16:31
Emilia Wittmers 30.03.2009 10:18