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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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