JavaEE 7 登場

次の数年を支える技術の登場です。
RI(参照実装)であるGlassfish 4がでています。

また、Glassfish4を同梱したNetBeans7.3.1も出ていますので、試す場合はJavaEE版のNetBeansをDLするのが一番手軽でよいでしょう。


注目する技術はやはりJAX-RS 2です。フィルターやクライアントなど今までは実装依存の技術が必要でしたがこれが標準化されました。これにより、サーバーのみならずHTTPクライアントもApacheHttpなどではなくJAX-RSを使うのが普通になるでしょう。フィルター等もはいったことによってサーブレットAPIを扱わないでほぼすべてのことが可能になります。

JAX-RSというとすぐRESTがどうだとか説明が出てくると思いますが、無視して結構です。こいつはアクションベースの処理>Viewレンダリングをするためのものなので、つまりWeb用フレームワークであるということです。コンテナなしでテストもしやすく、はまりも非常に少ないので一番おすすめできます。


JSFは2.2になり、大幅に変わります。ファイルアップロードやアクションのような動き(ロジック=>Viewレンダリング)なども可能になりました。JSFはマネージドビーンの初期化をするタイミングがつかみにくく、アクションベースだとビューをレンダリングする前にどうすればいいかがわかりにくかったと思います。ボタンクリック時などのタイミングでのロジックを入れるのは容易でしたが、アクション的なものしか触ってこなかった人には厳しいものがあったと思いました。それが改善されます。



EEに限らないですが、開発はストレスの少ない軽い開発重視がいいと思います。Javaでの開発を無駄に重くする人がいますが、自分はそういうのは好きではありません。JAX-RSベースでサーブレットコンテナを立ち上げない開発がおすすめです。

NetBeansを利用する場合、標準のプロジェクトが軽いのでお勧めです。軽い高速な開発をする場合Mavenは利用してはいけません。

アプリケーションサーバーといえば重そうなイメージですが、Glasshfish はかるいです。遅延ロードしていますので起動も1-2秒程度とすぐです。

また、個々のプロダクトはサーブレットAPIもEE6の3.0に依存するなど古めの環境でも単独で使いやすいようになっています。EE6のときもサーブレットAPIはEE5に含まれる2.5に依存していたりしてましたので触りやすかったですが。


Web層はわりと差し替えやすい上に開発効率に直結しますので、JAX-RSJSFを試してみてはいかがでしょうか。DBアクセスなどは政治が絡みやすいと思うのでDAOのままで後回しでもよいと思います。