NetBeans5.5.1+GlassFishV2

いつの間にかGeronimo 2.0-M2とか、JBoss5.0.0.Beta1とか出てるし・・・そろそろ、JavaEE5サーバ環境が世に出回り始めそうな気配です。そろそろ触り始めたほうがよさそうな予感がしたので、現時点で最も使い勝手がよさそうなもので試してみたくなりました。
現時点では、やっぱりGlassFishでしょうか。かなり以前から公開してるだけあって、安定度は他のサーバに比べても高いのではないかと思いましたので。
というわけで、久々にGlassFish動かしてみました。きしださんのEJB3+JSF入門のページを読めば、誰でも簡単にGlassFish環境を組めると思います。現時点では、GlassFishV2に対応するのはNetBeans5.5.1だということだったので、それを入れてみました。EntityPackとかは特に必要無くなったのですね・・・インストールがより簡単になっていいかんじです。既に日本語化対応が行われており、かなり扱い易いです。ベータ版の頃の不具合も解決されていて、設定は本当に簡単でした。エディター機能も、Eclipseにはまだまだ及ばないものの、以前ベータ版で試したときよりは着実に良くなってる印象を受けました。
更に、ちょっとビックリした機能がありました。NetBeansからEntityを作るとき、ウィザードの中に「データベースからのエンティティークラス」という項目があって、それを選ぶとNetBeansが既に登録しているDBのスキーマを見に行きます。そこでテーブル一覧が表示されて、選択実行すると、関連定義まで含めたEntityが自動作成されちゃいます。PersistenceUnitを作っていなければ、この時点で自動作成することも出来ます。これはかなり凄い。Hibernate Tools等を使えば、Eclipseでも同等なことは出来るのですが、これがIDE標準で、ウィザード形式で出来るってところがポイントですね。主要なJPA実装は、EntityからDDLを自動作成して、テーブルスキーマを自動作成・更新する機能がついているので、やろうと思えばEntityのリファクタリングによってスキーマリファクタリングを行うことが可能です。更にこのNetBeansのウィザードを使えば、テーブルスキーマからEntityを作成することも、本当に簡単に実行できます。
更にGlassFishなら、当然ServletへのDIを標準サポートしているので、ウィザード形式でServletを作成した時点で自動的にweb.xmlマッピング定義を行い、SessionBeanをDIしてRESTfulなCRUD処理を実装する・・・みたいなことも、結構簡単に出来ちゃいそうです。うーむ・・・これは思っていたより、かなり使い易いかも・・・
今後、JavaEE5サーバが広まってきた場合、DIコンテナ環境はどう活用すべきかを考える必要があるのかもしれません。開発環境用に特化してTomcatとの連携を深めるとか、JavaEE環境を補完して、更に使い易くするとか・・・以前は高価で使いにくいという印象が強かったJ2EEサーバでしたが、JBossGeronimo、そしてGlassFishと、オープンソースな実装が増えて競争し始めた現在、もっと積極的に調査検討してみる価値があるのではないか、とGlassFishを触ってみて感じました。