トピック

J2EE Web サービスの概要ページの先頭へ

Web サービスは、サービス・レジストリー、サービス・プロバイダー、サービス・リクエスターという 3 つの主要な要素を含むアーキテクチャーを中心に編成されています。図 1 は、こうした異なる要素間の関係の概要を示しています。


図 1: - Web サービスのアーキテクチャー

最初にサービス・プロバイダーは、Web サービス記述言語 (WSDL) を使用する抽象サービス記述ドキュメントによって、サービス・インターフェースを定義します。 この抽象記述はトランスポートおよびエンコード・バインディング、さらには具象サービス記述内のアドレスと関連付けられ、サービス・エンドポイント または ポート とも呼ばれる具象サービス・インスタンスを定義します。その後、この具象記述を Universal Description, Discovery and Integration (UDDI) などのサービス・レジストリーに発行して、任意のサービス・リクエスターがアクセスできるようにします。サービス・リクエスターはその記述を使用して、Web サービス用の具象サービス実装を選択して、使用します。

J2EE Web サービスは、コンテナー内で作動する一式のポートなどで構成されます。 コンテナーがサービスへのアクセスを扱い、実行時環境を提供します。

別の Web サービス、J2EE コンポーネント、または任意の Java アプリケーションが、Web サービスのクライアントになれます。 Java また Web アプリケーションではなくても、Web サービスを使用できます。

Web サービスのクライアント・ビューページの先頭へ

Web サービスのクライアント・ビューは、ポート・プロバイダー (サービス・プロバイダー) およびコンテナーによって提供されます。下の図 2 に (グレーで) 示されているように、クライアント・ビューはサービス・インターフェースとサービス・エンドポイント・インターフェースで構成されています。


図 2: - Web サービスのクライアント・ビュー

Web サービスのポートにアクセスするには、JNDI API を使用するサービス・インターフェースを見つけます。クライアントはサービス・インターフェースを使用して、ポートへのアクセスに使用する方法を見出し、サービス・エンドポイント・インターフェースを用いた Web サービス実装にアクセスします。クライアント・ビューでは、ポートはステートレス・オブジェクトと見なされます。

サービス・インターフェースとサービス・エンドポイント・インターフェースは、JAX-RPC 仕様によって定義されます。ただしサービス・インターフェースの動作は、Web サービス・プロバイダーが提供する WSDL サービス記述文書によって定義されます。

Web サービスのサービス・ビューページの先頭へ

Web サービスのサービス・ビューは、サービスのビジネス論理の実装を扱います。J2EE 1.4 で定義されているように、Web サービス・エンドポイントは以下のいずれかの方法で実装できます。

  • JSR 109 および EJB 2.1 仕様で指定されているステートレス・セッション Bean を使用する
  • JAX-RPC 1.1 で指定されているサーブレットを使用する

この 2 つの方法に関する詳細は、セッション Bean ベースのエンドポイントの場合は『ガイドライン: セッション Bean の識別』を、サーブレット・ベースのエンドポイントの場合は『ガイドライン: サーブレットの識別 』を参照してください。

参考資料ページの先頭へ

このページの主な参考資料は、「Web Services for J2EE (JSR 109) specification」です。

Rational Unified Process   2003.06.15