JAX-WS による Web サービス・アプリケーションの実装

既存の JavaBeans または エンタープライズ Bean から開始すると、ボトムアップ・アプローチを使用して、Java™ API for XML-Based Web Services (JAX-WS) プログラミング・モデルに基づく Web サービスを開発できます。

始める前に

JAX-WS Web サービスとして公開する JavaBeans またはエンタープライズ Bean を決定します。

ベスト・プラクティス ベスト・プラクティス: IBM® WebSphere® Application Server は、 Java API for XML-Based Web Services (JAX-WS) プログラミング・モデルおよび Java API for XML-based RPC (JAX-RPC) プログラミング・モデルをサポートします。 JAX-WS は、JAX-RPC プログラミング・モデルが提供する基盤を拡張する、次世代の Web サービス・プログラミング・モデルです。戦略的 JAX-WS プログラミング・モデルを使用すると、標準ベースの注釈モデルのサポートによって、Web サービスおよび Web クライアントの開発が容易になります。JAX-RPC プログラミング・モデルとアプリケーションは引き続きサポートされますが、Web サービス・アプリケーションおよびクライアントを新規に開発する場合は、実装が容易な JAX-WS プログラミング・モデルをご利用ください。best-practices

このタスクについて

JAX-WS プログラミング・モデルに基づいて Web サービスを開発するには、 既存の JavaBeans またはエンタープライズ Bean から開始するときにはボトムアップ開発アプローチを使用することができ、 また、既存の Web サービス記述言語 (WSDL) ファイルを使用して開始するときにはトップダウン開発アプローチを使用することができます。このタスクでは、 ボトムアップ開発アプローチを使用する場合のステップについて説明します。

既存 の JavaBeans またはエンタープライズ Bean から開始して JAX-WS Web サービスを開発する場合は、 アノテーションを使用して Bean を JAX-WS Web サービスとして公開できます。@WebService または @WebServiceProvider アノテーションを Bean に追加することにより、Bean が JAX-WS Web サービスとして定義されます。JAX-WS Web サービスでは、 オプションでサービス・エンドポイント・インターフェースを使用できます。Bean およびオプションのサービス・エンドポイント・インターフェースをアノテーション付けすることに加えて、Web サービスが必要とするすべての成果物をアセンブルし、得られたアプリケーションを アプリケーション・サーバー環境にデプロイして、Bean を Web サービスとして使用可能にするプロセスを完了する必要があります。 WSDL ファイルを使用することがベスト・プラクティスと考えられますが、 WSDL ファイルを JAX-WS Web サービスでパッケージすることは必須ではありません。

JavaBeans を使用する場合の考慮事項
  • JAX-WS Web サービスとして公開されている JavaBeans は、HTTP トランスポートを介してのみサポートされます。
  • JavaBeans は Contexts and Dependency Injection (CDI) を使用することがあります。コンストラクター注入はサポートされていないことに注意してください。
エンタープライズ Bean を使用する場合の考慮事項
  • エンタープライズ Bean は、ステートレス・セッション Bean または singleton セッション Bean でなければなりません。
  • JAX-WS Web サービスとして公開されるエンタープライズ Bean は EJB 3.0 以降のモジュールにパッケージする必要があります。
  • エンタープライズ Bean を含む JAX-WS アプリケーションは、endptEnabler コマンドを使用してデプロイする必要があります。
  • エンタープライズ Bean を使用する JAX-WS Web サービスは、 HTTP または Java Message Service (JMS) トランスポートを介してサポートされます。
  • エンタープライズ Bean は CDI を使用することがあります。 コンストラクター注入はサポートされていないことに注意してください。
  • オプションで、JAX-WS アプリケーション・パッケージに Web サービス記述言語 (WSDL) 文書を組み込むことができます。

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 アノテーションに関する情報を 参照してください。

手順

  1. Web サービス用の開発環境をセットアップします。 Rational® Application Developer を使用する場合は、開発環境をセットアップする必要はありません。
  2. アノテーションを使用して JAX-WS Web サービスを作成します。
  3. JAX-WS アプリケーション用の Java 成果物を生成します。

    JAX-WS ツールを使用して、JavaBeans コンポーネントまたはエンタープライズ Bean コンポーネントから JAX-WS Web サービス・アプリケーションを開始する場合に必要となる JAX-WS および JAXB の成果物を生成します。

    HTTP トランスポートを使用して起動されるサービス 実装 Bean を開発している場合、このステップで wsgen コマンド行ツールによって生成される WSDL ファイルはオプションとなります。ただし、SOAP over JMS トランスポートを使用して起動されるサービス 実装 Bean を開発している場合は、このステップで wsgen ツールによって生成される WSDL ファイルが後続のステップで必要となるため、このファイルはオプションではありません。

  4. (オプション) JAX-WS Web サービスのために MTOM を使用できるようにします。 SOAP Message Transmission Optimization Mechanism (MTOM) を使用すると、Web サービス要求とともにイメージやファイルなどの バイナリー添付を伝送する作業を最適化することができます。
  5. (オプション) JAX-WS Web サービスで WSDL バインディングを順守します。 RespectBindingFeature を使用して、JAX-WS 実装が、 エンドポイントに関連付けられている wsdl:binding の内容を順守する必要があるかどうかを制御できます。
  6. (オプション) JAX-WS アプリケーション用の webservices.xml デプロイメント記述子を開発および構成します。 オプションで、webservices.xml デプロイメント記述子を使用すると、 JAX-WS Web サービス内のアノテーションに指定されたアプリケーションのメタデータを 拡張またはオーバーライドすることができます。
  7. Web サービス・アプリケーションの実装を完了します。
  8. (オプション) web.xml ファイルで URL パターンをカスタマイズします。 JavaBeans が JAX-WS エンドポイントとして公開される場合、オプションで、Web アプリケーション・アーカイブ (WAR) ファイルにある web.xml デプロイメント記述子の URL パターンをカスタマイズすることができます。
  9. Web サービス用の成果物をアセンブルします。

    アプリケーション・サーバーに付属しているアセンブリー・ツールを使用して、 Java ベースの Web サービス・モジュールをアセンブルします。

    Web サービスを含むエンタープライズ Bean モジュールを格納している EAR ファイルを アセンブルした場合、デプロイメントの前に endptEnabler コマンド行ツール またはアセンブリー・ツールを使用して、 Web サービス・エンドポイント WAR ファイルを作成します。このツールは、SOAP over Java Message Service (JMS) または SOAP over HTTP を使用して Web サービスを公開するかどうかを指定するためにも使用します。

  10. EAR ファイルをアプリケーション・サーバーにデプロイします。 ここで、JAX-WS Web サービス用に構成されて有効になっている EAR ファイルを アプリケーション・サーバーにデプロイすることができます。
  11. Web サービスをテストして、 このサービスがアプリケーション・サーバーと連動することを確認します。

タスクの結果

JAX-WS アプリケーションが開発されました。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxws
ファイル名:twbs_devwbsjaxws.html