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 は XML ベースのオープン仕様であり、使用可能な Web サービス用の Web サイトを検査する方法を指定することにより、サービス・プロバイダーの提供場所にあるサービス記述への参照を提供する、分散型サービス・ディスカバリー方式を定義します。 WSIL 文書には、Web サービス記述を検索可能な Web サイトの位置が定義されています。 WSIL は、分散サービス・ディスカバリーに焦点を当てているため、WSIL 仕様は UDDI を補完し、まだ UDDI レジストリーにリストされていない可能性のある Web サイト上で使用可能なサービスのディスカバリーを容易にします。この文書内に『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 サービス標準は、Rational® Developer 製品でもサポートされています。 以下のオプションが含まれます。
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-921
JSR-109 および JSR-921 (エンタープライズ Web サービスの実装) は、J2EE 環境 (具体的に言うと、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
JSR 109 J2EE 1.3
JSR 921 J2EE 1.4