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 要求が完全に処理されて応答されてから次に移動します。SOAP-over-JMS サービスの障害は、MQGet ノード上のタイムアウトの設定によって処理されます。このフロー・モデルのもう 1 つの利点は、要求-応答変換全体が、単純なロールバックとリカバリーが使用可能な単一トランザクションで処理されることです。

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

非同期要求-応答のシナリオについては、要求-応答フロー内での MQGet ノードの使用で説明されています。

非同期要求-応答のシナリオの詳細については、Coordinated Request Reply サンプルにあるサンプルでも説明されています。このサンプルは、Web サービスを使用するように適応させることができます。

別の Web サービスのシナリオは、次のサンプルの中で説明されています: Web Service Host サンプル

関連概念
メッセージ・フローの概要
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac34660_