第1回:EJBのすべてを知る (3/3)

EJB 3を再考する
EJB 3を再考する

第1回:EJBのすべてを知る

著者:レッドハット  田澤 孝之   2007/9/12
前のページ  1  2  3
EJB 3.0の登場

   XDocletでのコード生成の仕組みが、Java SE 5で登場したアノテーションの仕組みで実現することができるようになってきました。また、EJBに変わる手段として登場してきた「軽量コンテナ」は「DI(Dependency Injection)コンテナ」とも呼ばれ、依存性を動的に注入する技術が導入されていましたが、これもEJB 3に導入しました。EJB 3はこのような技術の集大成として、良いものを取り入れていく形で、仕様が完成しました。

   結果として、セッションBeanとメッセージ駆動型Beanが残り、エンティティBeanはEJB 2.1で進化を止めることになりました。その代わり、Java SEでもJava EEでも利用できるJPA(Java Persistence API)として生まれ変わることになったのです。
EJB 3でのEJBの種類
図4:EJB 3でのEJBの種類
(画像をクリックすると別ウィンドウに拡大図を表示します)

   セッションBeanではホームインターフェースも廃止され、インターフェースと実装クラスの2つになりました。アノテーションの記述でデプロイメント記述子相当の役割も担うことになっています。従ってOOADの思想に基づき、インターフェースプログラミングをすることがEJBを実装することそのものになります。

EJB 3の構成要素
図5:EJB 3の構成要素
(画像をクリックすると別ウィンドウに拡大図を表示します)


そしてEJBに回帰

   このようにEJB誕生の経緯や歩んできた道は間違いではなく、常に注目されてきた技術です。それ故に進化の過程で否定される時期があったかもしれません。しかしJavaテクノロジーを用いて企業システムを構築するための「Java EE」として捉えると、EJBは必須コンポーネントであるのは間違いありません。

   軽量からはじまったSpring Frameworkが企業システムで必要となる機能を取り込み重量化しているのは、この事実を顕著に示しているといえます。

   EJB 3となり、もう開発者はEJBを利用しているという意識をすることがなくなりました。なぜならPOJOでエンティティオブジェクトやビジネスロジックが記述できるのです。アノテーションを利用しコンテナにEJBであることを伝え、リソースは同じくアノテーションを利用してDIによりインジェクトされます。実装ではほとんどルールがなく、記述するのはただのJavaのクラスです。ある時期皆がこぞって「軽量コンテナ」を利用したことを考えれば、標準仕様のEJB 3を利用しないことの方が不自然になるでしょう。

現在、EJBは更なる進化のためにJSR 318で「Enterprise JavaBeans is an architecture for the development and deployment of component-based business applications.」として、EJB 3.1の仕様策定が進んでいます。

JSR 318: Enterprise JavaBeans 3.1
http://www.jcp.org/en/jsr/detail?id=318

   JBoss EAP 4.2ではEJB 3を利用することが可能です。次回はJBoss EAP 4.2.0でEJB 3とJPAを持ちいたエンティティを実装して動作させてみます。

前のページ  1  2  3


レッドハット株式会社 田澤 孝之
著者プロフィール
レッドハット株式会社  田澤 孝之
JBossグループ SE部 マネージャー
1989年より日立製作所にてIT業界に身をおく。1998年より日本BEAシステムズにてTPモニタ、サーバサイドJavaにフォーカス。特にJ2EEに特化しプリセールス、インストラクタ、SOAコンサルタント業務に従事。2006年よりファストサーチ&トランスファで企業向けサーチソリューションコンサルタントを経て、2007年よりレッドハットにてJBossの販売提案と導入技術支援を行う。「EJB 2.0 徹底攻略」(技術評論社)など著書、共著多数。


INDEX
第1回:EJBのすべてを知る
 Java EEとEJB
 EJB 2.0の登場
EJB 3.0の登場
EJB 3を再考する
第1回EJBのすべてを知る
第2回ステートレスセッションBeanでの実装
第3回ステートフルセッションBeanでの実装
関連記事
JBoss Enterprise Application Platformの全貌
DIxAOPコンテナ「Seasar2とSpring」

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored