PR

JBoss Seam ~Java EEは統合フレームワークへ~

2010年1月15日(金)
佐野 大輔

統合的なフレームワークを目指すJava EE

Java EE 5という標準規格が策定された経緯について第1回で説明しましたが、Java EE 5で行われた作業は、まさに標準規格の「再整理」と呼べるものでした。

誕生当初から次代のJava EE(このころは、まだJ2EEと呼ばれていた)の中核を担う技術として注目を集めていたJSF 1.2がプレゼンテーション層のフレームワークとして正式に採用され、Java EEの本体とも言えるEJBはDIコンテナの機能を取り込み、生産性を飛躍的に向上させたEJB 3.0として大きく生まれ変わりました。

また、それまでCMP Entity BeanとしてEJB仕様の一部として存在していたO/Rマッピング機能は、Java EEとは独立して発展し続けてきたHibernateやTopLinkといったオープンソースのO/Rマッピング・ツールに歩み寄る形で新たに策定され、EJBとは独立したAPIであるJPA 1.0に役割を委ねることになりました。

このように機能の統廃合や、Java EE以外のコミュニティのノウハウの取り込みを行うことによって、JSF 1.2 - EJB 3.0 - JPA 1.0というスタックを築き上げたJava EE 5ですが(図1)、既に米JBossのGavin King氏には、これらのスタックをシームレスにつなげ、統合的なWeb開発フレームワークとして提供するという、次のJava EE 6に向けた青写真がありました。

この青写真を具現化したものが、同氏が開発したJBoss Seam(以下、Seam)というWeb開発フレームワークであり、それを基にして同氏が策定し、Java EE 6に採用されることになった「JSR-299:Context and Dependency Injection for Java EE Platform」(以下CDI)です。

連載2回目となる今回は、今後のJava EEの歩みにおいて大きな鍵となるであろう、Seamについてご紹介いたします。

JBoss Seamとは

Seamは、JBoss Application Serverなどと同様に、JBossコミュニティで開発されているオープンソース・プロダクトです。ライセンス形態はLGPL(GNU Lesser General Public License)であり、無償での入手、利用が可能ですが、米Red Hat(2006年に米Red Hatが米JBossを買収)の有償サポートを受けることも可能です。

Seamは、JBoss Application Serverはもちろん、それ以外のJava EE 5に準拠したアプリケーション・サーバー上でも動作させることが可能なWeb開発フレームワークであり、以下のような特徴を持っています。

  • 付属ツールのseam-genによってアプリケーションのひな型を作成でき、簡単に開発が始められる。
  • JSFとEJBをシームレスにつなぐ機能を持つ。
  • 独自のコンポーネント・モデルによって、ステートフルなWebアプリケーション開発を容易にする。

次ページからこれらの特徴について解説しますが、ここではまず、開発環境について簡単に紹介します。

前述のように、Seamはさまざまな環境で動作させることが可能ですが、一番簡単に動作させるためには、JBoss Application Serverを使用するのが良いでしょう。JBoss Application ServerにはDBMS(HSQLDB)もバンドルされているので、SeamとJBoss Application Serverに加えて、JDKを用意すれば、Seamのすべての機能を確認できます。

参考までに、今回、動作確認に用いたソフトウエアは以下の通りです。

SeamとJBoss Application Serverは、適当な位置に解凍するだけで構いません。JDKはインストール後、環境変数「JAVA_HOME」を適切に設定します。事前準備はこれだけです。

野村総合研究所(NRI)
基盤ソリューション事業本部 副主任システムコンサルタント。前職での大企業向けWeb型グループウエアの開発経験を経て、2008年8月より現職。NRIのSIフレームワーク「ObjectWorks+」関連製品の導入コンサルティングを行っている。ObjectWorks+ :http://works.nri.co.jp/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています