概要 : エンタープライズ JavaBean と EJB3 コントロール

EJB コントロールを使用しないでエンタープライズ JavaBean (EJB) の機能をアクセスするには、いくつかの準備作業が必要になります。JNDI レジストリ内で EJB をルックアップし、EJB インスタンスを取得してから、EJB のビジネス インタフェースのメソッドを呼び出して処理を実行します。

EJB コントロールを使用すると、この準備作業がすべて不要になります。EJB コントロールを作成すると、Web サービス、カスタム コントロール、またはページ フローでコントロールを使用して EJB のビジネス メソッドに直接アクセスできます。EJB コントロールは、すべての JNDI ルックアップ、インタフェースの検索など、EJB との通信を管理します。

つまり、EJB コントロールは、デプロイされた既存の EJB をアプリケーション内で簡単に使用できる代替方法を提供します。EJB3 コントロールでサポートされるのは、セッション タイプ Bean との対話のみです。

セッションの簡単な説明を、以下に示します。

セッション EJB

セッション EJB は、アプリケーション サーバ上のクライアントに対してビジネス タスクを実行するのに使用されます。ステートフル セッション Bean は、クライアントが参加している場合、対話状態を維持します。つまり、対話状態を使用することで、メソッド呼び出し間のデータを追跡し、Bean は確実に正しいクライアントに応答できます。ステートレス セッション Bean は対話状態を使用しないため、クライアントとの対話はメソッド呼び出しの期間しか持続しません。ステートレス セッション EJB に永続性はありません。したがって、クライアントが終了すると、クライアントが使用していたセッション EJB は終了したように見え、クライアントとの関連付けが解除されます。

EJB インタフェース

EJB 3.0 では、ローカル ビジネス インタフェース (または単にローカル インタフェース)、リモート ビジネス インタフェース (または単にリモート インタフェース) と呼ばれる、2 種類のインタフェースをエクスポーズしています。クライアント アプリケーションは、リモート インタフェースを使用して、通信する EJB のインスタンスを取得できます。クライアントは、EJB インスタンスを取得すると、EJB のリモート ビジネス インタフェースのメソッドを呼び出して処理を実行できます。ビジネス インタフェースは、EJB にカプセル化されたビジネス ロジックに直接アクセスします。同一の Workshop アプリケーション内で定義されている EJB 間の対話には、同一の Workshop アプリケーション内における EJB と Web サービス、カスタム コントロール、またはページ フロー間での対話と同様に、代わりにローカル インタフェースを使用することもできます。この方がリモート インタフェースよりもパフォーマンス上では利点があります。つまり、ローカルのビジネス インタフェースは、同一の Workshop アプリケーション内で他の Bean、EJB コントロール、Web サービス、およびページ フローによってアクセス可能なメソッドを定義し、リモートのビジネス インタフェースは、他のアプリケーションによってアクセス可能なメソッドを定義します。

EJB を表す EJB3 コントロールを作成するには、ビジネス インタフェースの名前を知っておく必要があります。通常、この名前は com.mycompany.MyBeanName または com.mycompany.MyBeanNameLocal という形式をとります。EJB コントロールでは、EJB のローカル インタフェースまたはリモート インタフェースが使用されます。EJB コントロールの作成方法については、「新しい EJB3 コントロールの作成」を参照してください。EJB3 コントロールがセッション EJB と対話する仕組みについては、「EJB3 コントロールの使用」を参照してください。


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。