JSR 315: Java Servlet 3.0 Specification

19日(米国時間)、JCPにSevlet仕様の次期バージョンとなる「JSR 315: Java Servlet 3.0 Specification」が登録された。Servletが動的なWebページを構築するためのサーバサイドJava技術であることは、本連載の読者にはすでに言うまでもないことだろう。現在Java EEに採用されているServletのバージョンは2.5であり、これはJSR 154※として標準化された仕様である。

※正確にはJSR 154は「Java Servlet 2.4 Specification」という名称で、Servlet 2.5は2006年5月にリリースされたそのメンテナンス仕様。

Servlet 3.0はその後継となる仕様で、最終的には2008年リリース予定のJava EE 6に取り込まれることになる。

Servlet 3.0の目指すもの

JSRでは、Servlet 3.0におけるキーポイントは「拡張性」と「プラガビリティ(Pluggability: 抜き差し可能性)」にあるとしている。また、Java EE 6がEoD(Ease of Development)を推し進めていることから、Servlet 3.0でもEoDのサポートが強化される。以下に、Servlet 3.0が目指す方向性や新たに導入が検討されている新機能などを紹介する。

Webフレームワークのプラガビリティ

Servlet 3.0では異なるWebフレームワークをシームレスに接続するための機構を提供するとのことである。現在多くのWebフレームワークがServletやweb.xmlをベースにしていることから、Servlet仕様にこれらを接続/切断するための機構を設けることで、柔軟なフレームワーク構成を可能にしようという狙いだ。

EoD

EoDはJava EE 6における重要なコンセプトのひとつである。Servlet 3.0では、まずアノテーションのサポートを強化することで開発を容易にするという。これはすでにServlet 2.5でも一部取り入れられている。また、ゼロコンフィギュレーションを推し進め、複雑な設定を不要にする。その他、Genericsを始めとするJava言語の新機能を積極的に導入していくという。

非同期通信およびCometのサポート

非同期通信のサポートは、Servlet 3.0におけるもっとも明確でわかりやすい新機能かもしれない。これは簡単に言ってしまえば、New I/Oなどを利用したノンブロッキングの入出力によってクライアントとの通信を処理できるようにするというもの。同時に、リクエストの遅延ハンドリングなどもサポートする。

これによって、Ajax技術と組み合わせてプッシュ型のコンテンツ配信を行う「Comet」スタイルのアプリケーションを実装できるようになる。もちろん、非同期通信はCometのためだけのものではない。JDBCコネクションプールやリモートWebサービスなど、さまざまなケースで非同期入出力を活かした実装が可能になることだろう。

互換性/セキュリティ/その他

Servlet 3.0に関連したJSRとしては、JSR 311: JAX-RS: The Java API for RESTful Web Servicesや、すでに本連載でも紹介したJSR 314: JavaServer Faces 2.0などがある。JSR 315では当然これら関連するJSRとの互換性も考慮される。

セキュリティの強化はどのバージョンにおいても重要なポイントではあるが、現在のところJSR 315にはログイン/ログアウト機能、および自己登録機能のサポートのみが新機能として記載されている。

その他に検討されている機能としては、ServletContextListenerの順序付けやファイルアップロードの際の進捗リスナの追加などが挙げられている。

リリーススケジュール

JSR 315は現在ECによる承認投票が行われている最中であり、この投票は7月2日に終了する。この承認投票を通過したらエキスパートグループが正式に構成される。スペックリードはRajiv Mordani氏とAmy Roh氏が務める。

その後のスケジュールは、9月に最初のExpert Draft(非公開)を作成、10月にEarly Draft Review、12月にPublic Reviewを経て、2008年3月にProposed Final Draftを公開する予定だ。そして2008年第4四半期に仕様、参照実装およびテクノロジ互換性キット(TCK)を最終リリースするとしている。

実際にServlet 3.0の実装を利用できるようになるのはまだ少し先の話ではあるが、Servletは依然としてJava EEの中核を成す技術なので、早い段階でチェックしておくのがいいだろう。

提供:マイナビ

会員登録はこちら

大学・大学院・短大・専門学生向けの就職情報サイト「マイナビ 2009」「毎日就職ナビ 2008」に今すぐ登録しよう! 大手からベンチャー企業までの企業情報を公開、エントリーが可能です。2009年卒予定の方は「マイナビ 2009」に、2008年卒予定の方は「毎日就職ナビ 2008」に登録してください。

毎日コミュニケーションズはプライバシーマークを取得しています。