Google
WWW を検索 junglejava.jp を検索

 JBoss Seam で体験する Java EE 5

Posted in Eclipse (RSS), Java (RSS)

EJB3.0」は、「JSF」と共に「Java EE 5」の中心的な役割を担う技術です。
O/Rマッピング・フレームワーク「Hibernate」やDIコンテナ「Spring Framework」等のいわゆる"アンチEJB"の声を取り入れて、従来のEJBから大きな変貌を遂げました。
僕自身にはまだ「EJB3.0」に関する知識が不足していますが、「Hibernate」にかなり近い仕組みになったと考えて良さそうです。

そして、「JBoss Seam」は、「JSF」と「EJB 3.0」とを結び付けるWebアプリケーションフレームワークです。
JavaによるWebアプリケーション開発の将来像を考える上で、大いに参考になるのではないでしょうか。

「JBoss Seam」の仕組みを大雑把に説明すると、
「JBoss Seam」=DIコンテナ「JBoss Microcontainer」+プレゼンテーション層のフレームワーク「Facelets
だと言ってよいでしょう。

「EJB 3.0」自体にもDIコンテナ的な機能は備わっていますが、「JBoss Microcontainer」によって更にその機能が強化されることになります。
このため、「JBoss Seam」においては、「EJB 3.0」によるアノテーションと「JBoss Microcontainer」によるアノテーションが混在します。
ちょっと複雑で分かりにくい気もしますが、上記の機能によって「Tomcat」のような「EJB 3.0」に未対応の環境で「JBoss Seam」を動作させることもできます。(この場合は、「Hibernate」を利用します。)

一方、「Facelets」は、「JSF」において「Velocity」のようなテンプレート型のアプローチを可能にします。
テンプレート内にJSFのカスタムタグを記述するという方法の他に、HTMLタグにjsfc属性を埋め込む形で、HTMLタグをJSFコンポーネントのように扱うこともできます。
また、ユーザー自身が「Facelets」の機能を拡張することも可能になっています。
なお、「Facelets」の開発者であるJacob氏は、JBoss社とは直接の関係はないようです。

興味を持たれた方は、JBoss社が提供する「Eclipse」 ベースのIDE 「JBoss Eclipse IDE 」を用いて、デモアプリケーションを実行してみると良いでしょう。
Seam in Eclipse Flash Demo

関連情報
先取り研究! Java EE 5
EJB3.0入門講座

JSFとEJB 3.0を統合 - JBoss Seam 1.0 beta 1
JBoss/Seam と EJB,Spring 特徴・機能比較
SeamでJavaプロジェクト開発を大幅に効率化する
Seam - Contextual Components

Facelets入門(1)
FaceletsはぴったりとJSFにフィットします
高度なFaceletsプログラミング

Posted on 2006年08月14日