Blog

BPMN-Patterns: Alternative für inklusive Gateways

In der Theorie ist das inklusive Gateway der BPMN-Notation eine feine Sache. In der Modellierung kommt es in zwei Szenarien zum Einsatz: Beim Verzweigen werden die Bedingungen aller ausgehenden Pfade ausgewertet und alle Pfade, deren Bedingungen zutreffen, aktiviert. Beim Zusammenführen wird auf alle aktiven eingehenden Pfade gewartet, der Ablauf wird an dieser Stelle also synchronisiert. Was sich so einfach anhört, stellt sich aber in der Praxis als nicht ganz so trivial dar, insbesondere, wenn verzweigendes und synchronisierendes Gateway nicht paarweise auftreten. Daher rät die einschlägige Fachliteratur hier zu eben jener Blockstruktur mit einem verzweigenden Gateway und einem korrespondierenden Gateway, dessen Eingänge die Ausgänge des Verzweigenden sind.

Aber auch in diesem Einsatzszenario haben wir in der Praxis festgestellt, dass das inklusive Gateway so seine Tücken birgt – und zwar nicht nur auf der fachlich konzeptionellen Ebene, sondern auch beim Simulieren von Prozessmodellen sowie bei deren technischer Umsetzung. Einige Business Process Management Systeme lassen die Simulation von Prozessen mit inklusiven Gateways einfach nicht zu, andere bieten keine technischen Module für deren Realisierung an. Letzteres trifft insbesondere für das zusammenführende inklusive Gateway zu.

Zumindest für inklusive Gateways, die in einer Blockstruktur vorkommen, lässt sich dieses Problem durch folgendes Muster beheben:

Anstelle von inklusiven Gateways kommt hier eine Kombination von parallelen Gateways und exklusiven Gateways zum Einsatz. Das Verzweigen und Zusammenführen übernimmt dabei ein Pärchen von parallelen Gateways, die im Prozessmodell an die Stellen der inklusiven Gateways wandern. Das ist allerdings nur die halbe Miete, da jetzt immer in alle Pfade verzweigt wird und auch beim Zusammenführen auf alle Pfade gewartet wird. Wir wollen ja aber nur bestimmte Pfade ausführen. Das erreichen wir, in dem wir auf die parallelen Pfade zwischen den parallelen Gateways jeweils Pärchen von exklusiven Gateways setzen. Das erste wird vor dem ersten Prozessschritt auf dem Pfad gesetzt und mit der Bedingung für die Ausführung des Pfades bestückt. Nur wenn diese erfüllt ist, werden die Prozessschritte ausgeführt. Ansonsten führt der alternative Pfad komplett daran vorbei. Hinter den Prozessschritten des Pfades werden beide Wege über ein zweites exklusives Gateway wieder zusammengeführt. Der ausgehende Pfad wird dann direkt in das zusammenführende parallele Gateway geführt.

Über den Autor

Roman Schlömmer

Roman ist einer der beiden Vorturner im Bereich BPM/SOA und daneben noch begeisterter Audi V8 Fahrer, Ente V8 Esser und Vater einer kleinen Tochter...

Antwort hinterlassen