今年の4月より、大規模プロジェクトのアーキテクトとして忙しい日々を送っています。
今回、現時点(2010/08)では日本では書籍どころか、Webでもさほど情報がないJavaServerFaces2.0(JSF2.0)をWebのフレームワークとして採用することにしました。元々、今の会社ではJSF1.1,1.2の実績はそれなりにあるのですが、2.0は初の採用になります。
JSF1.x時代といえば、ライブラリはApache MyFacesを利用し、その拡張ライブラリであるMyFaces Tomahawkを利用するという形態が一般的だったかと思います。今の会社でも多かったのはそのパターンで、Tomahawkに含まれる各種コンポーネントをさらに拡張してプロジェクト用のタグライブラリを作成して、それを開発者に使用させるという形でした。
JSF2.0となると、すでにRIではなくなったMyFacesではなく、新たにRIとなったMojarraを利用するというのが品質・パフォーマンス面でベターと判断し、今回のプロジェクトではMojarraの各種コンポーネントを拡張することにしました。別プロジェクトで開発したコンポーネントは当然Tomahawk依存ですから、ConverterやValidatorを除けば、ほとんど流用できるものはないので、フルスクラッチで開発しています。
さて、ここ数ヶ月、私自身がJSF2.0と格闘してきて、自分なりに色々と見えてきた部分があるので、これからJSF2.0を採用しようとしている方々向けに、何回かに分けて情報を提供できればと思います。今回はまずJSF2.0のメリットを紹介しようと思います。