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

統合的なフレームワークを目指すJava EEJava EE 5という標準規格が策定された経緯について第1回で説明しましたが、Java EE 5で行われた作業は、まさに標準規格の「再整理」と呼べるものでした。誕生当初から次代のJava EE(このころは、まだJ2EEと呼ばれていた)の中核を担う技術とし

佐野 大輔

2010年1月15日 20:00

統合的なフレームワークを目指す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」を適切に設定します。事前準備はこれだけです。

人気記事トップ10

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

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

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30