Show TOC Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Beispiel: Multicast - Mehrere Empfänger (mit Response-Message)  Dokument im Navigationsbaum lokalisieren

Sie können eine Message an mehrere Empfänger senden und auf eine Response-Message der jeweiligen Empfänger warten. Das Senden an mehrere Empfänger mit Warten auf eine Response-Message wird auch als Multicast bezeichnet.

Die Empfänger werden zur Laufzeit über die im Integration Directory konfigurierte Empfängerermittlung ermittelt. Die Anzahl der Empfänger muss also zur Design-Zeit noch nicht bekannt sein.

Sie können einen Multicast auf unterschiedliche Arten definieren. Die nachfolgende Tabelle zeigt verschiedene Möglichkeiten. Die Beispiele finden Sie im Integration Repository unter SAP Basis SAP Basis 6.40 im Namensraum http://sap.com/xi/XI/System/Patterns.

 

Multicast

Beschreibung

Beispiel

Nacheinander senden (Block im Modus Dynamische Sequenz)

Mehrere Message werden  nacheinander an die einzelnen Empfänger gesendet.

BpmPatternMulticastSequential

Gleichzeitig senden (Block im Modus Dynamische Parallelität)

Mehrere Messages werden gleichzeitig an die einzelnen Empfänger gesendet.

BpmPatternMulticastParallel

 

Beispielprozesse

Die Beispielprozesse werden durch den Empfang einer Message im Containerelement Message im ersten Empfangsschritt gestartet. Ein anschließender Empfängerermittlungsschritt ruft die im Integration Directory konfigurierte Empfängerermittlung auf und liefert die Empfängerliste im mehrzeiligen Containerelement Receivers. Die Message wird in einem dynamischen Block entweder nacheinander oder parallel an die Empfänger gesendet.

Als mehrzeiliges Element für die dynamische Verarbeitung dient das Containerelement Receivers definiert. Für die aktuelle Zeile ist das Containerelement Receiver definiert. Dieses liefert die einzelnen Empfänger, für die der Block ausgeführt wird.

Jeder Empfänger sendet eine Response-Message, die im Containerelement Response empfangen wird. Die gesendete Message und die Response-Message sind über eine Korrelation verknüpft.

Die gesendete Message könnte z. B. ein Bestellauftrag sein, die Response-Message die Bestellantwort. Bestellauftrag und Bestellantwort können z. B. über eine Bestellnummer korreliert sein.

Eins der abstrakten Interfaces wird Inbound verwendet, das andere Outbound (siehe auch: Prozesssignatur).

Nacheinander senden (Dynamische Sequenz)

Wenn es nicht erforderlich ist, dass die Message gleichzeitig an die verschiedenen Empfänger gesendet wird, sondern lediglich, dass sie an die verschiedenen Empfänger gesendet wird, definieren Sie den Block als dynamische Sequenz. Innerhalb des Blocks sendet ein Sendeschritt die  Message an den ersten Empfänger der Empfängerliste und erzeugt die Korrelation Correlation. Ein Empfangsschritt verwendet Correlation und empfängt die Response-Message des ersten Empfängers. Ist dieser Empfangsschritt beendet, wird die Message an den nächsten Empfänger der Empfängerliste gesendet. Auf diese Weise wird die gesamte Empfängerliste abgearbeitet.

Damit für jeden Empfänger eine eigene Instanz der Korrelation verarbeitet werden kann, ist Correlation als lokale Korrelation definiert.

Folgende Grafik zeigt die Definition des Prozesses:

Diese Grafik wird im zugehörigen Text erklärt

Gleichzeitig senden (Block mit dynamischer Parallelität)

Der Block ist als dynamische Parallelität definiert. Pro Empfänger der Empfängerliste wird eine Blockinstanz erzeugt, in der folgende Schritte ausgeführt werden:

·        Ein Sendeschritt sendet eine Message an den Empfänger und aktiviert die Korrelation Correlation. Damit für jede Instanz des Blocks eine eigene Instanz der Korrelation verarbeitet kann, ist Correlation als lokale Korrelation definiert.

·        Ein Empfangsschritt verwendet diese Korrelation und empfängt die Response-Message des Empfängers.

Der Block ist beendet, sobald alle parallel erzeugten Blockinstanzen beendet sind, also die Response-Message von allen Empfängern der Empfängerliste empfangen wurde.

Hinweis

Beachten Sie, dass eine dynamische Parallelität keine Performance-Vorteile bringt.

Siehe auch: Checkliste: Dynamische Parallelität richtig einsetzen

Folgende Grafik zeigt die Definition des Prozesses:

Diese Grafik wird im zugehörigen Text erklärt

Ende des Inhaltsbereichs