WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Nachrichtenflussknoten

Ein Nachrichtenflussknoten ist ein Verarbeitungsschritt in einem Nachrichtenfluss. Es kann sich um einen integrierten, einen benutzerdefinierten oder einen untergeordneten Nachrichtenflussknoten handeln.

Ein Nachrichtenflussknoten empfängt eine Nachricht, führt eine Reihe von Aktionen an der Nachricht aus und gibt optional die Originalnachricht sowie eventuell eine oder mehrere weitere Nachrichten an den nächsten Knoten im Nachrichtenfluss weiter.

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. Nachrichtenflussknoten werden in der Knotenpalette angezeigt, die dem Nachrichtenflusseditor zugeordnet ist. Die Palette ist in Kategorien unterteilt, die jeweils Knoten mit verwandten Verarbeitungsschritten (z. B. Umsetzungen) enthalten.

Empfangsknoten verfügen über kein Eingabeterminal. Der Nachrichtenfluss beginnt, sobald eine Nachricht aus einer Eingabeeinheit (z. B. aus einer WebSphere MQ-Warteschlange) abgerufen wird. Der Nachrichtenfluss endet, sobald keine bis mehrere Nachrichten von einem oder mehreren Ausgabeknoten versendet wurden und die Kontrolle an den Empfangsknoten zurückgegeben wurde. Der Empfangsknoten schreibt die Transaktion in diesem Fall mittels Commit fest oder setzt sie mittels Rollback zurück. Empfangs- und Ausgabeknoten können protokollspezifisch sein, um bestimmte Systeme (z. B. Web-Services) zu unterstützen.

Bei den meisten Knoten handelt es sich um Verarbeitungsknoten, die zwischen dem Empfangs- und den Ausgabeknoten eingefügt und miteinander verbunden werden und auf diese Weise die Abläufe im Nachrichtenfluss festlegen. Diese Knoten konvertieren eine Nachricht in eine andere, leiten eine Nachricht entlang eines bestimmten Pfads weiter oder stellen komplexere Optionen wie Aggregation oder Filter bereit.

Sie können einen Knoten konfigurieren, indem Sie die Werte für seine Eigenschaften festlegen oder ändern. Einige Knoten haben verbindliche Eigenschaften, für die ein Wert festgelegt werden muss. Andere Eigenschaften müssen zwar auch einen Wert haben, aber ihnen ist bereits ein Standardwert zugewiesen, den Sie unverändert lassen können. Bei den übrigen Eigenschaften handelt es sich um optionale Eigenschaften, d. h., es ist kein Wert erforderlich.

Bei der Entwicklung eines Nachrichtenflusses beeinflusst die Art und Weise, wie Sie die Eigenschaften der Knoten im Nachrichtenfluss festlegen, die Art und Weise, wie die Nachrichten vom Nachrichtenfluss verarbeitet werden. Indem Sie beispielsweise Eigenschaften festlegen, die Namen von WebSphere MQ-Eingabe- und -Ausgabewarteschlangen definieren, bestimmen Sie, von wem der Nachrichtenfluss die Nachricht empfängt und an wen er die Nachricht zustellt.

Sie können Knoten auch konfigurieren, indem Sie hochgestufte Eigenschaften verwenden, d. h., indem Sie eine oder mehrere Knoteneigenschaften zu Eigenschaften des Nachrichtenflusses hochstufen, der diese Knoten enthält. Diese Eigenschaften können Sie anschließend auf Nachrichtenflussebene ändern und müssen nicht mehr einen oder mehrere einzelne Knoten aktualisieren. Sie können auch funktional entsprechende Eigenschaften aus mehr als einem Knoten zu einer einzigen Nachrichtenflusseigenschaft hochstufen. Mithilfe dieses Verfahrens können Sie beispielsweise den Namen der Datenbank, mit der alle Knoten in einem Nachrichtenfluss eine Verbindung herstellen müssen, auf Nachrichtenflussebene festlegen.

Eine Untermenge der Knoteneigenschaften sind konfigurierbare Eigenschaften, d. h., ihre Werte können geändert werden, während der Nachrichtenfluss zur Ausführung auf einem Broker implementiert wird. Dies kann besonders hilfreich sein, wenn Sie einen Nachrichtenfluss auf mehreren Brokern implementieren und er sich auf allen Brokern mehr oder weniger identisch verhalten soll. Beispielsweise können Sie bei einer Implementierung des Nachrichtenflusses auf einem Testbroker eine konfigurierbare Eigenschaft festlegen, um den Nachrichtenfluss zur Interaktion mit einer Testdatenbank zu zwingen. Wenn Sie denselben Nachrichtenfluss auf einem Produktionsbroker implementieren, können Sie als Wert für die konfigurierbare Eigenschaft eine Produktionsdatenbank festlegen, müssen den Nachrichtenfluss selbst also nicht aktualisieren.

Der Modus, in dem der Broker betrieben wird, kann Einfluss auf die Knotentypen haben, die Sie verwenden können. Weitere Informationen finden Sie im Abschnitt Einschränkungen, die in jedem Betriebsmodus gelten.

Sie können drei Typen von Knoten in Ihre Nachrichtenflüsse aufnehmen:

Integrierter Knoten
Ein integrierter Knoten ist ein Nachrichtenflussknoten, der von WebSphere Message Broker zur Verfügung gestellt wird. Die integrierten Knoten bieten Eingabe- und Ausgabefunktionen sowie Bearbeitungs-, Konvertierungs-, Entscheidungs-, Sortier-, Fehlerbehandlungs- und Berichtsfunktionen.

Weitere Informationen zu allen von WebSphere Message Broker bereitgestellten integrierten Knoten finden Sie unter Integrierte Knoten.

Informationen zu den Knoten, die Sie zur Verbindung von WebSphere Message Broker mit Ihren Anwendungen verwenden können, finden Sie im Abschnitt Konnektivitätsknoten.

Benutzerdefinierter Knoten
Bei einem benutzerdefinierten Knoten handelt es sich um eine Erweiterung des Brokers, um neben den mit dem Produkt gelieferten Knoten einen neuen Nachrichtenflussknoten bereitzustellen. Ein benutzerdefinierter Knoten muss in der API für benutzerdefinierte Knoten geschrieben werden, die von WebSphere Message Broker für die Programmiersprachen C und Java™ bereitgestellt wird. Das folgende Beispiel veranschaulicht, wie Sie in den Programmiersprachen C und Java eigene Knoten schreiben können.

Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.

Untergeordneter Nachrichtenfluss
Bei einem untergeordneten Nachrichtenfluss handelt es sich um einen gerichteten Graphen, der sich aus Nachrichtenflussknoten und Konnektoren zusammensetzt und in einen Nachrichtenfluss oder einen anderen untergeordneten Nachrichtenfluss eingebettet wird. Um den untergeordneten Nachrichtenfluss mit anderen Knoten im übergeordneten Nachrichtenfluss zu verbinden, können Sie ihm Empfangs und Sende hinzufügen. Untergeordnete Nachrichtenflüsse können in zwei Ressourcentypen definiert werden, und zwar entweder in einer .subflow- oder in einer .msgflow-Datei. Untergeordnete Nachrichtenflüsse, die in einer .subflow-Datei definiert sind, können als Einzelressource implementiert werden, während die in einer .msgflow-Datei definierten untergeordneten Nachrichtenflüsse zusammen mit dem übergeordneten Nachrichtenfluss implementiert werden müssen, in den sie eingebettet sind.

Eine Nachricht wird von einem Empfangs-Knoten empfangen und gemäß der Definition des untergeordneten Flusses verarbeitet. Dies kann beinhalten, dass sie über einen Datenbank-Knoten gespeichert oder an ein anderes Nachrichtenziel zugestellt wird (beispielsweise über einen MQOutput-Knoten). Falls erforderlich, kann die Nachricht durch einen Sende-Knoten zu weiteren Verarbeitung zurück an den Hauptfluss übergeben werden.

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 Sende-Knoten darzustellen, die Sie in die Definition des untergeordneten Flusses aufgenommen haben.

Die gängigste Verwendung eines untergeordneten Flusses besteht in der Bereitstellung der Verarbeitung, die an vielen Orten im Nachrichtenfluss erforderlich ist. Darüber hinaus kann er von mehreren Nachrichtenflüssen gemeinsam genutzt werden. Sie können beispielsweise eine gewisse Fehlerverarbeitung in einem untergeordneten Fluss codieren oder einen untergeordneten Fluss zur Bereitstellung eines Prüfprotokolls erstellen (dabei wird die gesamte Nachricht gespeichert und ein Trace-Eintrag geschrieben).

Der Abschnitt Untergeordnete Nachrichtenflüsse enthält weitere Informationen hierzu.

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. Ein Filter-Knoten sendet beispielsweise für gewöhnlich eine Nachricht am TRUE-Terminal oder am FALSE-Terminal, jedoch nie an beiden Terminals.

Wenn Sie mit einem Knoten mehrere Terminals verbunden haben, bestimmt die Verarbeitung innerhalb des Knotens, in welcher Reihenfolge die Nachricht an die mit dem Knoten verbundenen Knoten weitergeleitet wird; diese Reihenfolge kann nicht geändert werden. Der Knoten sendet die Ausgabenachricht an jedem Terminal, allerdings wird die Nachricht erst am nächsten Terminal gesendet, wenn die Verarbeitung für das aktuelle Terminal vollständig abgeschlossen ist.

Aktualisierungen an einer Nachricht werden nie an bereits ausgeführte Knoten weitergeleitet, sondern nur an Knoten, die auf den 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. Ausgenommen hiervon ist lediglich der FlowOrder-Knoten, in dem die Terminals die Reihenfolge angeben, in der die Nachricht an die einzelnen Terminals weitergegeben wird.

Alle integrierten Knoten beinhalten als Teil ihrer Verarbeitung auch eine Fehlerbehandlung. Sobald innerhalb eines Knotens ein Fehler festgestellt wird, wird die Nachricht an das Fehlerterminal weitergegeben. Die nachfolgenden Verarbeitungsschritte werden durch die Struktur des Nachrichtenflusses bestimmt, d. h., ob nur die grundlegende, vom Broker bereitgestellte Fehlerbehandlung verwendet wird oder ob der Nachrichtenfluss durch Fehlerverarbeitungsknoten und Fehlernachrichtenflüsse erweitert wurde, die eine umfassendere Fehlerverarbeitung bieten. Weitere Informationen zu diesen Optionen finden Sie im Abschnitt Fehler in Nachrichtenflüssen behandeln.

Der Nachrichtenfluss kann erst dann eine neue Nachricht zur Verarbeitung annehmen, wenn alle Pfade durch den Nachrichtenfluss (d. h. alle verbundenen Knoten aller Ausgabeterminals) abgeschlossen wurden, die Kontrolle an den Empfangsknoten zurückgegeben wurde und die Transaktion festgeschrieben oder zurückgesetzt wurde.

Im folgenden Beispiel werden für das Muster 'XML_Reservierung' Umgebungsvariablen verwendet, um Informationen aus einer Datenbanktabelle zu speichern und sie an einen nachfolgenden Knoten im Nachrichtenfluss weiterzuleiten.

Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:19:59


KonzeptthemaKonzeptthema | Version 8.0.0.5 | ac12640_