JAX-WS アプリケーション・デプロイメント・モデル
この製品の管理機能は、他の WebSphere® Application Server アプリケーション同様、Java™ Application Programming Interface (API) for XML Web Services (JAX-WS) アプリケーションのインストールとデプロイをサポートするため拡張されました。
JAX-WS アプリケーションは、Web アプリケーション・アーカイブ (WAR) ファイルか、またはエンタープライズ・アーカイブ (EAR) ファイル内の WAR モジュールとしてパッケージされています。JAX-WS アプリケーション・デプロイメント・モデルは、Java API for XML Remote Protocol Call (JAX-RPC) Web サービス・アプリケーション・モデルと類似しています。主な違いは、JAX-RPC Web サービス・アプリケーションでは、アプリケーションのデプロイメントのために、バインディングおよびデプロイメント記述子をさらに追加する必要があるということです。JAX-WS アプリケーションでは、デプロイメント用の追加のバインディングおよびデプロイメント記述子は必要ありません。 他の WebSphere Application Server アプリケーションをデプロイするのと同じように JAX-WS アプリケーションをデプロイできます。
JAX-WS Web サービスは JAX-RPC Web サービスを再書き込みしたものです。次の表では、JAX-WS および JAX-RPC Web サービスの両方の Web サービス・スタックを比較しています。
JAX-RPC Web サービス | JAX-WS Web サービス |
---|---|
バインディングは専有です | バインディングはオープン・ソースの Java API for XML Bindings (JAXB) に基づきます |
構文解析は専有です | 構文解析はオープン・ソースの Java Specification Request (JSR) 173 に基づきます |
Java アノテーションはサポートされていません | @WebService、@WebMethod、@WebParam、@WebResult、および @SOAPBinding などの Java アノテーションがサポートされています |
デプロイメントの際、一部のデプロイメント記述子ファイルが JAX-RPC ベースのサービスとクライアントに作成されます。 EJB ベースの Web サービスと EJB ベースのモジュールの場合は、次のファイルがサービス側に作成されます。
サービスが JavaBeans ベースまたは Web モジュール・ベースのサービスである場合、次のファイルとデプロイメント記述子が必要です。
web.xml は EJB ベースのサービスと JavaBeans ベースのサービスの両方に存在します。ただし、Web
サービス・アプリケーションまたはモジュールのデプロイメント中にファイルに追加される追加コンテンツはありません。
|
JAX-WS Web サービスの場合、webservices.xml デプロイメント記述子はオプションで使用できます。これは、アノテーションを使用して、デプロイメント記述子ファイル内に含まれるすべての情報を指定することができるためです。デプロイメント記述子ファイルを使用して、 既存の JAX-WS アノテーションの拡張またはオーバーライドを行うことができます。webservices.xml デプロイメント記述子で定義した すべての情報により、アノテーションによって指定された対応するすべての情報がオーバーライドされます。 |
WebSphere Application Server バージョン 7.0 以降からは、Java EE 5 アプリケーション・モジュール (Web アプリケーション・モジュールのバージョン 2.5 以上、または EJB モジュールのバージョン 3.0 以上) は、JAX-WS のサービスとクライアントの識別のためにアノテーションのスキャンが実行されます。ただし、Java EE 5 より前のアプリケーション・モジュール (Web アプリケーション・モジュールの バージョン 2.4 以前、または EJB モジュールのバージョン 2.1 以前) では、 パフォーマンス上の理由から、デフォルトでは JAX-WS アノテーションがスキャンされません。 バージョン 6.1 Feature Pack for Web Services では、デフォルトの動作として、アプリケーションのインストール時に、JAX-WS サービスを識別するために Java EE 5 より前の Web アプリケーション・モジュールをスキャンし、サービス・クライアントを探索するために Java EE 5 より前の Web アプリケーション・モジュールおよび EJB モジュールをスキャンしていました。 WebSphere Application Server バージョン 7.0 以降のデフォルトの動作では、以前のリリースのフィーチャー・パックとの後方互換性を維持するために、アプリケーションのインストール時またはサーバーの始動時に Java EE 5 より前のモジュールでアノテーションをスキャンしないようになっているため、Web アプリケーション・アーカイブ (WAR) ファイルまたは EJB モジュールの META-INF/MANIFEST.MF で UseWSFEP61ScanPolicy プロパティーを構成するか、または Java 仮想マシンのカスタム・プロパティー com.ibm.websphere.webservices.UseWSFEP61ScanPolicy をサーバーで定義して、アプリケーションのインストール時およびサーバーの始動時にスキャンを要求するようにする必要があります。アノテーションのスキャンについて詳しくは、JAX-WS アノテーションに関する情報を 参照してください。