XML_FlightQueryOut メッセージ・フローについて
XML_FlightQueryOut は、集約サンプル XML_FlightQuery 内のファンアウト・メッセージ・フローです。
XML_FlightQuery は、WebSphere MQ ローカル・キュー上でメッセージを読み取り/集約/書き込みすることによって通信する 3 つの短いメッセージ・フローで構成されています。
XML_FlightQuery 内の 3 つのメッセージ・フローは、以下のとおりです。
- XML_FlightQueryOut。フライト情報および乗客情報に関する 2 つの関連要求を生成し、ファンアウトするファンアウト・メッセージ・フロー。
- XML_FlightQueryReply。2 つの要求に応答するために必要な情報を検索します。
- XML_FlightQueryIn。応答を単一の応答メッセージに結合するファンイン・メッセージ・フロー。
XML_FlightQuery のための入力メッセージは、特定のフライトおよびそのフライトの座席を予約した乗客の詳細に関する情報を要求します。
下の図は、XML_FlightQueryOut メッセージ・フローを示しています。

下の表では、XML_FlightQueryOut メッセージ・フローで使用されるノードのタイプをリストしています。
ノード・タイプ |
ノード名 |
MQInput |
XML_FLIGHTQUERY_IN |
AggregateControl |
RequestDetails |
MQOutput |
XML_FLIGHTQUERY_FAIL; XML_FLIGHTQUERY_FLIGHT; XML_FLIGHTQUERY_PASSENGERS |
AggregateRequest |
RecordFlightRequest; RecordPassengerRequest |
詳しくは、WebSphere Message Broker 資料で XML_FlightQueryOut メッセージ・フローのノードについて調べてください。このメッセージ・フローで使用される ESQL については、
XML_FlightQueryOut メッセージ・フローの作成を参照してください。
XML_FlightQueryOut メッセージ・フローは以下のアクションを実行します。
- XML_FLIGHTQUERY_IN ノードは、要求メッセージを XML_FLIGHTQUERY_IN キューから取得し、その入力メッセージが XML ドメインにあることを確認します。
したがってメッセージ・フローでは、
XML パーサーを使用してメッセージを解析する必要があります。
- XML_FLIGHTQUERY_IN ノードは、Out ターミナルを通じて、要求メッセージを RequestDetails ノードに渡します。
あるいは、例外がダウンストリームに発行され、メッセージがここにロールバックされたなら、Catch ターミナルを通じて、XML_FLIGHTQUERY_IN ノードから XML_FLIGHTQUERY_FAIL ノードにメッセージが渡され、これはメッセージを XML_FLIGHTQUERY_FAIL キューに書き込みます。
- RequestDetails ノードは要求メッセージを生成します。
- 入力メッセージ (フライト要求メッセージ) にリストされたフライトの詳細の要求
- 入力メッセージ (乗客要求メッセージ) にリストされたフライトに予約のある乗客のリストの要求
- RequestDetails ノードは、Out ターミナルを介してフライト要求メッセージを XML_FLIGHTQUERY_FLIGHT ノードに渡し、
さらに Out ターミナルを介してその乗客要求メッセージを XML_FLIGHTQUERY_PASSENGERS ノードに渡します。
- XML_FLIGHTQUERY_FLIGHT ノードは、フライト要求メッセージを XML_FLIGHTQUERY_FLIGHT キューに入れ、さらに
Out ターミナルを介してそのフライト要求メッセージを RecordFlightRequest ノードに渡します。
一方、XML_FLIGHTQUERY_PASSENGERS ノードは、乗客要求メッセージを XML_FLIGHTQUERY_PASSENGERS キューに入れ、さらに
Out ターミナルを介してその乗客要求メッセージを RecordPassengerRequest ノードに渡します。
- RequestDetails ノードは、集約の状態をブローカーに内部的に保管します。
XML_FlightQueryReply メッセージ・フローは集約を続行します。
『Airline Reservations サンプルについて』に戻る