Web サービス標準

インターネット標準の主要な特性の 1 つは、実装ではなく、プロトコルに焦点をあてるということです。インターネットは、共有プロトコルを使用することで相互運用が可能な、異機種混合のテクノロジーで構成されています。これにより、個々のベンダーがインターネット標準を強要することを防ぐことができます。オープン・ソース・ソフトウェア開発は、ベンダーのインターネット標準の実装における相互運用を維持する上で重要な役割を果たします。

以下の標準は Web サービスで重要な役割を果たしています。Universal Description、Discovery and Integration (UDDI)、 Web サービス記述言語 (WSDL)、Web サービス・インスペクション言語 (WSIL)、 SOAP、および Web Services Interoperability (WS-I)。 これらの標準の関係は、図 2 で説明されています。

UDDI 仕様は、オープンでプラットフォームに依存しない標準を定義します。これによって各企業は、 グローバル・ビジネス・レジストリーで情報を共有し、そのレジストリー上でサービスを発見し、 それらのサービスがインターネット経由で対話する方法を定義することができます。 UDDI について詳しくは、www.uddi.org を参照してください。

WSIL は、使用可能な Web サービスを探索するため Web サイトを調べる方法の仕様を定めることにより、分散サービス・ディスカバリー方式を定義する XML ベースのオープン仕様です。この分散サービス・ディスカバリー方式では、サービス・プロバイダーの提供ポイントでサービス記述への参照を提供します。WSIL 文書は、Web サービス記述を検索可能な Web サイトのロケーションを定義します。WSIL は分散サービス・ディスカバリーに焦点を合わせているので、Web サイトで使用可能であっても UDDI レジストリーにはまだリストされていない可能性のあるサービスをディスカバリーしやすくなるという点で、WSIL 仕様は UDDI を補完します。本資料の別個のトピックで、UDDI と WSIL の関係について解説しています。WSIL について詳しくは、www.ibm.com/developerworks/webservices/library/ws-wsilspec.html を参照してください。

WSDL は、ネットワーク上の Web サービスへのインターフェースとそのインスタンスを記述する XML ベースのオープン仕様です。 この仕様は拡張可能で、通信で使用されるメッセージ・フォーマットやネットワーク・プロトコルにかかわらず、 エンドポイントを記述できます。 ビジネスでは、UDDI や WSIL を経由したり、 電子メールや Web サイトを介して WSDL の URL をブロードキャストしたりすることで使用できる Web サービス用の WSDL 文書を作成できます。 WSDL については本書の別のトピックで解説します。 WSDL について詳しくは、www.w3.org/TR/wsdl を参照してください。

SOAP は、HTTP およびその他のインターネット・プロトコルにおけるメッセージングに関する、XML ベースの標準です。 この標準は、非集中分散環境で情報交換するための単純なプロトコルです。 このプロトコルは、XML に基づき、以下の 3 つの部分で構成されています。 SOAP ではルーティング・メッセージのメッセージ・パスを定義することによって、 発見された Web サービスのバインディングと使用が可能になります。 SOAP は、UDDI から Web サービスを照会するために使用できます。 SOAP 1.1 (SOAP 1.2 は Web サービス・ツールではサポートされていません) について詳しくは、 www.w3.org/TR/SOAP を参照してください。

図 2. SOAP、UDDI、WSIL、および WSDL 間の関係。

図 2 は SOAP、UDDI、WSIL、および WSDL の関係を表しています。

サービス・プロバイダーは、Web サービスをホストし、SOAP/HTTP や SOAP/JMS などのプロトコルを使用して、 そのサービスが利用できるようにします。 Web サービスは WSDL 文書で記述されます。 この文書は、プロバイダーのサーバーまたは特別のリポジトリーに保管されています。 WSDL 文書は、UDDI Business Registry と WSIL 文書から参照できます。 これらには Web サービスの WSDL ファイルへのポインターが設定されています。

WS-I Simple SOAP Binding Profile と WS-I Attachments Profile は、WS-I 適合を要求するために WSDL および Web サービス・プロトコル (SOAP/HTTP) のトラフィックが準拠しなければならない要求のアウトラインです。 Web サービスの WS-I 検証ツールは、現在 WS-I Simple SOAP Binding Profile 1.0 および Attachment Profile 1.0 をサポートしています。 この仕様を表示するには、次の WS-I Web サイトを参照し、 「リソース」の下で、「ドキュメンテーション」を選択してください: http://www.ws-i.org

いくつかの新規 Web サービス標準も、この開発環境でサポートされています。 以下のオプションが含まれます。
JAX-RPC
JAX-RPC は XML ベース RPC 用 Java™ API (Java API for XML-based RPC) の略語です。JSR 101 と呼ばれる場合もあります。これは、リモート・プロシージャー・コール (RPC) および XML を使用する Web サービスと Web サービス・クライアントを作成するための Java アプリケーション・プログラミング・インターフェース (API) と規則について記述する仕様です。 この仕様は、Java から WSDL、WSDL から Java へのマッピングを標準化し、 Java プラットフォームで Web サービスおよび Web サービス・クライアントを開発し、デプロイするためのコア API を提供します。 詳しくは、正式の仕様を参照してください。
JSR-109
JSR-109 (エンタープライズ Web サービスの実装) は、Java EE 環境 (具体的に言うと、Web、EJB、およびクライアント・アプリケーション・コンテナー) で Web サービスをデプロイし、 ルックアップするためのプログラミング・モデルとランタイム・アーキテクチャーを定義します。その主な目的の 1 つは、ベンダー間で実装を相互運用可能にすることです。 詳しくは、正式な仕様を参照してください。
WS-S
これらのツールは OASIS Web Services Security 1.0 標準をサポートしています。この標準のさまざまなコンポーネントについて詳しくは、以下を参照してください。

Web サービス・ツールは以下の仕様をサポートします。

テクノロジーまたは仕様 サポートされるバージョンまたはレベル
トランスポート
HTTP/HTTPS v1.0 および v1.1
JMS  
メッセージング
SOAP 仕様 v1.1
SOAP 添付  
説明
UDDI v2.0
WSDL v1.1
WSIL v1.0
セキュリティー
WS-Security OASIS 標準 1.0
インターオペラビリティー
WS-I Basic Profile 1.1.2
WS-I Simple SOAP Binding Profile 1.0.3
WS-I Attachments Profile 1.0
その他の標準  
JAX-RPC v1.0 for J2EE 1.3, v1.1 for J2EE 1.4 および Java EE 1.5
JSR 109