Auswahl der zu verwendenden Knoten

WebSphere Nachrichtenbroker enthält viele Nachrichtenverarbeitungsknoten, die Sie in Ihren Nachrichtenflüssen nutzen können.

Vorbereitungen:

Lesen Sie den Konzeptabschnitt über Nachrichtenflussknoten.

WebSphere Message Broker stellt außerdem eine Schnittstelle zur Verfügung, mit der Sie eigene Knoten (benutzerdefinierte Knoten) definieren können.

Für welche Knoten Sie sich entscheiden, hängt davon ab, welche Verarbeitung für Ihre Nachrichten ausgeführt werden soll.

Empfangs- und Sendeknoten
Empfangs- und Sendeknoten definieren Punkte im Nachrichtenfluss, an die Clientanwendungen Nachrichten senden (Empfangsknoten sind z. B. MQInput) und von denen sie Nachrichten empfangen (Sendeknoten sind z. B. MQOutput). Clientanwendungen interagieren mit diesen Knoten und reihen Nachricht auf die E/A-Ressource, die vom Knoten als Quelle oder Ziel der Nachrichten angegeben wurde, oder holen Nachricht von dort ab. Auch wenn ein Nachrichtenfluss mindestens einen Empfangsknoten einschließen muss, muss er keinen Sendeknoten enthalten.
  • Wenn Sie einen Nachrichtenfluss zur Implementierung auf einem Broker erstellen, müssen Sie mindestens einen Empfangsknoten einschließen, um Nachrichten zu empfangen. Die Auswahl des Empfangsknotens hängt von der Quelle der Eingabenachrichten ab sowie davon, an welcher Stelle im Nachrichtenfluss Sie die Nachrichten empfangen möchten:
    MQInput
    Verwenden Sie einen MQInput-Knoten, wenn die Nachrichten im Broker in einer WebSphere MQ-Warteschlange ankommen und der Knoten zu Beginn eines Nachrichtenflusses verwendet werden soll.

    Die Verwendung von Nachrichtenflüssen, die MQeInput-Knoten enthalten, wird in WebSphere Message Broker Version 6.0 nicht mehr unterstützt. Überarbeiten Sie Ihre Nachrichtenflüsse, um die MQe-Knoten zu entfernen und durch MQ-Knoten zu ersetzen, die für Ihre Spezifikationen konfiguriert und für die Konfiguration Ihres MQe-Gateways koordiniert wurden. Nähere Informationen finden Sie unter Nachrichtenfluss mit WebSphere MQ Everyplace-Knoten migrieren.

    MQGet
    Verwenden Sie einen MQGet-Knoten, wenn die Nachrichten im Broker in einer WebSphere MQ-Warteschlange ankommen und der Knoten nicht zu Beginn eines Nachrichtenflusses verwendet werden soll.
    SCADAInput
    Verwenden Sie einen SCADAInput-Knoten, wenn die Nachrichten von einem Telemetriegerät gesendet werden.
    HTTPInput
    Verwenden Sie einen HTTPInput-Knoten, wenn die Nachrichten von einem Web-Service-Client gesendet werden.
    Real-timeInput oder Real-timeOptimizedFlow
    Verwenden Sie einen dieser Knoten, wenn die Nachrichten von einer JMS- oder Multicast-Anwendung gesendet werden.

    Der Real-timeInput ist ein Empfangsknoten, und der Knoten 'Real-timeOptimizedFlow' ist ein vollständiger Nachrichtenfluss, der einen hochleistungsfähigen Publish/Subscribe-Nachrichtenfluss ermöglicht.

    JMSInput
    Verwenden Sie einen JMSInput-Knoten, wenn die Nachrichten von einer JMS-Anwendung gesendet werden.
    Benutzerdefinierter Empfangsknoten
    Verwenden Sie einen benutzerdefinierten Empfangsknoten, wenn die Nachrichtenquelle ein Client oder eine Anwendung ist, die ein anderes Protokoll oder eine andere Transportmethode verwendet.
    Input-Knoten
    Wenn Sie einen Nachrichtenfluss erstellen, der in einen anderen Nachrichtenfluss eingebettet werden soll (untergeordneter Fluss), und dieser nicht als eigenständiger Nachrichtenfluss implementiert wird, müssen Sie mindestens einen Input-Knoten einfügen, mit dem Nachrichten im untergeordneten Fluss empfangen werden können.

    Ein Eingangsterminal stellt eine Instanz eines Input-Knotens dar. Wenn Sie beispielsweise eine Instanz eines Input-Knotens eingeschlossen haben, zeigt das Symbol für den untergeordneten Nachrichtenfluss ein Eingangsterminal an, das Sie genauso wie jeden anderen Knoten mit anderen Knoten im Hauptnachrichtenfluss verbinden können.

    Damit ein Nachrichtenfluss implementiert werden kann, muss er mindestens einen Empfangsknoten aufweisen. Wenn Ihr Nachrichtenfluss keinen Empfangsknoten enthält, können Sie ihn nicht der Brokerarchivdatei hinzufügen. Der Empfangsknoten kann sich im Hauptfluss oder in einem im Hauptfluss eingebetteten Nachrichtenfluss befinden.

    Sie können mehrere Empfangsknoten in einem Nachrichtfluss verwenden. Der Abschnitt Mehrere Empfangsknoten verwenden enthält weitere Informationen hierzu.

  • Wenn Sie die vom Nachrichtenfluss erzeugten Nachrichten an eine Zielanwendung senden möchten, können Sie einen oder mehrere Sendeknoten einschließen. Welchen Sie auswählen, hängt davon ab, über welche Transportmethode die Zielanwendung den Empfang dieser Nachrichten erwartet:
    Publication
    Verwenden Sie einen Publication-Knoten, wenn Sie die Nachrichten über das Publish/Subscribe-Netzwerk für Anwendungen verteilen möchten, die über alle unterstützten Protokolle eine Subskription beim Broker einrichten. Ein Publication-Knoten ist ein Sendeknoten, der mit Ausgabezielen arbeitet. Diese werden von den Subskribenten, deren Subskriptionen mit den Merkmalen der aktuellen Nachricht übereinstimmen, ermittelt.
    MQOutput
    Verwenden Sie einen MQOutput-Knoten, wenn die Zielanwendung den Empfang von Nachrichten in einer WebSphere MQ-Warteschlange oder in der WebSphere MQ-Warteschlange für zu beantwortende Nachrichten, die in der Eingabenachricht MQMD angegeben ist, erwartet.

    Die Verwendung von Nachrichtenflüssen, die MQeOutput-Knoten enthalten, wird in WebSphere Message Broker Version 6.0 nicht mehr unterstützt. Überarbeiten Sie Ihre Nachrichtenflüsse, um die MQe-Knoten zu entfernen und durch MQ-Knoten zu ersetzen, die für Ihre Spezifikationen konfiguriert und für die Konfiguration Ihres MQe-Gateways koordiniert wurden. Nähere Informationen finden Sie unter Nachrichtenfluss mit WebSphere MQ Everyplace-Knoten migrieren.

    MQReply
    Verwenden Sie einen MQReply-Knoten, wenn die Zielanwendung den Empfang von Nachrichten in der WebSphere MQ-Warteschlange für zu beantwortende Nachrichten erwartet, die in der Eingabenachricht MQMD angegeben ist.
    SCADAOutput
    Verwenden Sie einen SCADAOutput-Knoten, wenn das Ziel der Ausgabenachrichten ein Telemetriegerät ist und der Publication-Knoten nicht geeignet ist.
    HTTPReply
    Verwenden Sie einen HTTPReply-Knoten, wenn die Nachrichten eine Antwort auf die Anforderung eines Web-Service-Clients sind.
    HTTPRequest
    Verwenden Sie einen HTTPRequest-Knoten, wenn der Nachrichtenfluss mit einem Web-Service interagiert.
    Real-timeOptimizedFlow
    Verwenden Sie den Real-timeOptimizedFlow-Knoten, wenn die Zielanwendung eine JMS- oder Multicast-Anwendung ist.
    JMSOutput
    Verwenden Sie einen JMSOutput-Knoten, wenn die Nachrichten für eine JMS-Zieladresse bestimmt sind.
    Benutzerdefinierter Sendeknoten
    Verwenden Sie einen benutzerdefinierten Sendeknoten, wenn das Ziel ein Client oder eine Anwendung ist, der bzw. die ein anderes Protokoll oder eine andere Transportmethode verwendet.
    Output-Knoten
    Wenn Sie einen Nachrichtenfluss erstellen, der in einen anderen Nachrichtenfluss eingebettet werden soll (untergeordneter Fluss), und dieser nicht als eigenständiger Nachrichtenfluss implementiert wird, müssen Sie mindestens einen Output-Knoten einfügen, mit dem Nachrichten an nachfolgende Knoten weitergegeben werden können, die mit dem untergeordneten Fluss verbunden werden.

    Ein Ausgangsterminal stellt eine Instanz eines Output-Knotens dar. Wenn Sie beispielsweise zwei Instanzen eines Output-Knotens eingeschlossen haben, zeigt das Symbol für den untergeordneten Nachrichtenfluss zwei Ausgangsterminals an, die Sie genauso wie jeden anderen Knoten mit anderen Knoten im Hauptnachrichtenfluss verbinden können.

Knoten zum Bearbeiten, Erweitern und Umsetzen von Nachrichten

Die meisten Unternehmen arbeiten mit Anwendungen, die über Jahre auf verschiedenen Systemen mit verschiedenen Programmiersprachen und verschiedenen Datenübertragungsmethoden entwickelt wurden. In WebSphere Message Broker müssen die Anwendungen diese Unterschiede nicht mehr kennen, da es die Möglichkeit bietet, Nachrichtenflüsse zu konfigurieren, die Nachrichten von einem Format in ein anderes umsetzen.

Beispiel: Die Namen von Personen sind in vielen Formaten in den verschiedenen Anwendungen gespeichert. Der Familienname kann an erster oder letzter Stelle stehen, Mittelinitialen enthalten oder nicht und in Groß- oder Kleinbuchstaben geschrieben sein: dies sind nur einige der möglichen Variationen. Da Sie Ihren Nachrichtenfluss so konfigurieren können, dass er die Anforderungen der einzelnen Anwendungen kennt, kann jede Nachricht in das korrekte Format umgesetzt werden, ohne dass die sendende oder empfangende Anwendung geändert werden muss.

Sie können auf verschiedene Arten mit dem Inhalt der Nachricht arbeiten, um sie zu aktualisieren. Ihre Entscheidung kann davon abhängen, ob der Nachrichtenfluss vordefinierte (vorerstellte) Nachrichten und/oder selbstdefinierende Nachrichten (z. B. XML) verarbeiten muss.

Ein Nachrichtenfluss kann eine Nachricht völlig neu erstellen, sie von einem Format in ein anderes konvertieren (Format bedeutet an dieser Stelle die Anordnung der Felder, Byteanordnung, Sprache usw.), Inhalt aus der Nachricht entfernen oder bestimmte Daten in sie einfügen. Ein Knoten kann beispielsweise mit einer Datenbank interagieren, um zusätzliche Informationen abzurufen oder um eine (vollständige oder teilweise) Kopie der Nachricht in der Datenbank zur Offline-Verarbeitung zu speichern.

Die folgenden Beispiele zeigen, wie wichtig die Nachrichtenumsetzung sein kann:
  • Bei einer Auftragserfassungsanwendung befindet sich eine Artikel-ID im Hauptteil der Nachricht, während diese von der verknüpften Lagerbestandsanwendung im Nachrichtenheader erwartet wird. Die Nachricht wird an einen Nachrichtenfluss geleitet, der die beiden verschiedenen Formate kennt, und kann daher die Informationen je nach Bedarf umformatieren.
  • Eine Anwendung zur Datenerfassung erstellt Nachrichten mit Börseninformationen. Einige Anwendungen, die diese Nachricht erhalten, können mit den vorliegenden Informationen arbeiten, andere hingegen benötigen zusätzliche Informationen über das Preis-Gewinn-Verhältnis (PG), die der Nachricht hinzugefügt werden. Die Börsennachrichten werden an einen Nachrichtenfluss geleitet, der die Nachrichten unverändert an einige Sendeknoten weitergibt, für andere Knoten jedoch die zusätzlichen Informationen berechnet und hinzufügt. Hierfür ruft der Nachrichtenfluss den aktuellen Aktienkurs in einer Datenbank ab und verwendet diesen Wert sowie die Börseninformationen in der ursprünglichen Nachricht, um den KGV-Wert zu berechnen. Erst dann gibt er die aktualisierte Nachricht weiter.

Sie können auch Nachrichtenflüsse erstellen, die miteinander mit diesen Knoten interagieren. Obwohl der Standardbetrieb eines Nachrichtenflusses nicht den Betrieb eines anderen beeinflusst, können Sie dies festlegen, wenn Sie die Nachrichtenflüsse so konfigurieren, dass sie Informationen in einer externen Quelle, z. B. einer Datenbank, speichern und abrufen.

Compute
Mit dem Computeknoten können folgende Aktionen ausgeführt werden:
  • Bearbeiten von Nachrichteninhalt(en)
  • Umsetzen der Nachricht auf verschiedene Arten
  • Interagieren mit einer Datenbank, um den Inhalt der Nachricht oder die Datenbank zu ändern und eine oder mehrere neue Nachrichten weiterzugeben
Sie können diesen Knoten zur Bearbeitung vordefinierter und selbstdefinierender Nachrichten verwenden.

Verwenden Sie den ESQL-Editor, um ein für diesen Knoten spezifisches ESQL-Modul zu erstellen, das die Anweisungen enthält, die die Aktionen definieren, die für diese Nachricht oder Datenbank ausgeführt werden sollen. Der ESQL-Code, der von Ihnen zur Verwendung in einem Compute-Knoten entwickelt wurde, sollte nicht in einem anderen Knotentyp verwendet werden.

Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in der Knoteneigenschaft angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Auch komplexe Anforderungen an Ihre Nachrichtenbearbeitung, können mit einem einzelnen Compute-Knoten erfüllt werden. Weniger, aber komplexere Compute-Knoten haben eine bessere Leistung als viele einfachere Knoten, da der Broker die Nachricht beim Eingang auf jedem Compute-Knoten analysiert.

JavaCompute
Mit dem JavaCompute-Knoten können folgende Aktionen ausgeführt werden:
  • Sie können eine eingehende Nachricht prüfen und abhängig von ihrem Inhalt unverändert an eines der beiden Ausgabeterminals des Knotens weitergeben. Der Knoten verhält sich ähnlich wie ein Filter-Knoten, verwendet jedoch anstelle von ESQL-Code Java, um zu ermitteln, welches Ausgabeterminal verwendet werden soll.
  • Sie können einen Teil einer eingehenden Nachricht ändern und die geänderte Nachricht an eines der Ausgabeterminals weitergeben.
  • Sie können eine neue Ausgabenachricht erstellen und aufbauen, die völlig unabhängig von der Eingabenachricht ist.
Mapping
Mit dem Mapping-Knoten können Sie auf Basis der Eingabenachricht eine neue Nachricht erstellen, indem Sie Inhalte von Elementen der Eingabenachricht oder Datenbankinhalte Elementen der Ausgabenachricht zuordnen. Außerdem können Sie Teile der Nachricht extrahieren oder ihren Inhalt ändern, um eine neue Ausgabenachricht zu erstellen, die eine Teil-Kopie der vom Knoten empfangenen Nachricht darstellt. Vom Mapping-Knoten werden nur vordefinierte Nachrichten verarbeitet.

Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in der Knoteneigenschaft angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Mithilfe des Zuordnungseditors können Sie Zuordnungen entwickeln, um einfache Bearbeitungen an vordefinierten Nachrichten auszuführen. Die Zuordnungen, die von Ihnen zur Verwendung in einem Mapping-Knoten entwickelt wurden, sollten nicht in einem anderen Knotentyp verwendet werden.

Extract
Der Extract-Knoten wird in WebSphere Message Broker Version 6.0 nicht weiter unterstützt. Obwohl Nachrichtenflüsse, die einen Extract-Knoten enthalten, weiterhin in WebSphere Message Broker Version 6.0 gültig sind, sollten Sie, wo möglich, eigene Nachrichtenflüsse überarbeiten und alle Extract-Knoten durch einen Mapping-Knoten ersetzen.

Mit dem Extract-Knoten können Sie eine neue Ausgabenachricht aus bestimmten Elementen der Eingabenachricht erstellen. Sie können bestimmte Nachrichtenbereiche extrahieren und optional ihren Inhalt ändern, um eine neue Ausgabenachricht zu erstellen, die teilweise eine Kopie der vom Knoten empfangenen Nachricht ist. Vom Extract-Knoten werden nur vordefinierte Nachrichten verarbeitet.

Mithilfe des Zuordnungseditors können Sie Zuordnungen entwickeln, um einfache Bearbeitungen an vordefinierten Nachrichten im Extract-Knoten auszuführen. Die Zuordnungen, die von Ihnen zur Verwendung in einem Extract-Knoten entwickelt wurden, sollten nicht in einem anderen Knotentyp verwendet werden.

Database
Verwenden Sie den Database-Knoten, um mit einer von den Knoteneigenschaften identifizierten Datenbank zu interagieren. Vom Database-Knoten werden sowohl vordefinierte als auch selbstdefinierende Nachrichten verarbeitet. Mithilfe des ESQL-Editors können Sie ESQL-Funktionen codieren, um den Datenbankinhalt aus der Nachricht beispielsweise auf Basis der Informationen in der Nachricht zu aktualisieren, neue Informationen in die Datenbank einzufügen und Informationen aus der Datenbank zu löschen. Der ESQL-Code, der von Ihnen zur Verwendung in einem Database-Knoten entwickelt wurde, sollte nicht in einem anderen Knotentyp verwendet werden.

Dieser Knoten bietet eine äußerst flexible Schnittstelle mit vielen Funktionen. Er stellt auch Eigenschaften bereit, mit denen Sie steuern können, wie die Interaktion in Transaktionen stattfindet.

Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in den Knoteneigenschaften angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Über diesen Knoten können Sie nur Datenbanken aktualisieren, nicht aber Nachrichteninhalt. Falls Sie Nachrichteninhalte aktualisieren möchten, verwenden Sie den Compute- oder Mapping-Knoten.

DataDelete, DataInsert, DataUpdate
Die DataDelete-, DataInsert- und DataUpdate-Knoten sind spezielle Formen des Database-Knotens, die einen einzelnen Interaktionsmodus bereitstellen (Löschen einer oder mehrerer Zeilen, Einfügen einer oder mehrerer Zeilen bzw. Aktualisieren einer oder mehrerer bereits vorhandener Zeilen).

Von den DataDelete-, DataInsert- und DataUpdate-Knoten werden nur vordefinierte Nachrichten verarbeitet. Mithilfe eines Zuordnungseditors können Sie Zuordnungen für die Ausführung dieser Funktionen entwickeln. Die Zuordnungen, die von Ihnen zur Verwendung in diesen Knoten entwickelt wurden, sollten nicht in einem anderen Knotentyp verwendet werden. Mit diesen Knoten können Sie die transaktionsorientierten Merkmale der vorgenommenen Aktualisierungen steuern.

Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in der Knoteneigenschaft angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Über diese Knoten können Sie nur Datenbanken aktualisieren, nicht aber Nachrichteninhalt. Falls Sie Nachrichteninhalte aktualisieren möchten, verwenden Sie den Compute- oder Mapping-Knoten.

Warehouse
Der Warehouse-Knoten bietet eine Speicherschnittstelle, mit der die gesamte Nachricht oder ein Teil davon beispielsweise zu Protokollierungszwecken in einer Datenbank gespeichert werden kann. Vom Warehouse-Knoten werden nur vordefinierte Nachrichten verarbeitet. Mithilfe des Zuordnungseditors können Sie Zuordnungen für die Ausführung dieser Aktion entwickeln. Die Zuordnungen, die von Ihnen zur Verwendung in einem Warehouse-Knoten entwickelt wurden, sollten nicht in einem anderen Knotentyp verwendet werden.

Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in der Knoteneigenschaft angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Über diesen Knoten können Sie nur Datenbanken aktualisieren, nicht aber Nachrichteninhalt. Falls Sie Nachrichteninhalte aktualisieren möchten, verwenden Sie den Compute- oder Mapping-Knoten.

XMLTransformation
Verwenden Sie den XMLTransformation-Knoten, um eine XML-Eingabenachricht mithilfe von XSLT-Style-Sheets in ein anderes Format umzusetzen. Dabei ist es zwingend erforderlich, dass die Daten in einer XML-Nachricht syntaktisch analysiert werden können. Das Ergebnis der Umsetzung wird als BLOB-Nachricht ausgegeben. Mit dem Style-Sheet können unter Verwendung der darin definierten Regeln folgende Aktionen ausgeführt werden:
  • Sortieren von Daten
  • Auswahl ein- oder auszuschließender Datenelemente auf Grundlage bestimmter Kriterien
  • Umwandeln von Daten in ein anderes Format

Als zugrunde liegende Umsetzungssteuerkomponente wird die Xalan-Java-Umsetzungssteuerkomponente (Apache Xalan-java XSLT-Prozessor) verwendet. Weitere Informationen zur XML-Umsetzung erhalten Sie in der W3C-Spezifikation für die Syntax und Semantik der XSL-Umsetzungssprache zum Umsetzen von XML-Dokumenten in andere XML-Dokumente, siehe W3C XSL-Transformationen.

Um die Pflege von Style-Sheets und XML-Dateien zu unterstützen, können Sie diese in Brokerausführungsgruppen implementieren.

JMSMQTransform
Verwenden Sie den JMSMQTransform-Knoten, um eine Nachricht mit einer JMS-Nachrichtenbaumstruktur in eine Nachricht mit einer Baumstruktur umzusetzen, die mit dem Format von Nachrichten, die vom JMS-Provider von WebSphere MQ erzeugt werden, kompatibel ist.

Mit dem JMSMQTransform-Knoten können Nachrichten an bestehende Nachrichtenflüsse gesendet werden. Darüberhinaus ermöglicht er die Zusammenarbeit mit WebSphere MQ JMS und WebSphere MQ Publish/Subscribe.

MQJMSTransform
Verwenden Sie den MQJMSTransform-Knoten zum Empfangen von Nachrichten, die über das Nachrichtenbaumstrukturformat eines JMS-Providers von WebSphere MQ verfügen, und wandeln Sie diese Nachrichten in ein Format um, das mit Nachrichten kompatibel ist, die an JMS-Zieladressen gesendet werden sollen.

Mit dem MQJMSTransform-Knoten können Nachrichten an bestehende Nachrichtenflüsse gesendet werden. Darüberhinaus ermöglicht er die Zusammenarbeit mit WebSphere MQ JMS und WebSphere MQ Publish/Subscribe.

MQOptimizedFlow

Mithilfe des MQOptimizedFlow-Knotens können Sie einen Publish/Subscribe-Nachrichtenfluss ersetzen, der aus einem MQInput-Knoten besteht, der mit einem Publication-Knoten verbunden ist und JMS über den WebSphere MQ-Transport nutzt. Der MQOptimizedFlow-Knoten kann auf z/OS-Systemen nicht verwendet werden.

Mit dem Knoten 'MQOptimizedFlow' können Sie die Leistung steigern. Dies gilt insbesondere, wenn ein einzelner Publisher eine persistente Veröffentlichung für einen einzelnen Subskribenten erstellt.

Benutzerdefinierte Knoten
Wickeln Sie über den benutzerdefinierten Knoten die spezifischen Anforderungen ab, die von den integrierten Knoten nicht ausgeführt werden.

Wenn Ihr Knoten z. B. auf eine Datenbank zugreift, fügen Sie einen benutzerdefinierten Knoten für die Interaktion mit der Datenbank ein. Sie können steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für die Datenquelle angeben, die in der Knoteneigenschaft angegeben sind. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

In der folgenden Tabelle wird zusammengefasst, welche Punkte in diesen Knoten aktualisiert werden können.
Knoten Datenbank aktualisieren? Nachricht aktualisieren? Lokale Umgebung aktualisieren? Nachrichtengruppe erforderlich?
Compute Ja Ja Ja Nein
Database Ja Nein Ja Nein
DataDelete Ja Nein Ja Ja
DataInsert Ja Nein Ja Ja
DataUpdate Ja Nein Ja Ja
Extract Ja Ja Ja Ja
Mapping Ja Ja Ja Ja
Warehouse Ja Nein Ja Ja
Knoten zur Entscheidungsfindung

Sie können Knoten nutzen, die die Reihenfolge und die Datenflusskontrolle im Nachrichtenfluss auf verschiedene Weise bestimmen, um so zu entscheiden, wie Nachrichten vom Datenfluss verarbeitet werden. Sie können auch Knoten (TimeoutControl-Knoten und TimeoutNotification-Knoten) verwenden, durch die der Zeitpunkt und die Häufigkeit des Auftretens von Ereignissen im Nachrichtenfluss bestimmt werden. Die Weiterleitung hängt von der Nachrichtenkonvertierung ab, obwohl die Route einer Nachricht auch genau bestimmen kann, welche Konvertierung auf der Nachricht ausgeführt werden soll.

Beispiel: Eine Anwendung für die Überweisung von Geldbeträgen sendet immer Nachrichten an eine andere Anwendung. Sie können festlegen, dass jede Nachricht mit einem Überweisungswert von über €10.000 auch an eine zweite Anwendung gesendet werden muss, damit alle geschäftskritischen Transaktionen aufgezeichnet werden können.

In einem anderen Beispiel bietet ein nationaler Automobilclub seinen Mitgliedern einen Vorzugsservice für Aufträge an, die einen bestimmten Schwellenwert überschreiten. Die meisten Aufträge werden über die üblichen Kanäle geleitet, aber falls die Mitgliedsnummer und der Auftragswert bestimmten Kriterien entspricht, gelten für den Auftrag Sonderkonditionen.

Sie können auch eine dynamischere Routing-Option einrichten, indem Sie bei der Nachrichtenverarbeitung zusätzliche Route-Informationen in die Nachricht einbauen. Optionale Regelgruppen werden konfiguriert, um Nachrichten gemäß von Werten (Zieladressen) zu empfangen, die in der Nachricht festgelegt werden. Solche Regeln (beispielsweise dass eine Nachricht von einer oder mehreren optionalen Regelgruppen verarbeitet wird) können in einer Reihenfolge eingerichtet werden, die vom hinzugefügten Nachrichteninhalt bestimmt wird.

Verwenden Sie die folgenden Knoten, um Entscheidungen hinsichtlich der Route zu treffen, der eine Nachricht im Nachrichtenfluss folgt:

Validate
Mit dem Validate-Knoten können Sie überprüfen, ob die Nachricht, die im Eingabeterminal des Knotens empfangen wird, erwartungsgemäß ist. Sie können überprüfen, ob die Nachricht die erwarteten Nachrichtenschabloneneigenschaften (d. h. Nachrichtendomäne, Nachrichtengruppe und Nachrichtentyp) aufweist und ob der Inhalt der Nachricht korrekt ist. Sie können die Nachricht auf eine oder mehrere der Eigenschaften Nachrichtendomäne, Nachrichtengruppe oder Nachrichtentyp überprüfen.

Der Validate-Knoten ersetzt den Check-Knoten, der in WebSphere Message Broker Version 6.0 nicht weiter unterstützt wird. Der Validate-Knoten funktioniert wie der Check-Knoten, besitzt aber zusätzliche Validierungseigenschaften, die eine Auswertung des Nachrichteninhalts durch Parser ermöglichen, die diese Funktion unterstützen.

Filter
Verwenden Sie den Filter-Knoten zusammen mit einer ESQL-Anweisung, um den nächsten Knoten zu bestimmen, an den die Nachricht von diesem Knoten gesendet wird. Der ESQL-Code, der von Ihnen zur Verwendung in einem Filter-Knoten entwickelt wurde, sollte nicht in einem anderen Knotentyp verwendet werden.

Der Knoten verfügt über folgende Terminals: TRUE, FALSE, UNKNOWN und FAILURE. Die Nachricht wird an das TRUE-Terminal weitergegeben, wenn der Test erfolgreich verläuft; sie wird an das FALSE-Terminal weitergegeben, wenn der Test fehlschlägt. Kann die Anweisung nicht aufgelöst werden (z. B. wenn der Wert eines Felds getestet wird, das nicht in der Eingabenachricht angezeigt wird), wird die Nachricht an das Terminal UNKNOWN weitergeleitet. Wenn ein anderer Fehler entdeckt wird, wird die Nachricht an das Terminal FAILURE weitergegeben.

Der Test der ESQL-Anweisung kann vom Nachrichteninhalt, vom Datenbankinhalt oder einer Kombination aus beidem abhängig sein.

Wenn Sie auf eine Datenbank verweisen, können Sie steuern, wie dieser Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für jede Datenquelle angeben, die in der Registry auf dem Brokersystem definiert ist. Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.

Verwenden Sie statt des Compute-Knotens den Filter-Knoten zur Steuerung der Nachrichtenauswahl und -weiterleitung, denn er erfüllt diese Task viel effizienter.

FlowOrder
Sie können die Terminals dieses Knotens verbinden, um eine Verarbeitung der Nachricht durch eine Knotenfolge, gefolgt von einer zweiten Knotenfolge, zu erzwingen.
Passthrough
Verwenden Sie den Passthrough-Knoten, um die Versionssteuerung eines untergeordneten Nachrichtenflusses während der Ausführung zu aktivieren. Mit diesem Knoten können Sie Ihrem untergeordneten Nachrichtenfluss eine Bezeichnung hinzufügen. Wenn Sie diese Bezeichnung mit der Ersetzung eines reservierten Worts aus Ihrem System zur Versionssteuerung kombinieren, können Sie ermitteln, welche Version eines untergeordneten Nachrichtenflusses in einen implementierten Nachrichtenfluss eingefügt wurde. Sie können diese Bezeichnung für Ihre eigenen Zwecke verwenden. Wenn Sie die richtigen Versionsschlüsselwörter in die Bezeichnung eingefügt haben, können Sie den Wert der Bezeichnung an folgenden Stellen sehen:
  • Mit dem Befehl mqsireadbar in der Brokerarchivdatei (BAR)
  • In den Eigenschaften eines implementierten Nachrichtenflusses im Message Brokers Toolkit, wenn er zuletzt in einem bestimmten Broker implementiert wurde
  • Während der Laufzeit, wenn Sie den Benutzertrace für den Nachrichtenfluss aktivieren
RouteToLabel und Label
Verwenden Sie den Knoten 'RouteToLabel' im Anschluss an einen Computeknoten für komplexe Weiterleitungen. Definieren Sie in einem Compute-Knoten eine Liste mit Zieladressen, die vom Knoten 'RouteToLabel' verarbeitet werden, indem er die Zieladressen abfragt und die Nachricht an den entsprechenden Label-Knoten weiterleitet.
ResetContentDescriptor
Mit dem Knoten 'ResetContentDescriptor' können Sie neue Nachrichteneigenschaften festlegen, die verwendet werden, wenn der Nachrichtenbitstrom anschließend von einem nachfolgenden Knoten im Nachrichtenfluss syntaktisch analysiert wird.
Knoten zur Steuerung zeitkritischer Operationen
Ein Stapelanwendungsprozess soll jeden Tag zu einem bestimmten Zeitpunkt ausgeführt werden oder Informationen sollen in festgelegten Abständen verarbeitet und veröffentlicht werden (z. B. Wechselkurse von Währungen werden berechnet und an Banken gesendet). Oder es sollen angegebene Wiederherstellungsaktionen ausgeführt werden, wenn bestimmte Transaktionen nicht innerhalb einer definierten Zeitspanne beendet werden. Für diese Fälle stehen Ihnen zwei Zeitlimitknoten (TimeoutControl-Knoten und TimeoutNotification-Knoten) zur Verfügung.
TimeoutControl
Wenn Sie einen TimeoutControls- und einen TimeoutNotification-Knoten zusammen in einem Nachrichtenfluss verwenden, können sie Ereignisse steuern, die zu einem bestimmten Zeitpunkt oder zu definierten Zeitintervallen auftreten. Der TimeoutControl-Knoten empfängt eine Eingabenachricht, die eine Zeitlimitanforderung enthält. Die gesamte Eingabenachricht oder nur ein Teil davon wird ausgewertet und gespeichert, um von einem zugeordneten TimeoutNotification-Knoten im Nachrichtenfluss weitergegeben zu werden. Auch die Eingabenachricht wird unverändert an den nächsten Knoten im Nachrichtenfluss übergeben.

Jedem TimeoutNotification-Knoten können mehrere TimeoutControl-Knoten zugeordnet werden.

TimeoutNotification
Verwenden Sie einen eigenständigen TimeoutNotification-Knoten für die Generierung von Nachrichten, die zu einem konfigurierten Zeitpunkt oder zu konfigurierten Intervallen für die weitere Verarbeitung an den nächsten Knoten im Nachrichtenfluss übergeben werden.
Knoten zum Sortieren von Anforderungen

Mit den AggregateControl-, AggregateReply- und AggregateRequest-Knoten können Sie zusammengehörige Anforderungen und Antworten sortieren. Verwenden Sie diese Knoten, um mehrere Anforderungen als Reaktion auf eine Eingabenachricht zu generieren, um die Antworten, die als Antwort auf diese Anforderungen empfangen werden, zu steuern und zu koordinieren und um die Informationen, die von den Antworten für die Fortsetzung der Verarbeitung bereitgestellt werden, zusammenzuführen.

Knoten zur Fehlerbehandlung und -berichterstellung

Verwenden Sie folgende Knoten, um die Fehlerbehandlung und -berichterstellung zu beeinflussen:

Trace
Fügen Sie einen Trace-Knoten zum Generieren eines oder mehrerer Traceeinträge ein, um die Vorgänge aufzuzeichnen, die an der betreffenden Stelle im Nachrichtenfluss stattfinden.
TryCatch
Fügen Sie einen TryCatch-Knoten ein, um die Fehlerbehandlung bei der Auslösung von Ausnahmebedingungen zu steuern.
Throw
Fügen Sie einen Throw-Knoten ein, um die Auslösung einer Ausnahmebedingung zu erzwingen, und geben Sie zur Vereinfachung der Fehlerdiagnose die Kennung der Ausnahmebedingung an.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Unterstützung von Endbenutzeranwendungen
Baumstruktur für die lokale Umgebung
Zugehörige Tasks
Broker- und Benutzerdatenbanken konfigurieren
DB2-Sicherheit unter z/OS einrichten
Nachrichtenfluss entwerfen
Zugriff auf Datenbanken über Nachrichtenflüsse
Nachrichtenflüsse erstellen
Nachrichtenflussinhalte definieren
Knoten für die Entscheidungsfindung verwenden
Implementieren
Zugehörige Verweise
mqsisetdbparms-Befehl
Integrierte Knoten
Unterstützung von Endbenutzeranwendungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:01

ac00330_