Webサービス間の通信において、メッセージをどこに送り、どこから返答を受け取るかを制御することは極めて重要です。WS-Addressingは、トランスポート層(ネットワーク層)に依存せず、メッセージ自体にルーティング情報を組み込むための標準的なメカニズムを提供します。
通常、通信はHTTPなどのネットワークプロトコルに依存しますが、WS-Addressingを利用することで、SOAPヘッダー内に配送メタデータを保持させることが可能になります。これにより、ネットワーク層は単にメッセージをディスパッチャー(配送処理装置)に届ける役割に専念し、実際の配送先制御はメッセージ内のデータに基づいて行われます。
Key Facts
- トランスポート中立性:特定のネットワークプロトコルに依存せず、SOAPヘッダーでルーティングを管理する。
- 非同期通信の実現:
wsa:ReplyToヘッダーにより、リクエストとは別の接続で応答を受け取ることが可能。 - EPRの活用:エンドポイント参照(EPR)を用いて、宛先アドレスやメタデータをカプセル化して伝達する。
- 国際標準:W3Cによる勧告を経て、現在はISO/IECの国際標準として承認されている。
WS-Addressingの核心的な機能
エンドポイント参照(EPR)の構造
WS-Addressingの中核となるのがエンドポイント参照(Endpoint Reference: EPR)です。これはXML形式の構造体であり、Webサービスへメッセージを送信するために必要な情報を集約しています。具体的には、宛先アドレスだけでなく、ルーティングに必要な追加パラメータ(参照パラメータ)や、WSDL(Web Services Description Language)やWS-Policyといったサービスの仕様に関するメタデータを含めることができます。
メッセージ配送を制御するプロパティ
メッセージの配送を正確に制御するため、以下のプロパティが定義されています。
- 宛先URI:メッセージが届けられるべき最終的な目的地。
- 送信元エンドポイント:メッセージを送信したサービスのEPR。
- 応答エンドポイント:返信メッセージを送信すべき宛先のEPR。
- フォルトエンドポイント:エラー発生時に通知を送るべき宛先のEPR。
- アクション:メッセージの意図や意味を示すURIで、ルーティングの判断材料となる。
- メッセージID:各メッセージを一意に識別するためのURI。
- 相関関係:過去に送信・受信したメッセージとの関連性を示すURIペア。
非同期インタラクションの実現
WS-Addressingの大きな利点の一つは、非同期通信を効率的にサポートすることです。wsa:ReplyToという共通のSOAPヘッダーに応答先のエンドポイント(EPR)を指定することで、サービス提供者はリクエスト時の接続とは別の経路で応答を返せます。
この仕組みにより、SOAPレベルのリクエスト・レスポンス関係がHTTPプロトコルの接続寿命から切り離されます。結果として、処理に時間がかかる長時間実行のタスクであっても、柔軟な通信管理が可能になります。
標準化の歩みと仕様の構成
本仕様は、Microsoft、IBM、BEA、Sun Microsystems、SAPといった主要ベンダーによって策定され、2004年にW3Cへ提出されました。その後、Sun Microsystemsらが推進していたWS-MessageDeliveryなどの競合仕様を経て洗練され、2006年5月にW3C勧告として公開されました。さらに2011年にはISO/IEC JTC 1によって国際標準として承認されています。
WS-Addressing 1.0は、主に以下の3つのパートで構成されています。
- コア仕様:エンドポイント参照とメッセージ配送プロパティの基本定義。
- SOAPバインディング:定義されたプロパティをSOAPに適用するためのルール。
- メタデータ仕様:WSDLを用いたプロパティの記述方法や、WS-Policyによるサポート表明の手法。
また、EPR内にWS-Policy式を組み込むためのメカニズムとして、W3Cメンバー提出物であるWS-PAEPRも定義されています。
WS-Addressing 仕様まとめ
| 構成要素 | 役割・機能 | 主な内容 |
|---|---|---|
| EPR (Endpoint Reference) | 宛先情報のカプセル化 | アドレス、参照パラメータ、WSDL/Policyメタデータ |
| 配送プロパティ | メッセージのルーティング制御 | 宛先URI、ReplyTo、FaultTo、メッセージID、アクション |
| SOAPヘッダー | メタデータの運搬 | トランスポート層に依存しないルーティング情報の保持 |
Frequently Asked Questions
WS-Addressingを導入する最大のメリットは何ですか?
最大のメリットは、ネットワーク層のプロトコルに依存せずにメッセージのルーティングを制御できる点です。これにより、非同期通信の実現や、複雑なメッセージ配送経路の管理が容易になります。
EPR(エンドポイント参照)とは具体的に何を指しますか?
EPRは、Webサービスへのメッセージ送信に必要な情報をまとめたXML構造です。単なるURLだけでなく、ルーティングに必要なパラメータやサービスの仕様書(WSDL)への参照などを含めることができます。
非同期通信はどのように実現されるのでしょうか?
メッセージ内のwsa:ReplyToヘッダーに応答先のエンドポイントを指定することで実現します。サーバーはリクエスト時の接続を維持することなく、指定された別のエンドポイントへ後から応答を送信できます。
WS-Addressingは現在も標準として認められていますか?
はい。W3Cによる勧告後、2011年9月にISO/IECの国際標準として正式に承認されており、信頼性の高い標準仕様として位置づけられています。
WSDLやWS-Policyとはどのような関係がありますか?
WS-Addressingのメタデータ仕様において、抽象的なプロパティをWSDLで記述する方法や、サービスがWS-AddressingをサポートしていることをWS-Policyで示す方法が定義されています。
References
- Weerawarana, S.; Curbera, F.; Leymann, F.; Storey, T.; Ferguson, D. F. (March 2005). Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More. United States: Prentice–Hall. .
- Vinoski, Steve (30 June 2005). "WS-Addressing Metadata". IEEE Internet Computing. 9 (3). : 90–93. :10.1109/MIC.2005.69. 1941-0131.
- Hayward, J.; Phippen, A. (October 3, 2008). "Using WS-Addressing To Perform Asynchronous Web Service Calls". In Dowland, P. S.; Furnell, S. M. (eds.). Advances in Networks, Computing and Communications. Vol. 3. University of Plymouth. pp. 223–231. .
- Davis, Doug (6 April 2004). "The hidden impact of WS-Addressing on SOAP". IBM DeveloperWorks. . Archived from the original on 2 May 2004.
- Taylor, Ian J.; Harrison, Andrew B. (2009). "Web Services Protocols". From P2P and Grids to Services on the Web: Evolving Distributed Communities (2nd ed.). . pp. 269–290. :10.1007/978-1-84800-123-7_16. .
- Evers, Joris (10 August 2004). "Update: WS-Addressing specification submitted to W3C". . Retrieved 2 April 2026.
- Atkinson, M.; DeRoure, D.; Dunlop, A.; Fox, G.; Henderson, P.; Hey, T.; Paton, N.; Newhouse, S.; Parastatidis, S.; Trefethen, A.; Watson, P.; Webber, J. (7 February 2005). "Web Service Grids: an evolutionary approach". Concurrency and Computation: Practice and Experience. 17 (2–4). : 377–389. :10.1002/cpe.936.
- Baker, M.; Apon, A.; Ferner, C.; Brown, J. (30 April 2005). "Emerging grid standards" (PDF). . Vol. 38, no. 4. . pp. 43–50. :10.1109/MC.2005.124. 0018-9162.
- Tilkov, Stefan (May 11, 2006). "WS-Addressing Becomes a W3C Recommendation". InfoQ.
- "W3C Web Services Standards Approved as ISO/IEC International Standards" (Press release). . 6 September 2011.