Informationen zum Nachrichtenfluss 'XML_FlightQueryIn'

Der Nachrichtenfluss 'XML_FlightQueryIn' ist der Sammelnachrichtenfluss im Mustercode 'Aggregation' mit dem Namen 'XML_FlightQuery'. 'XML_FlightQuery' besteht aus drei kurzen Nachrichtenflüssen, die dadurch kommunizieren, dass sie Nachrichten in Warteschlangen von WebSphere MQ einreihen und daraus abrufen. Dabei handelt es sich um folgende drei Nachrichtenflüsse:

  1. XML_FlightQueryOut, den Verteilernachrichtenfluss, der zwei zusammengehörende Anforderungen von Flug- und Passagierdaten generiert und verteilt (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryOut').
  2. XML_FlightQueryReply, der die Informationen für die Beantwortung der beiden Anforderungen sucht (siehe Informationen zum Nachrichtenfluss 'XML_FlightQueryReply').
  3. XML_FlightQueryIn, den Sammelnachrichtenfluss, der die Antworten zu einer einzelnen Antwortnachricht zusammenfügt.

Die Eingabenachricht für 'XML_FlightQuery' fordert Informationen über einen bestimmten Flug und die Passagiere an, die auf diesem Flug Sitzplätze reserviert haben.

Im nachfolgenden Diagramm wird der Nachrichtenfluss XML_FlightQueryIn veranschaulicht.

Anzeigenerfassung des Nachrichtenflusses 'XML_FlightQuery_Reply'

In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss XML_FlightQueryIn verwendet werden.

Knotentyp Knotenname
MQInput XML_FLIGHTQUERY_REPLIES
AggregateReply AggregateReplies
Rechnen BuildOutputMessage; ProcessTimeout
MQOutput XML_FLIGHTQUERY_OUT; XML_FLIGHTQUERY_TIMEOUT; XML_FLIGHTQUERY_FAIL

Weitere Informationen zu den Knoten in diesem Mustercode finden Sie in der WebSphere Message Broker-Dokumentation unter Integrierte Knoten. Um den in diesem Nachrichtenfluss verwendeten ESQL-Code anzuzeigen, siehe Nachrichtenfluss 'XML_FlightQueryIn' erstellen.

Der Nachrichtenfluss XML_FlightQueryIn führt die folgenden Aktionen durch:

  1. Der Knoten XML_FLIGHTQUERY_REPLIES ruft die beiden Antwortnachrichten aus der Warteschlange XML_FLIGHTQUERY_REPLIES ab und leitet anschließend jede Antwortnachricht über das Ausgangsterminal an den Knoten 'AggregateReplies' weiter. Wenn die Ausnahmebedingung nachgeschaltet erzeugt wurde und für die Nachricht eine ROLLBACK-Operation bis hierher ausgeführt wurde, gibt der Knoten XML_FLIGHTQUERY_REPLIES die Nachricht alternativ über das Catch-Terminal an den Knoten XML_FLIGHTQUERY_FAIL weiter, der die Nachricht in die Warteschlange XML_FLIGHTQUERY_FAIL einreiht.
  2. Der Knoten 'AggregateReplies' kombiniert die beiden Antwortnachrichten zu einer einzelnen zusammengefassten Antwortnachricht und gibt diese anschließend über das Ausgangsterminal an den Knoten 'BuildOutputMessage' weiter. Wenn das Zeitlimit für die Aggregation abläuft, da nicht alle Antworten innerhalb des in den Eigenschaften des Knotens 'AggregateReplies' angegebenen Intervalls eingetroffen sind, übergibt der Knoten die unvollständige zusammengefasste Nachricht über das Timeout-Terminal an den Knoten 'ProcessTimeout'. Der Knoten 'ProcessTimeout' übergibt die Nachricht anschließend an den Knoten XML_FLIGHTQUERY_TIMEOUT, von wo aus die Nachricht in die Warteschlange XML_FLIGHTQUERY_TIMEOUT eingereiht wird.
  3. Der Knoten 'BuildOutputMessage' erstellt aus den Informationen in der zusammengefassten Antwortnachricht eine einzelne Ausgabenachricht. In der Ausgabenachricht ist die Flugnummer, das Flugdatum, die Kapazität, die Anzahl der gebuchten Sitzplätze, die Preise für die jeweiligen Klassen, eine Liste mit den Namen der Passagiere und die zugehörigen Reservierungsnummern enthalten.
  4. Der Knoten 'BuildOutputMessage' übergibt die Ausgabenachricht über das Ausgangsterminal an den Knoten XML_FLIGHTQUERY_OUT, von wo aus die Nachricht in die Warteschlange XML_FLIGHTQUERY_OUT eingereiht wird.

Zurück zu den Informationen zum Mustercode 'Airline Reservations'