概要 : エンタープライズ JavaBean(EJB)

WebLogic Workshop 内の他のすべてのコントロールと同じく、EJB コントロールはコントロールが表すリソースの詳細のほとんどを隠蔽します。したがって、このトピックで取り上げる内容の多くを知らなくとも、EJB コントロールを使用することができます。このトピックは基礎知識として設けられています。

J2EE と EJB の詳細については、WebLogic Server のドキュメント、java.sun.com、または J2EE プログラミング関連の書籍を参照してください。

EJB とは

エンタープライズ JavaBean は、アプリケーションのビジネス ロジックをカプセル化するサーバサイド コンポーネントです。ビジネス ロジックは、アプリケーションにインフラストラクチャを提供するコードとは対照的に、アプリケーションの目的を実行するコードです。たとえば、ある在庫管理アプリケーションで、EJB が checkInventoryLevel と orderProduct というメソッドでビジネス メソッドを実装しているとします。リモート クライアントはこれらのメソッドを呼び出すことで、アプリケーションによって提供される在庫管理サービスにアクセスできます。

EJB は、EJB にシステム サービスを提供する EJB コンテナ内で実行されます。これらのサービスには、トランザクション管理、永続性、プーリング、クラスタ化などのインフラストラクチャがあります。

EJB インタフェース

EJB は、ホーム インタフェースとビジネス インタフェースという 2 種類のインタフェースを公開します。EJB 2.0 以前では、ビジネス インタフェースは一般に、Bean のリモート インタフェースと呼ばれていました。

クライアントは、ホーム インタフェースを使用して、通信する EJB のインスタンスを取得します。ホーム インタフェースのメソッドは、EJB インスタンスを作成または検索するものに限定されてます。

クライアントは、EJB インスタンスを取得すると、EJB のビジネス インタフェースを呼び出して処理を実行します。ビジネス インタフェースは、EJB にカプセル化されたビジネス ロジックに直接アクセスします。

EJB を表す EJB コントロールを作成するには、ホーム インタフェースとビジネス インタフェースの名前を知っておく必要があります。通常、ホーム インタフェースの名前は com.mycompany.MyBeanNameHome という形式を取り、ビジネス インタフェースは com.mycompany.MyBeanName という形式を取ります。

EJB の種類

J2EE 1.3 では、セッション Bean、エンティティ Bean、およびメッセージ駆動型 Bean の 3 種類の EJB があります。以下の節では、それぞれの種類について簡単に説明します。

EJB コントロールを使用すると、Web サービスはセッション EJB およびエンティティ EJB のクライアントとして機能できます。リクエストは JMS コントロールを使用してメッセージ駆動型 Bean に間接的に送信されるので、EJB コントロールではメッセージ駆動型 Bean はサポートしていません。

セッション EJB

セッション EJB は、アプリケーション サーバ内の単一のクライアントを表します。アプリケーションのクライアントは、セッション Bean のメソッドを呼び出すことでアプリケーションにアクセスします。セッション Bean は、サーバ内のビジネス タスクを他の EJB を呼び出すことで実行し、複雑な処理をクライアントから見えないようにします。

セッション Bean は共有されず、1 つクライアントのみが使用できます。双方向のセッションと同じく、セッション Bean に永続性はありません。クライアントが終了すると、クライアントが使用していたセッション Bean は終了したように見え、クライアントとの関連付けが解除されます。

エンティティ EJB

エンティティ Bean は、永続ストレージ メカニズム内のビジネス オブジェクトを表します。ビジネス オブジェクトの例としては、顧客、注文、製品などがあります。永続ストレージ メカニズムはリレーショナル データベースです。一般に、各エンティティ Bean はリレーショナル データベース内の基底のテーブルを持ち、Bean の各インスタンスはそのテーブル内の行に対応しています。

エンティティ Bean は、いくつかの点で セッション Bean と異なります。エンティティ Bean は永続的で、共有アクセスを許可し、主キーを持ち、他のエンティティ Bean との関係に参加できます。

メッセージ駆動型 EJB

メッセージ駆動型 EJB は、JMS(Java Message Service)メッセージをリスンする機能を持つエンタープライズ Bean です。メッセージは、JMS に準拠したコンポーネントまたはアプリケーションによって送信されます。メッセージ駆動型 EJB は、J2EE アプリケーションがメッセージ ベースのレガシー アプリケーションとの関係に参加するためのメカニズムです。

関連トピック

EJB コントロール : Web サービスからエンタープライズ JavaBean を使用する

コントロール : Web サービスからリソースを使用する