Ein Nachrichtenflussknoten ist ein Verarbeitungsschritt in einem Nachrichtenfluss.
Er empfängt eine Nachricht, führt eine Reihe von Aktionen für die Nachricht aus und gibt die Nachricht optional an den nächsten Knoten im Nachrichtenfluss weiter. Bei einem Nachrichtenflussknoten kann es sich im einen integrierten Knoten , einen benutzerdefinierten Knoten, oder einen untergeordneten Nachrichtenflussknoten handeln.
Ein Nachrichtenflussknoten verfügt über eine festgelegte Anzahl von Ein- und Ausgabepunkten, die Terminals genannt werden. Sie können zwischen den Terminals Verbindungen herstellen, um die Routen zu definieren, die eine Nachricht im Nachrichtenfluss nehmen kann.
Weitere Informationen zu allen von WebSphere Event Broker bereitgestellten integrierten Knoten finden Sie unter Integrierte Knoten.
Der untergeordnete Fluss, der in einen Hauptfluss eingebettet ist, wird von einem Knoten des untergeordneten Flusses dargestellt. Diesem ist ein eindeutiges Symbol zugeordnet. Das Symbol wird mit der richtigen Anzahl an Terminal angezeigt, um die Empfangs- und Sendeknoten darzustellen, die Sie in die Definition des untergeordneten Flusses aufgenommen haben.
Die Verwendung von untergeordneten Flüssen wird im Beispielprogramm 'Error Handler' und im Beispielprogramm 'Coordinated Request Reply' veranschaulicht. Das Fehlerbehandlungsbeispiel verwendet einen untergeordneten Nachrichtenfluss zum Erfassen von Fehlerinformationen und Speichern der Informationen in einer Datenbank. Das Beispielprogramm 'Koordinierte Anforderungsantwort' verwendet einen untergeordneten Nachrichtenfluss zur Einbindung des Speichers der 'ReplyToQ'- und 'ReplyToQMgr'-Werte in einer WebSphere MQ-Nachricht, so dass die Verarbeitungslogik in anderen Nachrichtenflüssen wieder verwendet werden kann und die Substitution alternativer Implentierungen möglich ist.
Ein Knoten generiert nicht immer eine Ausgabenachricht für jedes Ausgabeterminal: Häufig generiert er eine Ausgabe für ein einzelnes Terminal auf Basis der empfangenen Nachricht oder des Ergebnisses der Knotenoperation.
Sind mehrere Terminals verbunden, sendet der Knoten die Ausgabenachricht an jedem Terminal. Die Nachricht wird jedoch erst am nächsten Terminal gesendet, wenn die Verarbeitung für das aktuelle Terminal vollständig abgeschlossen ist. Aktualisierungen an einer Nachricht werden niemals an zuvor ausgeführte Knoten weitergegeben, nur an Knoten, dem Knoten folgen, in dem die Aktualisierung vorgenommen wurde. Die Reihenfolge, in der die Nachricht an die verschiedenen Ausgabeterminals weitergegeben wird, wird vom Broker festgelegt; sie kann nicht geändert werden.
Der Nachrichtenfluss kann eine neue Nachricht zur Verarbeitung erst annehmen, wenn alle Pfade durch den Nachrichtenfluss (d. h. alle verbundenen Knoten aller Ausgabeterminals) vollständig abgeschlossen wurden.
Das Beispielprogramm 'Airline Reservations' verwendet Umgebungsvariablen im Beispiel 'XML_Reservierung', um Informationen aus einer Datenbanktabelle zu speichern und sie an einen nachgeschalteten Knoten im Nachrichtenfluss weiterzuleiten.