オルタナティブ・ブログ > Das Tagebuch über Java/Web/OSS Technik >

Java/Web/OSS分野で活動するエンジニアの日記

JavaEE5の普及って

»

従来のJ2EEが使いにくかったため、2005年あたりからHibernate、Struts、Spring Frameworkなどの非標準フレームワークが市場に浸透してきました。

JavaEE5の登場により、開発者たちの関心が標準規格・標準技術から離れていくのを阻止し、また「標準規格・標準技術」が時代の流れに取り残されているという問題はクリアされます。次から次へと出てくる新しい非標準OSSフレームワークを追いかけるのに疲れてしまった方も多いのではないでしょうか。

・・・ですが、なかなか普及しませんね。Java Enterprise Edition 5 仕様のリリースが2006年6月。もう10ヶ月ほど経つことになります。

普及しない理由はいくつか考えられます。

1.JavaEE5はJavaSE5を前提としていること

JavaEE5のうち、EJB3.0をはじめとしたいくつかの技術がJavaSE5を前提としています。JavaSE5で新たに追加されたAnnotationやEnum等の機能は設定・コーディングの簡易化に大きく寄与します。
しかし実際の開発現場では、まだまだJ2SE1.4以前の環境が主流です。J2SE1.4からJavaSE5への変更はかなりのインパクトがあり、学習・導入コストや影響範囲の調査・検証コストが高くJavaSE5の導入を留保する現場が多いと思われます。

JavaSE5の普及すらまだまだなのに、JavaSE5が前提となるJavaEE5が現場で採用されることは考えにくいですね。

2.EJB3.0は新しい技術ではない

EJB3.0は、分散オブジェクト・分散トランザクション・データ永続化のための新しいEnterprise Java Beans仕様で、JavaEE5仕様の一部となっています。EJB2.xが扱いにくかったため、JavaEE5登場以前に、現場レベルでは Hibernate等のO/Rマッピングフレームワークや、SpringFrameworkなどのDI/AOPコンテナフレームワークが普及しました。 JavaEE5に含まれるEJB3.0仕様は、これらの考え方や設計を標準仕様として取り込んだものと言えます。

つまり、似たような物が既にあったというわけです。しかも標準仕様化されるに際して削られた機能も多く、見方によっては「劣化コピー」とも言えるものです。最大公約数的な落としどころに納めなくてはいけない、標準仕様の宿命とも言えますね。

3.JSFが使いづらい

JavaServer Faces(JSF)は、View-Controllerを受け持つプレゼンテーション層のフレームワーク仕様です。今までのJavaによるWebアプリケーションフレームワークには無かった新しい思想がふんだんに取り込まれ、高機能なアプリケーションを簡単に扱えるようになりました。

しかし、多少のクセや、洗練されていない部分があったり、利用にある種の割り切りが必要な部分があったり、定石やノウハウの蓄積がないということもあり、期待されていたほど普及が進んでいないのが現状です。Postbackというリクエストライフサイクルの仕組みが、多くのJavaエンジニアにとってはなじみが無く奇異な物であることも理由の一つかもしれません。

4.JavaEE5対応の実行環境が少ない

JavaEE5仕様がリリースされた後も、実際にアプリケーションを動作させられる環境はJavaEE SDK(Glassfish)しかありませんでした。しかも、分散トランザクションやクラスタリングには対応していない下位エディションのみです。
従来シェアの高かったApache Tomcat、JBoss、BEAのWeblogic、IBMのWebsphereがJavaEE5に対応しなかったことが、普及を妨げていた要因の一つであることは間違いないでしょう。

Servle2.5/JSP2.1に対応したTomcat6が今年1月にリリースされました。JBossはまだRC版ですが、今月、 WebLogic10がリリースされました。日本語版も来月にはリリースされます。IBM・Oracleが続けば普及に弾みもつくのではないでしょうか。

Comment(0)