Seasarプロジェクトで提供されているEclipseプラグイン

前回はSpring Frameworkでの開発を支援するSpringIDEを紹介したが、日本国内では国産のDIコンテナであるSeasar2の人気も高い。今回はSeasar2をサポートするEclipseのプラグインを紹介したい。

Seasar2 の開発コミュニティであるSeasarプロジェクトでは開発支援ツールの提供を目的としたToolsプロジェクトが存在し、さまざまなEclipseプラグインが提供されているが、今回はこれらのプラグインの中から代表的なものとしてSeasar2の設定ファイルを編集するためのKijimunaと、 Seasarプロジェクトが提供するフルスタックフレームワークChuraでの開発をサポートするDoltengについて見ていきたい。

なお、KijimunaやDoltengは、Seasarプロジェクトが提供するEclipse 3.2向けの更新サイトからインストールすることができる。

図1 Seasarプロジェクトの更新サイト

Kijimuna

KijimunaはSeasar2の設定ファイルであるdiconファイルの編集をサポートするプラグインだ。diconファイルのコード補完や、設定ファイルのエラー検出などを行うことができる。 Kijimunaの機能を利用するにはまずプロジェクトのプロパティーで「Seasar2 プロジェクト」にチェックを入れる。ここでは検出したエラーのエラーレベルを変更することもできる。

図2 Kijimunaの設定

図3 Kijimunaの設定

近年、Seasar2はAutoRegisterによるコンポーネントの自動登録などの仕組みによって以前と比べると設定ファイルの記述量は大幅に減っているが、それでも明示的に設定ファイルを記述しなければならないケースもあり、依然Kijimunaの利用価値は高いといえる。

Dolteng

Doltengは、Seasarプロジェクトが提供しているフルスタックフレームワークChuraでの開発を支援するプラグインだ。

Seasar プロジェクトではDIコンテナであるS2Containerを中心にさまざまな周辺プロダクトを提供しているが、以前はそれぞれのプロダクトを個別にダウンロードする必要があり、S2コンテナとのバージョン依存関係なども考慮する必要があった。そこでこの問題を解決するため、フルスタックのフレームワークとしてChuraが提供されるようになった。ChuraはSeasarプロジェクトの成果物をフルスタックで提供するだけでなく、CoC(Convention over Configuration)の考え方を積極的に取り入れたフレームワークとなっており、実際Churaのルールに従っていればdiconファイルを直接編集する必要はほとんどない。

Churaではプロジェクトの性格に応じて開発の容易さを追求した「Super Agile」とJava標準仕様を重視した「Easy Enterprise」という2種類の開発スタイルが提唱されている。「Super Agile」では独自フレームワークであるTeeda ExtensionおよびS2Dao、「Easy Enterprise」ではJava標準仕様であるJSF(Teeda)およびJPA(Kuina-DAO)を利用することになる。Doltengを利用することで開発スタイルに応じたプロジェクトの雛形を作成することが可能だ。

図4 Churaプロジェクトの作成ウィザード

Teeda Extensionではビュー部分にHTMLを使用し、HTMLタグ中のid属性を用いてページクラスとのマッピングを行う。Doltengではid属性を記述したHTMLからページクラスを自動生成できるほかデータベースからページクラスを作成することもできる。

図5 HTMLからページクラスを自動生成

HTMLとページクラスでマッピングされている項目については以下のようにエディタのバーチカルルーラにアイコンが表示されるほか、エディタで[CTRL]+[5]を押すことでHTMLファイルとページクラスの切り替えが可能など、細かい部分だが気の効いた機能も提供されている。

図6 マッピングされている項目

なお、DoltengではデータベースのスキーマからDTOやDAO、Scaffoldアプリケーションを自動生成することも可能だ。

図7 DatabaseViewからDTOやDAOの自動生成が可能

まとめ

DIコンテナとしてSeasar2を利用するのであれば設定ファイルの編集作業をサポートしてくれるKijimunaは必須だろう。

一方でDoltengはSeasar2での開発をサポートするというよりも、Churaというフルスタックフレームワークを具現化するツールといえる。 Doltengが提供する機能もさることながら、Seasar2自身が提供するHOT deploy(アプリケーションサーバを再起動しなくてもクラスの変更を反映させることができる仕組み)といった機能によってストレスなく開発を行うことができる。Churaそのものがフレームワークそのものとツールが一体となった開発プラットフォームと考えるといいだろう。

今回紹介したもの以外にもSeasarプロジェクトではさまざまなEclipseプラグインが提供されているので興味のある方はSeasarプロジェクトのWebサイトを参照してほしい。