EJB 2.x 開発リソース

このトピックでは、EJB バージョン 2.x 開発で一般に使用されるリソースおよび開発ツールを説明します。

EJB モジュール

EJB モジュールは、Java™ EE パースペクティブの「プロジェクト・エクスプローラー」ビューに表示され、EJB プロジェクトに対応するものです。

EJB モジュールを使用して、1 つ以上のエンタープライズ Bean をアセンブルし、単一のデプロイ可能な単位にします。EJB モジュールは、EJB プロジェクトで開発され、独立型 EJB JAR ファイルとしてエクスポートするか、あるいはエンタープライズ・アプリケーション内の他の EJB モジュールまたは Web モジュールと結合することができます。 EJB JAR ファイルは、標準の Java アーカイブ・ファイルの形式を使用します。EJB モジュールには、以下のものが含まれています。

  • 1 つ以上のエンタープライズ Bean とそれらに関連した .class および .java ファイル。
  • エンタープライズ Bean の必要性次第では、グラフィックス・ファイルまたはその他のファイル。
  • デプロイメント記述子。デプロイメント記述子のファイル・タイプは、XML (Extensible Markup Language) です。 このファイルで、EJB モジュールの内容を宣言し、モジュール内の Bean の構造を定義して、実行時に Bean を使用する方法を記述します。
  • META-INF ディレクトリー内の MANIFEST.MF ファイル。 マニフェスト・ファイルには、クラスパス・エントリーと、J2EE エンタープライズ・アプリケーション内の他の JAR ファイルまたは EJB モジュールへの参照が収められます。これはモジュールの外部依存関係を定義します。

EJB モジュールは、EJB コンテナーにインストールして実行します。

エンタープライズ Bean は、他のリソースと結合されて、分散クライアント/サーバー・アプリケーションを作成することのできる Java コンポーネントです。

注: EJB モジュールの EJB クライアント JAR ファイルの作成を選択した場合、エンタープライズ Bean のクライアント・インターフェース・クラスは EJB JAR ファイルには含まれませんが、EJB クライアント JAR ファイルに含まれます。
EJB プロジェクト

ワークベンチでは、ユーザーがプロジェクトのエンタープライズ・アプリケーション用のリソースの作成および保守を行います。EJB プロジェクトは、エンタープライズ Bean をユーザーが編 成できるようにする論理モジュールです。

ワークベンチは、EJB 1.1、EJB 2.0、および EJB 2.1 プロジェクトをサポートします。 収容 EAR プロジェクトの J2EE 仕様レベルは、EJB 2.0 プロジェクトの場合は J2EE 1.3 以上に設定し、EJB 2.1 プロジェクトの場合は J2EE 1.4 に設定する必要があります。 EJB 1.1 プロジェクトで作成できるのは、EJB 1.1 Bean のみです。

EJB プロジェクトは専門化された Java プロジェクトです。Java プロジェクト同様、EJB プロジェクトにも、プロジェクトのソース・ファイルおよび出力ファイルを収容する 1 つ以上のソース・フォルダーが必要です。デフォルトでは、ソース・フォルダーの名前は ejbModule になりますが、この名前はプロジェクトや 新規ソース・フォルダーの作成時に変更できます。 プロジェクトを公開またはデプロイすると、フォルダー (複数可) のコンテンツは集約されます。

EJB プロジェクトをソース・フォルダーとして使用することはできません。使用するとエラーの原因になります。また、 プロジェクト内に複数のソース・フォルダーが存在してもかまいませんが、MANIFEST.MF とデプロイメント記述子ファイルの 入った META-INF フォルダーを収容できるソース・フォルダーは 、1 つだけです。

注: EJB モジュールの EJB クライアント JAR ファイルの作成を選択した場合、エンタープライズ Bean のクライアント・インターフェース・クラスは EJB プロジェクトには含まれませんが、別個の EJB クライアント JAR プロジェクトに含まれます。プロジェクト・エクスプローラーで、EJB クライアント JAR プロジェクトは「その他のプロジェクト」ノード下に Java プロジェクトとして表示されます。
EJB クライアント・プロジェクト

EJB ツールは、 EJB モジュールの EJB クライアント JAR プロジェクトの作成をサポートします。EJB クライアント JAR プロジェクトには、クライアント・プログラムが、EJB プロジェクト内に含まれているエンタープライズ Bean のクライアント・ビューを使用するのに必要なインターフェース・クラスがすべて含まれます。EJB プロジェクトの EJB クライアント・プロジェクトを作成するとき、新規 Java プロジェクトが作成され、ワークスペースに追加されます。EJB クライアント・プロジェクトが、 プロジェクト・ユーティリティー JAR ファイルとして、EJB プロジェクトが属するそれぞれのモジュールに追加されます。

デフォルトでは、ウィザードを使用して EJB プロジェクトを作成すると、EJB クライアント JAR プロジェクトも作成されます。 ただし、ウィザードでこのオプションをクリアすることもできます。

ヒント: モジュールとして EJB プロジェクトを含まない他のエンタープライズ・アプリケーションに、EJB クライアント・プロジェクトを追加することもできます。これにより、EJB アプリケーションをエクスポートするときに、EJB クライアント JAR ファイルがエクスポートされ、かつ EAR ファイルとパッケージ化されることが保証されます。
エンタープライズ Bean

エンタープライズ Bean は、他のリソースと結合されて、分散クライアント/サーバー・アプリケーションを作成することのできる Java コンポーネントです。

エンタープライズ Bean には、エンティティー Bean、セッション Bean、 およびメッセージ駆動型 Bean の 3 つのタイプがあります。一般的には、すべてのタイプの Bean が 1 つのエンタープライズ・アプリケーション内で一緒に使用されます。

エンティティー Bean
エンティティー Bean は永続データを保管します。コンテナー管理パーシスタンス (CMP) を持つエンティティー Bean には、データベース接続が必須で す。Bean 管理パーシスタンスを持つエンティティー Bean は、Bean のコードで定義された方法がどんなものであっても、その方法で永 続データを管理します。 これには、例えば、データベースまたは XML ファイルへの書き込みも組み込まれています。
セッション Bean
セッション Bean は、エンティティー Bean へのアクセスによって (必要に応じて) 間接的にデータベースにアクセスできるが、それは必須ではありません。セッション Bean は、 リソース参照を使用して、データベース (および他のリソース) に直接アクセスすることもできます。
メッセージ駆動型 Bean
メッセージ駆動型 Bean は、JMS メッセージング・システムにおいてメッセージ・コンシューマーとして働く特殊なエンタープラ イズ Bean です。標準的な JMS メッセージ・コンシューマーと同じように、メッセージ駆動型 Bean は、メッセージの内容に基づいたビジ ネス・ロジックを受信し実行します。メッセージ駆動型 Bean インスタンスの動的な作成および割り振りは、いくつかの点でステートレス・セッション・ エンタープライズ Bean の振る舞いをまねています。 しかし、メッセージ駆動型 Bean は、次のいくつかの点でステートレス・セッション・エンタープライズ Bean (およびその他の型のエンタープライズ Bean) とは異なっています。
  • メッセージ駆動型 Bean は、直列化されたメソッド呼び出しのシーケンスを処理するのではなく、複数の JMS メッセージを非同期 的に処理します。
  • メッセージ駆動型 Bean は、ホーム・インターフェースやリモート・インターフェースをもっていないため、内部クライアントや 外部クライアントからは直接アクセスすることができません。
デプロイメント記述子

デプロイメント記述子には、ランタイム環境がアプリケーション用に使用する構成データが含まれています。 デプロイメント記述子には、以下についての情報を組み込むことができます。

  • アプリケーションの構造および内容 (例えば、エンタープライズ Bean)。
  • 内部および外部の依存関係への参照。例えば、EJB モジュールのエンタープライズ Bean は、同じモジュール内でバンドルされていない別のエンター プライズ Bean を必要とする場合があります。
  • URL または JDBC データ・ソースなどの、リソース・ファクトリー・オブジェクトへの参照。
  • アプリケーションに対して必要なアクセス制御を実装する際に、コンテナーが使用するセキュリティー役割。
  • コンテナーがアプリケーションのトランザクションを管理する方法 (および管理するかどうか) についてのトランザクション情報。

デプロイメント記述子は、アプリケーションのファイルと一緒に Java アーカイブ・ファイルにパッケージされた XML ファイルです。EJB デプロイメント記述子は、ejb-jar.xml と呼ばれ、EJB プロジェクトの META-INF フォルダーに格納されます。 1 つの J2EE アプリケーションには、1 つのアプリケーション・レベルのデプロイメント記述子ファイルが含まれており、 これがアプリケーション全体を支配します。また、いくつかのコンポーネント・レベルのデプロイメント記述子も、 アプリケーションのモジュールごとに 1 つずつ含まれています。