XML_FlightQueryReply メッセージ・フロー について

XML_FlightQueryReply は、集計サンプル XML_FlightQuery 内の応答メッセージ・フローです。 XML_FlightQuery は、WebSphere MQ ローカル・キュー上でメッセージを読み取り/集約/書き込みすることによって通信する 3 つの短いメッセージ・フローで構成されています。 XML_FlightQuery 内の 3 つのメッセージ・フローは、以下のとおりです。

  1. XML_FlightQueryOut。フライト情報および乗客情報に関する 2 つの関連要求を生成し、ファンアウトするファンアウト・メッセージ・フロー。
  2. XML_FlightQueryReply。2 つの要求に応答するために必要な情報を検索します。
  3. XML_FlightQueryIn。応答を単一の応答メッセージに結合するファンイン・メッセージ・フロー。

XML_FlightQuery のための入力メッセージは、特定のフライトおよびそのフライトの座席を予約した乗客の詳細に関する情報を要求します。

下の図は、XML_FlightQueryReply メッセージ・フローを示しています。

XML_FlightQuery_Reply メッセージ・フローの画面取り

下の表では、XML_FlightQueryReply メッセージ・フローで使用されるノードのタイプをリストしています。

ノード・タイプ ノード名
MQInput XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS
Compute GetFlightDetails; GetPassengerDetails
MQReply MQMD_ReplyToQ
MQOutput XML_FLIGHTQUERY_FAIL_1; XML_FLIGHTQUERY_FAIL_2

詳しくは、WebSphere Message Broker 資料で XML_FlightQueryReply メッセージ・フローのノードについて調べてください。このメッセージ・フローで使用される ESQL については、 XML_FlightQueryReply メッセージ・フローの作成を参照してください。

XML_FlightQueryReply メッセージ・フローは以下のアクションを実行します。

  1. XML_FLIGHTQUERY_FLIGHT ノードは、要求メッセージを XML_FLIGHTQUERY_FLIGHT キューから入手し、Out ターミナルを通じて、その要求メッセージを GetFlightDetails ノードに渡します。 あるいは、例外がダウンストリームに発行され、メッセージがここまでロールバックされたなら、Catch ターミナルを通じて、XML_FLIGHTQUERY_FLIGHT ノードから XML_FLIGHTQUERY_FAIL_1 ノードにメッセージが渡されます。
  2. XML_FLIGHTQUERY_PASSENGERS ノードは、要求メッセージを XML_FLIGHTQUERY_PASSENGERS キューから入手し、Out ターミナルを通じて、その要求メッセージを GetPassengerDetails ノードに渡します。 あるいは、例外がダウンストリームに発行され、メッセージがロールバックされたなら、Catch ターミナルを通じて、XML_FLIGHTQUERY_PASSENGERS ノードから XML_FLIGHTQUERY_FAIL_2 ノードにメッセージが渡され、これはメッセージを XML_FLIGHT_QUERY_FAIL キューに書き込みます。
  3. GetFlightDetails ノードは RESERVDB データベース内の XMLFLIGHTTB 表にアクセスして、要求メッセージで指定されたフライトについての情報を入手し、要求メッセージに、全座席数、割り振り済み座席数、エコノミー・クラスおよびファースト・クラスの価格に関する情報、およびフライトの出発/到着地に関する情報を付加します。
  4. GetFlightDetails ノードは、変更された要求メッセージを、Out ターミナルを通じて MQMD_ReplyToQ に渡します。
  5. GetPassengerDetails ノードは、RESERVDB データベース内の XMLPASSENGERTB 表にアクセスし、要求メッセージで指定されたフライトに座席を予約している乗客の情報を取得し、フライトに座席を予約している乗客のリストを要求メッセージに付加します。
  6. GetPassengerDetails ノードは、変更された要求メッセージを、Out ターミナルを通じて MQMD_ReplyToQ に渡します。
  7. MQMD_ReplyTo ノードは、メッセージの MQMD ヘッダーで、ReplyToQ および ReplyToQMgr の値を検査します。 ReplyToQ の値は XML_FLIGHTQUERY_REPLIES、ReplyToQMgr の値は WBRK6_DEFAULT_QUEUE_MANAGER です。
  8. MQMD_ReplyTo ノードはメッセージを XML_FLIGHTQUERY_REPLIES キューに入れます。 このキュー名は、ノードのプロパティーには含まれていませんのでご注意ください。これは、メッセージの MQMD ヘッダーに含まれています。

XML_FlightQueryIn メッセージ・フローは集約を続行します。

メインページのアイコン   『Airline Reservations サンプルについて』に戻る