Prozessabläufe mit Gateways konvergieren und divergieren

Gateways steuern die Divergenz und Konvergenz von Sequenzabläufen. Ferner legen sie die Verzweigung und die Zusammenführung der Pfade fest, die ein Prozess zur Laufzeit einschlagen kann.

Informationen zu dieser Task

Bedingungs- und Entscheidungsgateways kann man sich als Fragen vorstellen, die an einem bestimmten Punkt im Ablauf gestellt werden. Zu jeder Frage gibt es bestimmte Antworten, die zu Verzweigungen führen. Der Prozess kann nur fortgesetzt werden, wenn eine gültige Antwort vorhanden ist. Sie können die Fragen mithilfe von JavaScript-Bedingungen modellieren, die ausgewertet werden, bevor der Ablauf fortgesetzt werden kann.

In einem Service-Flow-Diagramm können Sie nur exklusive Gateways verwenden.

In einem Prozessdiagramm können Sie jeden der folgenden Gateway-Typen modellieren:

Tabelle 1. Gateway-Typen, die in Prozessdiagrammen modelliert werden können
Komponentensymbol Gateway-Typ Beschreibung
Symbol für paralleles Gateway
Parallel (AND)

Verwenden Sie ein paralleles divergierendes Gateway, wenn der Prozess alle verfügbaren Pfade durchlaufen soll.

Verwenden Sie ein paralleles konvergierendes Gateway, wenn Sie alle verfügbaren Pfade zusammenführen möchten.

Symbol für Inclusive Gateway
Inklusiv (OR)

Verwenden Sie ein inklusives divergierendes Gateway, wenn einer oder mehrere Pfade auf der Basis der von Ihnen angegebenen Bedingungen durchlaufen werden sollen.

Im nachgelagerten Ablauf eines inklusiven divergierenden Gateways können Sie mehrere Pfade zu einem einzigen Pfad zusammenführen, nachdem die Ausführung aller aktiven Pfade abgeschlossen ist. Verwenden Sie eine vorgelagerte inklusive Verknüpfung (Inclusive Join) in jedem Pfad, um festzustellen, ob der Pfad aktiv ist und darum angehalten werden muss. Andernfalls wird das Token weitergegeben, ohne den Pfad anzuhalten.
Symbol für exklusives Gateway
Exklusiv (XOR) Verwenden Sie diesen Typ, um einen Punkt in der Prozess- oder Serviceablaufausführung zu modellieren, an dem je nach Bedingung nur einer von mehreren Pfaden verfolgt werden kann, oder um einen Punkt in der Prozessausführung zu modellieren, an dem das Token für einen von mehreren eingehenden Pfaden durch das Gateway weitergegeben wird.
Hinweis: Die exklusiven Gateways sind die einzigen Gateways, die in Benutzerservice implementiert werden können. Weitere Informationen finden Sie unter Implementieren exklusiver Gateways.
Symbol für Ereignisgateway
Ereignis Verwenden Sie diesen Typ, um einen Punkt in der Prozessausführung zu modellieren, an dem je nach den eingetretenen Ereignissen nur einer von mehreren Pfaden eingeschlagen werden kann. Ein bestimmtes Ereignis (z. B. der Empfang einer Nachricht oder eines Zeitgeberereignisses) bestimmt, welcher Pfad verwendet wird. Ein Ereignisgateway muss auf eine bestimmte Weise modelliert werden, wie in Ereignisgateways modellierenbeschrieben.

Wenn Sie inklusive und exklusive Gateways modellieren und alle Bedingungen als falseausgewertet werden, folgt der Prozess dem Standardsequenzablauf. Der Standardsequenzablauf ist der erste Sequenzablauf, den Sie ausgehend vom Gateway zu einer nachfolgenden Aktivität erstellen, Sie können den Standardsequenzablauf jedoch jederzeit wie nachstehend beschrieben ändern.

Gehen Sie wie folgt vor, um Gateways zu einem Prozess- oder Benutzerservicediagramm hinzuzufügen:

Vorgehensweise

  1. Ziehen Sie ein Gateway aus der Palette in das Diagramm.
  2. Erstellen Sie den erforderlichen Sequenzablauf zum und vom Gateway.
    Der Standardsequenzablauf ist die erste Sequenz, die Sie ausgehend vom Gateway zu einer nachfolgenden Aktivität erstellen. Sie können den Standardablauf für ein Gateway ändern, indem Sie den Sequenzablauf in den Implementierungseigenschaften neu ordnen.
  3. Wählen Sie im Abschnitt Allgemein der allgemeinen Eigenschaften einen Gateway-Typ aus.
  4. Optional: Bei einem exklusiven oder inklusiven Gateway können Sie, wenn die Entscheidung komplex ist, einen Service-Flow oder Entscheidungsservice als Hauptlogik der Entscheidung festlegen. Wählen Sie hierzu in der Registerkarte Entscheidung der Eigenschaften einen Service-Flow oder einen Entscheidungsservice aus, und definieren Sie die erforderliche Eingabezuordnung.
  5. Konfigurieren Sie die Implementierung für das Gateway.
    1. Jede ausgehende Sequenzlinie in einem inklusiven oder exklusiven Gateway (mit Ausnahme der Standardlinie) erfordert eine Bedingung (in JavaScript), die steuert, ob der Pfad befolgt wird.
      Stellen Sie sicher, dass der als Default Sequence Flow angezeigte Sequenzfluss derjenige ist, dem der Prozess oder Service-Flow folgen soll, wenn alle Bedingungen als false ausgewertet werden. Wenn nicht, ordnen Sie die Linien neu, bis die gewünschte Linie als Standardlinie bezeichnet wird.
      Hinweis:

      Gatewayentscheidungsausdrücke werden als letzte Operation beim Ausführen eines Gateways ausgewertet, nachdem der POST-Ausdruck ausgeführt wurde.

      Ein Standardsequenzablauf hat keine Bedingung.

      Tipp: Wenn das Gateway durch einen Service implementiert wird, wie in Schritt 4beschrieben, können Sie über den Namensbereich tw.decisionauf die Ausgabe des Service zugreifen.
    2. Informationen zu Ereignisgateways finden Sie unter Ereignisgateways modellieren.
  6. Klicken Sie auf Speichern oder auf Bearbeitung beenden.
    Details zur Deklaration von Variablen für die clientseitigen menschlichen Dienste finden Sie unter Deklaration von Variablen