特集
2004/01/30 18:55:00 更新


特集:第1回 EJBの仕組みを知ろう (3/6)


Enterprise Beanを管理するEJBコンテナの役目

 すでに説明したように、EJBコンテナは、Enterprise Beanを管理するためのコンテナだ。Enterprise Beanには、次の3種類があり、用途に応じて使い分ける。

  • セッションBean

 ビジネスロジックを実装するためのEnterprise Beanだ。セッションBeanには、「ステートレスセッションBean」と「ステートフルセッションBean」の2種類がある。これらの違いについては、後述する。

  • エンティティBean

 データを永続的に保存するためのEnterprise Beanだ。このエンティティBeanは、データベースの各レコードとマッピングされ、エンティティBeanに保存した値は、自動的にデータベースに書き込まれる。また逆に、データベースの各レコードからエンティティBeanのインスタンスを作成することもできる。エンティティBeanについては、連載第2回以降に解説する。

  • メッセージドリブンBean

 JMS(Java Message Service)を使い、非同期のメソッドの呼び出しをサポートするEnterprise Beanだ。やや特殊であり、あまりひんぱんに利用されないため、本連載では扱わない。

Enterprise Beanを構成する3つの要素

 Enterprise Beanは、ひとつのクラスから構成されるものではなく、次の3つの要素から構成される。

1. ホームオブジェクト

 Enterprise Beanのインスタンスを作るために使われるオブジェクト。

2. EJBオブジェクト

 メソッドが呼び出された時、その呼び出しを中継するためのオブジェクト。

3. Beanオブジェクト

 実際のビジネスロジックのメソッドを実装したBeanクラスのインスタンスを指す。これらの3つのオブジェクトは、すべてEJBコンテナによって管理される。要素の位置付けと、EJBコンテナがEnterprise Beanを処理する流れをFig.6に示す。


EJBは、Fig.5に示したように別サーバーで稼働することもあるため、ネットワークを通じたリモートでのメソッドの呼び出しとなる。そのため実際には、RMI-IIOPで呼び出すためのスタブやプロキシが存在する。しかしFig.6ではスタブやプロキシの存在は省略している。

fig06.gif

Fig.6■EJBコンテナの構造


前のページ | 1 2 3 4 5 6 | 次のページ

[大澤文孝,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.