XML Web サービスは、Web という異種システム環境の中で正常に機能するために、どのようなオペレーティング システム、オブジェクト モデル、およびプログラミング言語が選択された場合にも対応できることが要求されます。また、XML Web サービスが他の Web ベースの技術と同様に幅広く浸透するためには、次の要件があります。
- 疎結合 : 2 つのシステムに課せられた要求が前述の自己記述的なテキスト ベースのメッセージを理解することだけである場合、それらのシステムは疎結合されていると見なされます。一方、密に結合されたシステムでは、通信を実現するためにカスタマイズによる大量のオーバーヘッドが生じ、システム間ではお互いの情報をより詳しく把握している必要があります。
- 幅広く普及している通信手段 : 現在または近い将来に、インターネットへの接続機能を組み込まないオペレーティング システムが構築される可能性は低く、したがって、共通した通信チャネルが幅広く普及します。このようにして、ほぼすべてのシステムやデバイスをインターネットに接続できれば、これらのシステムやデバイスを、インターネットに接続された他のあらゆるシステムやデバイスから確実に使用できるようになります。
- 共通日付形式 : 独自の閉ループの通信方法で既存のオープン標準を受け入れることによって、同じオープン標準をサポートするすべてのシステムが XML Web サービスを理解できるようになります。自己記述的なテキスト ベースのメッセージは、XML Web サービスとそのクライアントがお互いのシステムの構成要素を知らなくても共有できます。したがって、このメッセージを使用すると、独立した異なるシステム間の通信を確立できます。XML Web サービスは、XML を使用して、この機能を実現します。
XML Web サービスでは、XML Web サービスの位置を特定するための探索機構、それらのサービスの使用方法を定義するサービスの説明、および通信に使用する標準のワイヤ形式を提供するインフラストラクチャを採用しています。このインフラストラクチャの例を次に示します。
XML Web サービス インフラストラクチャ
インフラストラクチャの構成要素 | 役割 |
---|---|
XML Web サービス ディレクトリ | XML Web サービス ディレクトリは、他の組織によって提供された XML Web サービスを検索するための、サービス センターのような場所となります。UDDI (Universal Description, Discovery and Integration) レジストリなどの XML Web サービス ディレクトリが、この役割を果たします。XML Web サービス クライアントは、XML Web サービスのディレクトリを参照する必要がある場合とない場合があります。 |
XML Web サービス探索 | XML Web サービス探索とは、Web サービス記述言語 (WSDL: Web Services Description Language) を使用して特定の XML Web サービスを説明する 1 つ以上の関連ドキュメントを検索する処理のことです。DISCO 仕様が、サービスの説明を検索するためのアルゴリズムを定義しています。XML Web サービス クライアントは、サービスの説明の場所を知っている場合、この探索処理を省略できます。 |
XML Web サービスの説明 | 特定の XML Web サービスと対話する方法を理解するには、その XML Web サービスがサポートする対話を定義した、サービスの説明を提供する必要があります。XML Web サービス クライアントは、XML Web サービスを使用する前に、そのサービスと対話する方法を知っている必要があります。 |
XML Web サービスのワイヤ形式 | 汎用的な通信を実現にするために、XML Web サービスはオープンなワイヤ形式を使用して通信します。この形式は、最も一般的な Web 標準をサポートできるすべてのシステムが理解できるプロトコルです。SOAP は、XML Web サービス通信用の主要プロトコルです。 |