Informationen zum Mustercode Simplified Database Routing
Der Mustercode Simplified Database Routing
basiert auf dem Szenario eines Verarbeitungssystems für die Mitarbeiterverwaltung.
Das Programm veranschaulicht die Verwendung einiger Funktionen des WebSphere Message Brokers.
Anhand des Mustercodes Simplified Database Routing wird die Entwicklung von Anwendungen zur Verarbeitung selbstdefinierender XML-Nachrichten verdeutlicht.
In XML-Nachrichten ist den jeweiligen Datenelementen ein Befehls- bzw. Attributname vorangestellt, daher sind sie selbstdefinierend.
Eine XML-Nachrichtendefinition befindet sich innerhalb der Nachricht selbst und ist nicht anderswo gespeichert.
Daher können Sie mithilfe einer XML-Nachricht einen Nachrichtenfluss ausführen, ohne auf
eine externe Nachrichtengruppe zurückgreifen zu müssen.
In diesem Beispiel wird das Nachrichtenformat mithilfe des DatabaseRetrieve-Knotens umgewandelt.
Mit dem DatabaseRetrieve-Knoten können für die Angabe des Nachrichtenformats der
Ausgabenachricht die Sprachen ESQL oder XPath verwendet werden.
Der Mustercode Simplified Database Routing führt
folgende Aktionen aus:
- Verwendung eines Route-Knotens für die Weiterleitung der Nachricht an verschiedene Knoten in dem Nachrichtenfluss, basierend auf dem Vorhandensein bestimmter Mitarbeiterdaten in der Eingabenachricht.
Sollten die Mitarbeiterdaten nicht vorhanden sein, wird in der Datenbank danach gesucht.
- Verwendung eines DatabaseRetrieve-Knotens, um Informationen aus einer Datenbankabfrage in die Eingabenachricht einzufügen und so eine neue Ausgabenachricht zu bilden.
Für die Abfrage wird ein Schlüsselwert verwendet, der in der ursprünglichen
Eingabenachricht erwartet wird.
- Verwendung eines DatabaseRoute-Knotens für die dynamische Weiterleitung einer oder mehrerer Kopien der Eingabenachricht an verschiedene Abschnitte des Nachrichtenflusses, basierend auf in dem Knoten angegebenen Ausdrücken.
Diese Ausdrücke werden auf die Werte angewandt, die bei einer ebenfalls in dem Knoten angegebenen Datenbankabfrage abgerufen wurden.
- Generierung einer der folgenden Antwortnachrichten in Abhängigkeit von den Routing-Entscheidungen des DatabaseRoute-Knotens:
- An employee qualifies for a gift of a clock in recognition of ten years service
to the company. (Als Anerkennung für zehn Jahre Firmenzugehörigkeit erhält ein Mitarbeiter
eine Uhr als Geschenk.)
- A given employee is senior in age to their manager. (Ein bestimmter Mitarbeiter ist älter als sein Vorgesetzter.)
- Confirm that neither of the above two conditions apply to a given employee.
(Bestätigen Sie, dass keine der beiden genannten Bedingungen auf einen bestimmten
Mitarbeiter zutrifft.)
- Generierung einer Antwortnachricht mit der Meldung, dass eine leere
Ergebnisliste erstellt wird, wenn durch die Datenbankabfrage im DatabaseRoute-Knoten die
Bedingung 'KeyNotFound' (Schlüssel nicht gefunden) eintritt.
In den folgenden Abschnitten wird der Mustercode 'Simplified Database Routing'
ausführlicher beschrieben:
Der Mustercode 'Simplified Database Routing' umfasst einen
Nachrichtenfluss mit der Bezeichnung 'SimplifiedDBRouting'.
Auf der Grundlage des Inhalts der Testnachrichten werden in dem Nachrichtenfluss Nachrichten dynamisch weitergeleitet und Informationen zu einem Mitarbeiter abgerufen.
Weitere Informationen zum Nachrichtenfluss finden Sie unter Informationen zum Simplified Database Routing-Nachrichtenfluss.
Weitere Informationen hierzu finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Nachrichtenflüsse - Übersicht.
Im Mustercode 'Simplified Database Routing' werden selbstdefinierende bzw. generische XML-Nachrichten verarbeitet.
Eine selbstdefinierende XML-Nachricht enthält die Informationen über ihren Inhalt und ihre Struktur in Form eines Dokuments, das die XML-Spezifikation befolgt, in sich selbst.
Die Definition der Nachricht ist also nicht an einer anderen Stelle gespeichert.
Wenn der Nachrichtenfluss die Nachricht empfängt, wird diese vom XMLNSC-Parser gemäß den
in der Nachricht selbst enthaltenen XML-Definitionen syntaktisch analysiert.
Im Lieferumfang sind vier selbstdefinierende XML-Eingabenachrichten enthalten.
Anhand dieser Nachrichten können Sie beobachten, wie sich die unterschiedlichen
Nachrichteninhalte ändern und wie die Nachrichten im Nachrichtenfluss weitergeleitet
werden. Die mitgelieferten Eingabenachrichten haben folgenden Inhalt:
- usedbretrievenode: In dieser
Nachricht werden zusätzliche Informationen zu einem bestimmten Mitarbeiter angefordert.
Hierfür wird lediglich die Personalnummer angegeben.
Die Mitarbeiterdaten erfüllen alle
festgelegten Weiterleitungsbedingungen, die in den Mitarbeiterdetails am Ende des
Nachrichtenflusses festgelegt sind. Weitere Informationen finden Sie unter
Die Testnachrichten 'usedbretrievenode' und 'usedbretrievenode_nofiltermatch'.
- usedbretrievenode_nofiltermatch: In dieser
Nachricht werden zusätzliche Informationen zu einem bestimmten Mitarbeiter angefordert.
Hierfür wird lediglich die Personalnummer angegeben.
Die Mitarbeiterdaten erfüllen keine der festgelegten Weiterleitungsbedingungen, die in den den Einzeldaten zu dem Mitarbeiter am Ende des Flusses festgelegt sind. Weitere Informationen finden Sie unter
Die Testnachrichten 'usedbretrievenode' und 'usedbretrievenode_nofiltermatch'.
- bypassdbretrievenode: Die
Nachricht enthält Informationen zu einem bestimmten Mitarbeiter; es sind alle erforderlichen Einzeldaten zu dem Mitarbeiter angegeben.
Die Mitarbeiterdaten erfüllen alle
festgelegten Weiterleitungsbedingungen, die in den Mitarbeiterdetails am Ende des
Nachrichtenflusses festgelegt sind. Weitere Informationen finden Sie unter
Die Testnachrichten 'bypassdbretrievenode' und 'bypassdbretrievenode_keynotfound'.
- bypassdbretrievenode_keynotfound: Die
Nachricht enthält Informationen zu einem bestimmten Mitarbeiter; es sind alle erforderlichen Einzeldaten zu dem Mitarbeiter angegeben.
Die Mitarbeiterdaten erfüllen keine der Weiterleitungsbedingungen, die am Ende des Flusses für einen Mitarbeiter festgelegt sind. Zu
den Einzeldaten für den Mitarbeiter kann bei der Datenbanksuche keine Übereinstimmung
gefunden werden. Folglich wird die Nachricht im Nachrichtenfluss über die Route
'KeyNotFound' (Schlüssel nicht gefunden) weitergeleitet. Weitere Informationen finden Sie unter
Die Testnachrichten 'bypassdbretrievenode' und 'bypassdbretrievenode_keynotfound'.
Im Mustercode 'Simplified Database Routing' wird eine Datenbank SROUTEDB mit zwei Datenbanktabellen DEPARTMENT (Abteilung) und EMPLOYEE (Mitarbeiter) verwendet. Der Nachrichtenfluss in dem Mustercode greift direkt auf SROUTEDB zu.
Weitere Informationen zur Datenbank in diesem Mustercode finden Sie unter Informationen zur Datenbank SROUTEDB.
Der Nachrichtenfluss des Mustercodes 'Simplified Database Routing' interagiert mit lokalen WebSphere MQ-Warteschlangen.
Diese Warteschlangen sind im Warteschlangenmanager von WebSphere MQ definiert, der als Host für den Broker dient, auf dem der Nachrichtenfluss ausgeführt wird.
Weitere Informationen zu den WebSphere MQ-Warteschlangen in diesem Mustercode finden Sie unter
WebSphere MQ-Warteschlangen.
Zurück zum Beginn des
Mustercodes