Freigeben über


Verwenden von Korrelationen in Orchestrierungen

Mithilfe von Korrelation wird sichergestellt, dass eine eingehende Nachricht der entsprechenden Instanz einer Orchestrierung entspricht. Beispiel: Eine Orchestrierung sendet eine Nachricht und empfängt die Antwort oder sendet eine Antwort an die gleiche Orchestrierung zurück. Es gibt drei korrelierte Muster für den Nachrichtenaustausch:

  • Herkömmlicher Handshake

  • Sequenzieller Konvoi

  • Paralleler Konvoi

    Im herkömmlichen Handshakemuster werden zwischen den Austauschvorgängen der Nachrichten Handshakes unter den Orchestrierungen bzw. Geschäftsprozessen ausgeführt. Sie können auch Handshakes ausführen, indem Sie Korrelationssätze in den Orchestrierungen definieren; dabei besteht ein Korrelationssatz aus einer Liste höher gestufter Eigenschaften mit spezifischen Werten, mit denen Sie Nachrichten zu einer bestimmten Orchestrierungsinstanz weiterleiten.

    Wenn z. B. eine Orchestrierung zum Ausgeben einer Bestellung, Empfangen einer Rechnung und Senden der Zahlung entworfen wurde, müssen Sie sicherstellen, dass die Rechnungsnachricht von der gleichen Orchestrierungsinstanz empfangen wird, die die entsprechende Bestellung gesendet hat, da möglicherweise zu diesem Zeitpunkt mehrere Bestellungen verarbeitet werden. In diesem Beispiel kann die Bestellungs-ID als Parameter im Korrelationssatz verwendet werden, um die Bestellungsnachricht und die Rechnungsnachricht zu korrelieren. Im Folgenden finden Sie den Ablauf für dieses Beispielszenario.

  1. Orchestrierung A sendet die Bestellungsnachricht an Orchestrierung B. Vor dem Senden der Bestellungsnachricht wird der Korrelationssatz initialisiert.

  2. In Orchestrierung B, die die Bestellung verarbeitet und die Rechnung generiert und sendet, folgt die erste Form des Typs Empfangen dem gleichen Korrelationssatz, um die Bestellungsnachricht zu empfangen.

  3. Nach Verarbeitung der Bestellungsnachricht wird beim Senden der Rechnungsnachricht an Orchestrierung A der gleiche Korrelationssatz befolgt.

  4. In Orchestrierung A folgt die Form vom Typ Empfangen, die von Orchestrierung B die Rechnungsnachricht empfängt, dem gleichen Korrelationssatz, um sicherzustellen, dass die korrelierte Rechnungsnachricht entsprechend dem vordefinierten Korrelationssatz empfangen wird.

    Die Muster Sequenzieller Konvoi und Paralleler Konvoi sind immer dann vorhanden, wenn mehrere einzelne Elemente aufeinander bezogen werden müssen, um Aufgaben auszuführen, die durch ein einzelnes Element allein nicht ausgeführt werden können. Weitere Informationen finden Sie unter Arbeiten mit Konvoiszenarios.

    Zusätzlich zu den korrelierten Empfangsmustern für Nachrichten gibt es zwei weitere Korrelationstypen in Orchestrierungen:

  • Manuelle Korrelation

  • Automatische Korrelation

    Im manuellen Korrelationsszenario werden die Orchestrierungen manuell konfiguriert, um den Korrelationssatz zum Verknüpfen von Nachrichten mit den richtigen Instanzen zu initialisieren und zu befolgen. Im automatischen Korrelationsszenario korreliert die Messaging-Engine automatisch die Nachrichten mit den Instanzen, z. B. wenn Sie in den Orchestrierungen einen Port vom Typ Anforderungsantwort oder vom Typ Selbstkorrelierend einrichten.

    Eine Korrelation muss immer verwendet werden, wenn die Orchestrierung nicht über eine explizite Methode zum Verknüpfen einer Nachricht mit einer Instanz verfügt, z. B. Ports vom Typ Aktivierter Empfang, Anforderungsantwort oder Selbstkorrelierend.

Beispiele für das Verwenden von Korrelationen

In diesem Abschnitt

Weitere Informationen

Verwenden von direkt gebundenen selbstkorrelierenden Ports