【レビュー】
Webアプリケーションシステムに関する技術はコンポーネント化やプラガブル化が進み、組み合わせてシステム構築に使うといった用途が増えている。逆にいえば、単体の技術だけではWebアプリケーションシステムを開発することは面倒で、否応なく組み合わせなければならない。
これを解決するソリューションとして「フルスタックプロダクト」とか「フルスタックアプリケーション」と呼ばれるものがある。これは既存の技術コンポーネントを組み合わせ、単体でシステム構築のすべてをカバーできる成果物を提供するというものだ。今一番有名なのはRuby on Rails(以降、RoR)だろう。
Java WebアプリケーションシステムにおけるフルスタックプロダクトにはRIFE、Grails、AppFuseなどがあるが、今月、ここに新顔が登場した。Struts 2などを採用したプロダクトで今後の展開が興味深い。ここでは新進気鋭のプロジェクト、Project Ableを紹介する。
Apache Struts 2(Struts Action Frameworkとも呼ばれる。オリジナルコードはWebWork 2.2をマージしたもの)の主要メンテナのひとりであるPatrick Lightbody氏は14日(米国時間)、自身のブログにおいて「Project Able」をあきらかにした。
「Project Able」はJavaベースのWebフルスタックプロダクト。Struts 2(WebWork 2)、Spring、iBatisなどを主要コンポーネントとしたフルスタックプロダクトで、類似プロジェクトにはRIFE、Trails、Grails、AppFuse、SourceLabs SASH Stack for Java、JAG、Jitterbitなどがある。
同氏はProject Ableをはじめるきっかけとして、RoRの普及と、最近自身が実施した開発経験をあげている。RoRから学ぶところがあるということ、最近実施した開発から多くの共通点を見出し、フルスタック化の可能性を感じたということである。
Ableの主要コンポーネントやツールは次のとおり。実質的にWebWorks 2、Spring、iBatisが大枠の性格を決めているといえる。
開発においては扱いやすいURIの生成メカニズム、制約やアノテーションベースのアクション設定、一般的なWeb技術のサポート、DAOラッパの提供、TestNGを使ってユニットテスなど、主要な方法論はサポートされている。
Project Ableはまだまとまった成果物が提供されていない。Subversionレポジトリから成果物にアクセスできるようにはなっており、Mavenを使ってビルドやインストールはできる。
Project Ableの成果物を取得して、Eclipse IDE用のプロジェクトを作成する例を次に紹介する。まず、ソースコードの取得やライブラリの作成にSubversion、Maven 2が必要になるので、システムにインストールしておく必要がある。
プロンプト3.1のようにsvn(1)コマンドを使ってAbleのソースコードを取得したら、プロンプト3.2のようにmvn(1)コマンドを使って関連するライブラリを取得する。次にプロンプト3.3のようにEclipse IDE用のプロジェクトを作成する。ディレクトリがすでにプロジェクトディレクトリに変わっているため、Eclipse IDEでableディレクトリを指定すると図3.4のような開発画面が表示されるようになる。
ただし、執筆段階ではEclipse IDEには充分に最適化されていない状況だ。Patrick Lightbody氏は現在、IntelliJ IDEA向けにプロジェクトを開発しており、「mvn idea:idea」にてIDEA用のプロジェクトを作成、生成されるable.iprファイルをIDEAで開くとプロジェクトが展開されるようになる。Run Webappを選択することで試験用のアプリケーションサーバが動作するほか、TestNGをインストールしていけばServicesを選択することで試験も動作する。
Project Ableの発表に対しては、AppFuseと何が違うのか、フルスタックプロダクトを目指すのであればなぜ既存のRIFEを採用しなかったのか、O/RマッパにHibernateを採用せずになぜiBatisを採用したのかという疑問もあげられている。
RIFEやTrailsはAbleと近い位置にあり、とくにRIFE/JumpstartはAbleとかなりよく似ている。Ableは単一のフルスタックプロダクトだが、AppFuseはコレクションスタックという違いがある。フルスタックプロダクトとしてはこれ以外にもより動的に開発を実施できるGrailsをあげることもできる。
Patrick Lightbody氏はそうした疑問に対しては自身のブログに記載した内容をまず読んでほしいとしたあとで、それぞれのプロダクトにはそれぞれの特徴があり、ユーザはそれぞれ気に入ったものを採用すればよいと述べている。
Project Ableははじまったばかりであり、フルスタックプロダクトとしての評価をするにはまだ時期が早いといえる。現段階でいえることは、採用しているコンポーネントがStruts 2(WebWork 2)、Spring、iBatisなどであるため、これらコンポーネントになれているデベロッパにとっては、ほかのフルスタックプロダクトよりも馴染みやすいということだろう。
フルスタックプロダクトは、採用する主要コンポーネントで方向性が決まる傾向にある。RoRやGrailsのようにビルドコマンドまで作成する場合と違い、コンポーネントを組み合わせるフレームワークを提供するタイプのフルスタックプロダクトはなおのこと癖がでる。
Project Ableの場合、WebWorks 2、Spring、iBatisが採用されている。これはどれも癖が強い。とくにWebWorks 2やiBatisは好き嫌いのわかれるところかもしれない。たとえばSourceLabs SASH Stack for Javaで採用されているコンポーネントはStruts、Spring、Hibernateだ。こちらはより最大公約数的で、多くのデベロッパにはとっつきやすいだろう。
Project Ableは最初のリリースでどのような方向性にまとまってくるか、今後の展開に期待だ。
| あなたは使いこなせる?--風変わりだけど強力なWebアプリフレームワークRIFE [2006/8/7] |
| WebWork、2.2.2にて終了 - 以降はApache Struts Action 2.0に移行へ [2006/3/24] |
| ウェブページでJava/C++/etc...構文ハイライト--JHighlight 1.0、RIFEから [2006/3/15] |
| DIを実現するSpring Framework - 最新版マイルストーン2.0 M3公開 [2006/3/10] |
| Webアプリケーションフレームワーク - RIFE 1.4 公開 [2006/3/6] |
| DIコンテナSpring Framework 1.2.7公開、次は2.x系へ [2006/3/1] |
| SASH Stack for Java 1.1発表、Oracleオープンソース戦略強化へ [2006/2/13] |
| OpenSymphony、WebWork 2.2を公開 - Struts Action Frameworkへの序幕 [2006/1/16] |
| Webアプリケーションフレームワーク - RIFE 1.3 公開 [2005/12/15] |
| スキーマからファイルを自動生成してAppFuseを支援 - AppFuse Generator [2005/11/24] |
| RIFEモジュール、オンザフライでCRUDを提供 - RIFE/Crud 1.0公開 [2005/10/21] |
| SpringのXML設定ファイルを簡素化 - XBeanで [2005/10/18] |
| 手を握るStrutsとSpring、今後の行方は [2005/10/17] |
| Javaウェブアプリケーションフレーム - RIFE 1.1発表 [2005/9/28] |
| J2EEアプリ生成ツール JAG 5.0 - Spring/Hibernate/Annotationなどサポート [2005/9/20] |
| 4年の歳月と70回のリリースを経て正式版へ - Web application engine"RIFE" [2005/9/1] |
| アジレント、ミリ波信号解析ソリューションを発表 [16:54 5/24] |
| NXP、独自のTrench 6テクノロジによる車載用パワーMOSFETファミリを発表 [16:52 5/24] |
| 産総研、光照射で損傷を自己修復できるゲル状スマートマテリアルを開発 [16:49 5/24] |
| アンテナ設置数が半分の33台に到達 - アルマ望遠鏡、2kmの干渉試験も成功 [16:45 5/24] |
| 人工知能実現へ一歩前進!? - NIMS、環境依存型「シナプス素子」を開発 [16:40 5/24] |
|
大阪駅「ギャレ大阪」跡地に約80店舗入居の新商業施設開業へ - JR西日本 [17:48 5/24] ライフ |
|
ネイティブの好むフレーズを集めたビジネス英会話ブック発売 - アルク [17:35 5/24] ライフ |
|
【レポート】【レポート】ネットワークレコーダー「nasne」先行プレビュー - Xperia/Sony Tabletでの使用感を確認!! [17:29 5/24] 携帯 |
|
自分らしさ発見! マイナビ×サンマリエのスペシャルセミナー開催 [17:21 5/24] ライフ |
|
『好きっていいなよ。』、2012年秋にTVアニメ化! スタッフ&キャストを紹介 [17:12 5/24] ホビー |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。