JBossIDE + Exadel Studio = JBoss Tools

Exadel StudioはStruts/JSFなどに対応したフルスタックのWebアプリケーション開発環境。以前は無償版と有償版が提供されていたが、2007年3月、RedHatとExadelの提携の一環としてExadel Studio Pro(有償版)をJBossブランドのもとにオープンソース化することが発表された。JBossはもともとJBossIDEというEclipseプラグインを提供していたが、現在はExadel StudioとマージされJBoss Toolsとして開発が行われている。

なお、JBoss Toolsは本稿執筆時点でベータ3がリリースされたばかりで正式リリースには至っていない。JBoss Toolsは更新サイトからインストールすることができる。

JBoss Toolsの動作にはEclipse 3.3やWTPなどが必要になるが、JBoss ToolsとEclipse本体およびJBossがセットになったインストーラがRedHat Developer Studio(こちらも現在リリースされているのはベータ1となっている)としてRedHatのWebサイトで公開されているため、これを利用するのが簡単だ。RedHat Developer Studioは同社のサイトからダウンロードすることができる。

JBoss Toolsの機能

それではJBoss Toolsベータ3で実装されている機能のうち、主なものピックアップして紹介していこう。

Struts/JSF

Struts/JSFの開発支援機能はもともとExadel Studioが持っていた機能であったため、商用製品レベルの機能が提供されている。たとえばStruts、JSFともに画面遷移のビジュアル編集などが可能となっているほか、StrutsについてはTilesやValidator用の設定ファイルを編集するためのエディタも用意されている。

図1 Strutsの画面遷移を編集

図2 struts-config.xmlをツリー形式で編集

JBoss Seam

JBoss SeamはJBossが提供するWebアプリケーションフレームワークで、JSFやEJB3といった既存のJavaEEフレームワークをシームレスに統合することができる。Seamを利用することでEJB3のコンポーネントをJSFから直接呼び出すことができるようになるほか、ウィザード形式の画面のような一連の処理において利用可能なConversationスコープや後述するjBPMを利用した画面遷移の管理など、先進的なフレームワークとなっている。

Seamではseamコマンドによってプロジェクトやソースコードの雛形を生成することが可能だが、JBoss ToolsではこれらをEclipseのウィザードから行うことができる。

図3 JBoss Toolsが提供するSeam関連のウィザード

Seamはビュー技術としてFacelets(JSFを拡張し、ビューをJSPではなくXHTMLで記述できるようにするもの)にも対応しており、JBoss ToolsでもFaceletsのXHTMLをビジュアル編集することができる。XHTMLのソースコード編集時はSeamのコンポーネントを入力補完することも可能だ。パレットからはExadelが寄贈したAjax4JSFやJBoss RichFaces、Seamのコンポーネントなどが用意されており、ドラッグ&ドロップでエディタに貼り付けることができる。

図4 FaceletsのXHTMLをビジュアル編集

Hibernate

Hibernateはいわずと知れたJavaのオープンソースO/Rマッピングフレームワークの代名詞的な存在だ。JBoss ToolsにはHibernateでの開発を支援する機能も統合されており、データベーススキーマからJavaBeanやマッピングファイル、DAOなどを自動生成したり、HQL(Hiberante独自のSQLに似たクエリ言語)をEclipse上で実行したりといったことが可能だ。

図5 Hibernate ConsoleパースペクティブでHSQLを実行

jBPM

jBPMはJBossが提供しているワークフロー管理システムだ。単体のワークフローエンジンとしても利用可能だが、前述のJBoss Seamと組み合わせて画面遷移の管理に利用することもできる(SeamにはjBPMが統合されている)。JBoss ToolsにはjBPMのワークフローをビジュアルに作成するためのエディタが用意されている。

図6 jBPMプロセスデザイナ

オープンソースの標準Web開発ツールとなるか?

JBoss Tools/RedHat Developer Studioは基本的にはJBossが提供するミドルウェア群を利用した開発を支援するためのツールであるが、Exadel Studioとの統合によってJSFやStrutsの支援機能が充実しており、JBossのミドルウェアスタックを利用しない場合でも充分に利用する価値があるといえるだろう。Exadel Studioがマージされたことにより機能面や操作性の面で統一の取れていない部分が多々見受けられるが、この問題は開発が進むにつれ徐々に解消されていくはずだ。

これまでフルスタックのEclipseディストリビューションはMyEclipseやExadel Studioのように有償の製品が多かったが、Exadel Studioのオープンソース化によってJBoss ToolsがWeb開発の主役となるかもしれない。