MQGet ノードを使用する SOAP over JMS

このトピックでは、MQGet ノードを使用する SOAP/JMS Web サービスのインプリメントについて概説し、この方法のコストと利点について説明します。

同期要求-応答パターンを使用するとき、要求メッセージは MQOutput ノードを使用して送信されて、応答は MQGet ノードによってインラインで受信されます。

以下の単純な図で示されているようなフローを使用すると、SOAP-over-HTTP から SOAP-over-JMS への同期変換が可能になります。

この図は、以下のノードから構成されるフローを示しています。
ノードは左から右に並び、各ノードの出力は次のノードの入力となります。
HTTPInput、Compute 1、MQOutput、MQGet、Compute 2、HTTPReply。

上記のフローは、SOAP-over-JMS への HTTP の同期変換をインプリメントする単純な機構を提供します。この機構では、個々の着信 HTTP 要求が完全に処理されて応答されてから次の HTTP 要求に移動します。 SOAP-over-JMS サービスの障害を避けるには、MQGet ノードにタイムアウトを設定します。 このフロー・モデルの利点は、要求-応答変換全体が、単純なロールバックとリカバリーが使用可能な単一トランザクションで処理されることです。

現行の要求が完了するまで他の着信 HTTP 要求の処理は開始されないので、SOAP-over-JMS 処理の実行時間が長くなる場合、同期フローは適切でないことがあります。 この状態では、メッセージ・フローを非同期に設計し、要求フローと応答フローを別個にして、要求フロー時に必要な相関コンテキストがストレージ・メディアに保管され、応答フロー時に復元されるようにする必要があります。 解決策は、キューを使用して必要な相関コンテキストを保管し、応答フロー中で MQGet ノードを使用してそのコンテキストを取り出すことです。 このフローの設計は、HTTP 要求を受信時に SOAP-over-JMS サービスにディスパッチできるようにし、応答は受信順に HTTP に配送し戻されます。 この解決策により、例えば、高速で実行される問い合わせ要求が実行時間の長い更新要求によってブロックされないようにすることができます。

非同期要求/応答のシナリオの詳細は、MQGet ノードを使用する要求-応答シナリオ を参照してください。

非同期要求-応答のシナリオの詳細については、以下のサンプルでも説明されています。このサンプルを、Web サービスの使用に適合させることができます。
別の Web サービスのシナリオは、次のサンプルの中で説明されています:
サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。
関連概念
メッセージ・フローの概要
関連資料
MQGet ノードを使用する要求-応答シナリオ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:43:03

ac34660_