JAX-RS を使用した EJB アプリケーションの RESTful なビューの実装

Enterprise JavaBeans (EJB) アプリケーション を使用する場合、Java™ API for RESTful Web Services (JAX-RS) を使用して、エンタープライズ Bean に RESTful なインターフェースを公開することができます。JAX-RS アノテーション付きエンタープライズ Bean を実装することにより、 トランザクション・サポート、Java EE コンポーネントおよび リソースの注入、およびその他の EJB セッション Bean 機能を含む EJB 機能を維持します。

このタスクについて

EJB 3.1 以前は、EJB ローカル・クライアント・ビューを必要とするエンタープライズ Bean では、 ローカル・ビュー・メソッドを宣言する別の Java インターフェース (通常、 別のファイルにあります) も必要でした。エンタープライズ Bean は、デプロイメント記述子または EJB アノテーションを使用して、 EJB ローカル・ビュー・インターフェースの実装を指定していました。

EJB 3.1 仕様より、EJB ローカル・インターフェースを明示的に宣言せずに、 エンタープライズ Bean のローカル・ビューを公開するオプションが提供されるようになりました。 エンタープライズ Bean は、ローカル・インターフェースを明示的に宣言する代わりに、 Bean クラスの public メソッドに基づいた非インターフェース・クライアント・ビューを使用します。非インターフェース・ビュー・ エンタープライズ Bean は、以下の理由により、ローカル・ビュー・エンタープライズ Bean よりも 容易に開発することができます。
  • 非インターフェース・ビュー・エンタープライズ Bean では、別の Java インターフェースを宣言する必要がありません。
  • 非インターフェース・ビュー・エンタープライズ Bean では、デプロイメント記述子や、EJB アノテーションを使用するときに、追加のメタデータを指定する必要がありません。
エンタープライズ Bean の非インターフェース・ビューについて詳しくは、EJB 3.1 仕様を参照してください。

JAX-RS は、ローカル・ビジネス・インターフェースを宣言するエンタープライズ Bean および非インターフェース・ビュー・エンタープライズ Bean の使用をサポートします。

手順

  1. 開発環境を構成します。
    1. JAX-RS アプリケーションの開発を開始する前に、クラスパスに JAX-RS ライブラリーを追加して、 開発環境をセットアップする必要があります。
  2. JAX-RS Web アプリケーションのリソースを定義します。
    1. リソースは、RESTful サービスの基本ビルディング・ブロックです。リソースは、静的または動的な更新データを含むことができます。オンライン書店アプリケーションのリソースの例には、書籍、書店からの注文、およびユーザーのコレクションが含まれます。ご使用のアプリケーションのリソースを識別することにより、サービスをさらに便利で開発しやすいものにできます。
  3. JAX-RS アプリケーションを構成します。

    お客様のニーズに応じて、複数の方法で JAX-RS アプリケーションを構成できます。 Java Platform, Enterprise Edition (Java EE) 6 の機能を活用するには、アノテーション・スキャン機能を使用します。 アノテーション・スキャンを使用することにより、JAX-RS javax.ws.rs.core.Application サブクラス を省略したり、javax.ws.rs.core.Application サブクラスの定義を最低限にすることができます。 あるいは、IBM® JAX-RS サーブレットおよびフィルターで有効な機能を 使用したい場合は、IBM JAX-RS サーブレットまたはフィルター を指定できます。

    JAX-RS バージョン 1.1 構成メソッドの 1 つを使用して、 アプリケーションで javax.ws.rs.core.Application サブクラスを省略したり、 すべての JAX-RS クラスを検索して使用するように JAX-RS ランタイム環境に通知するために 空のクラス・セットを返す javax.ws.rs.core.Application サブクラスをアプリケーションで 使用したりすることができます。 このメソッドは、アプリケーションの作成時に、関連するすべての JAX-RS クラスを javax.ws.rs.core.Application サブクラスに手動で追加する手間を省略したい場合などに使用します。

    特定の IBM JAX-RS サーブレットおよびフィルターを 指定することにより、特定の IBM JAX-RS の動作を 確実に利用することができます。例えば、IBM JAX-RS フィルターは、 同じ URL パターンの JAX-RS リソースと JavaServer Pages (JSP) ファイルを使用する Web アプリケーション を開発する際に役立ちます。

    オプションの web.xml ファイルの使用をサポートする JAX-RS V1.1 構成メソッド がありますが、セキュリティー制約またはロールを指定したい場合や、web.xml ファイルを使用して 使用可能な他の機能を利用したい場合には、web.xml ファイルに情報を指定する必要があります。

    JAX-RS アプリケーションを構成するには、以下の 3 つの方法のうち 1 つを選択します。

    • JAX-RS 1.1 メソッドを 使用して JAX-RS アプリケーションを構成する

      アノテーション・スキャン機能 または JAX-RS 1.1 構成メソッドを使用したい場合に、この方法を使用します。 アノテーション・スキャン機能を使用することにより、アプリケーションの可搬性を向上させたり、 構成コードの量を最小化したり、アプリケーション・コードを変更せずにアプリケーションを 動的に変更したりすることができます。

    • JAX-RS サーブレット用 web.xml ファイルの構成

      動作を変更するためにサーブレット初期設定パラメーターを使用して有効にする機能を指定したい場合、 および IBM JAX-RS サーブレットを確実に取得したい 場合に、この方法を使用します。サーブレットを使用する場合は、ベース URL に付加されるサーブレット・パスを web.xml ファイル内に 定義できます。

    • JAX-RS フィルター用 web.xml ファイルの構成

      さまざまな URL パターンの JSP、その他のサーブレットおよびフィルター、 および JAX-RS リソースがあり、フィルターを使用したい場合に、この方法を使用します。 有効な URL を示すフィルターを定義し、それらの URL でフィルターが起動されるように web.xml ファイルを 構成することができます。

  4. エンタープライズ Bean の RESTful なビューを実装します。 非インターフェース・ビューまたはローカル・ビジネス・インターフェースを使用する ステートレス・エンタープライズ Bean または singleton エンタープライズ Bean に、JAX-RS を使用してエンタープライズ Bean の RESTful なビューを実装できます。
  5. JAX-RS Web アプリケーションをアセンブルします。
    1. JAX-RS Web アプリケーション用に Java クラス・ファイルを開発し、JAX-RS サーブレットを使用可能するために web.xml ファイルを編集したら、アプリケーションをアセンブルできます。Web アプリケーションを Web アーカイブ (WAR) パッケージにアセンブルします。必要に応じて、WAR パッケージをエンタープライズ・アーカイブ (EAR) パッケージにアセンブルできます。
  6. JAX-RS Web アプリケーションをデプロイします。
    1. JAX-RS Web アプリケーションをアセンブルしたら、Web アーカイブ (WAR) パッケージまたはエンタープライズ・アーカイブ (EAR) パッケージを、アプリケーション・サーバー上にデプロイする必要があります。

タスクの結果

エンタープライズ Bean が使用可能になり、JAX-RS リソースを公開して使用できるようになりました。


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



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