ひがやすを技術ブログ

電通国際情報サービスのプログラマ

WebBeans

JBUGのセミナーでGavinから直接、WebBeansの仕様を聞かせてもらった。
EJB3JSFJPAとも必須じゃないんだね。それぞれの実装を必要と思えば利用できる感じ。これは、悪くないと思う。
WebBeansは基本的にはDIの仕様。SeamよりもGuiceに似ていて、Guiceよりもさらに進化した感じ。Guiceは設定はJavaで書くんだけど、WebBeansはアノテーションで書く。
そして、アノテーション地獄に陥らないように、ステレオタイプという概念がある。ステレオタイプとは、複数のアノテーションをグルーピング化したもの。
例えば、A,B,Cというアノテーションを1つにまとめた、Dというアノテーションを用意し、Dをアノテーションで指定すれば、A,B,Cがそれぞれ指定されたのと同じように振舞う機能。これも良い。
残念なのは、HOT deployに対応できないところかな。全部のコンポーネントをデプロイしないとアノテーションに対応する実装クラスを決定できないので、HOT deployに対応しようとするとリクエストの度にすべてのコンポーネントをデプロイする必要があり、コンポーネントの数が増えれば、使い物にならなくなる。
HOT deployに対応できない所を除けば、WebBeansは良くできた仕様だと思う。
じゃ、WebBeansが広く普及するかというと、それは良くわからない。
例えば、SeasarのユーザがWebBeansに移行するかというと多分しないでしょう。今でも、アノテーションすら必要なしに設定できるし、なによりも、HOT deployができなくなるのは困りもの。
それでは、SpringのユーザがWebBeansに移行するかというと、たぶん、しないんじゃないかな。Springは2.5からコンポーネントが自動登録できるようになって、設定ファイルはほとんど書く必要がなくなった。WebBeansほど、洗練された感じはないけど、不自由にかんじることもないはず。