トップ » はっかかー日記 » 翻訳した―Java EE 6 仕様のパブリックドラフト公開

翻訳した―Java EE 6 仕様のパブリックドラフト公開

タグ: Java JavaEE

InfoQ の記事を翻訳しました日記シリーズ。今回は Java EE 6 仕様のドラフトに関する記事を訳しましたよ!

記事の背景

実際、Java で小中規模のウェブアプリケーションを開発、運用するとなると、Java EE 準拠のアプリケーションサーバではなくて単なるサーブレットコンテナである Tomcat などをつかうことが少なくありません。

でも、サーブレットコンテナはほんとにサーブレットを動かすだけで、トランザクション管理も永続化も、なんも助けてくれないので、サードパーティ製のフレームワークを使うわけです。Struts+Spring+Hibernate とか、あるいは Seasar とか。

Java EE イラネ的なケースがよくあるわけです。Java EE 6 はそういう現実に対応しようとしてます、というのがまず背景としてあります。

で、どうやって対応するの?

対応の手段は大きく二つです。単純にいらなそうな仕様をはずして Java EE をスリム化することと、プロファイルという考え方の導入。

たぶん仕様からはずされてしまうのは、JSR-316 のセクション 2 に書かれてますが、下記の二つです。それぞれ JPA と JAX-WS が代わりにがんばってくれます(orすでにがんばってます)。こちらについては、はずされますかそうですか以上に特に言うことはありません。実際、それほど議論にもならなかった模様。

EJB CMP - effectively replaced by Java Persistence
JAX-RPC - effectively replaced by JAX-WS

次にプロファイルについて見ていきます。

Web Profile

要するに、「フル機能の Java EE なんかいらない。Java EE の中のコレとコレとコレさえあれば十分!」という人のために、Java EE の中からいくつかの仕様を抜き出して、コンパクトにしたものがプロファイルです。Java EE 6 では Web Profile というプロファイルが定義されます。翻訳した記事と重複しますが、プロファイルのイメージがつきやすいと思うので、Web Profile に含まれる予定の仕様を並べてみると、

  • Servlet 3.0
  • JSP 2.2
  • EL 1.2
  • Debugging support for other languages (JSR-45) 1.0
  • JSTL 1.2
  • JSF 2.0
  • JSR-250 1.1
  • EJB 3.1 Lite
  • JTA 1.1
  • JPA 2.0

という感じ。言うまでもないですが、完全な Java EE には、この他にも、ちっさいアプリケーションではあんまり使わない仕様がいろいろ含まれるわけです。

このプロファイルが実際に利用されるようになれば、Java EE 準拠ではないけれども Web Profile 準拠なサーバ製品というのが出てくるのでしょう。Tomcat が Web Profile 準拠になるということもあるのかもしれないですね。Tomcat “Web Profile” でググったら、Gavin King が

I do not know if the Tomcat/Jetty teams have plans to support the EE 6 Web Profile in future

とか言ってますけど。

ともかく、そうすると、大抵のウェブアプリケーションは、フリーの Web Profile 準拠サーバをインストールするだけで、作って動かせるようになりますよ、と Java EE 6 はアピールしているわけです。多分。


執筆者紹介

もだか

もだか

八角研究所の社員。あ、社員じゃないか。ちがいましたすみません。

TrackBack URL :