非同期サービスでのWS-Addressingの使用
ある時点でアクティブなインスタンスは多数存在する可能性があるため、サーバーはWebサービス・レスポンスに、対応する適切なBPELプロセス・サービス・コンポーネント・インスタンスを指示する必要があります。WS-Addressingを使用すると、非同期メッセージを識別して、非同期コールバックが確実に適切なクライアントを特定できるようにすることができます。
図8-9に、WS-Addressingの概要を示します。WS-Addressingは、非同期メッセージの相関にSimple Object Access Protocol (SOAP)ヘッダーを使用します。メッセージは、使用されるトランスポートまたはアプリケーションに依存しません。
図8-9は、レスポンスが正しい宛先に送信されるように、メッセージがWSヘッダーとともに渡される様子を示しています。
この章の例では、相関にWS-Addressingを使用しています。メッセージの表示には、TCPトンネリングを使用できます。これについては、「プログラム間で交換されるメッセージを表示するためのTCPトンネリングの使用方法」で説明します。
WS-Addressingは、通常は通信プロトコルおよびメッセージ・システムで提供される次の情報を定義します。この情報は、トランスポートまたはアプリケーションに依存せずに処理されます。
-
エンドポイント・ロケーション(返信先アドレス)
返信先アドレスは、BPELクライアントがコールバック・メッセージをリスニングする場所を指定します。
-
対話ID
TCPトンネリングを使用して、BPELプロセス・サービス・コンポーネント・フローとWebサービスの間で交換されたSOAPメッセージ(相関IDを含むメッセージなど)を表示します。BPELプロセス・サービス・コンポーネント・フローの通信先のサービスに対して送受信される正確なSOAPメッセージを確認できます。
BPELプロセス・サービス・コンポーネント・フローとWebサービスの間にソフトウェア・リスナーを挿入します。BPELプロセス・サービス・コンポーネント・フローはリスナー(TCPトンネル)と通信します。リスナーはメッセージをWebサービスに転送し、表示します。Webサービスからのレスポンスはトンネルに返され、トンネルはレスポンスを表示して、BPELプロセス・サービス・コンポーネントに返します。