ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

Servlet3.0 Specification



Servlet 3.0仕様がJCPに提出されています。


今回は拡張性を重視しているとのことで、
「Web framework pluggability」によって
Webアプリフレームワークをアプリごとに
適用したり、web.xmlにプログラム側から
アクセスさせることで設定を動的に変更
したりといったことが可能になるようです。


個人的に期待しているのは非同期処理のサポート。
「Non-blocking input/output」や「delay request
handling」といったところは個々のアプリ側でなく
サーブレットコンテナ側で対応してくれていると
とても助かります。


どのような技術を使うにせよ、今後はユーザーの
権限に応じ、必要なクライアント側モジュールを
その都度タイムリーにダウンロードさせる仕組み
が必要になってきます。


ボクが携わっているZimbra Collaboration Suite
でも初回に全てのJavaScriptモジュールをダウン
ロードするのは非効率なので、必要な時に必要な
モジュールのみ取得する「Lazy Loading」に対応
する予定です。


その時に大事なのはサーブレット側がモジュール
ダウンロードのために待ち状態にならないことで
ここでノンブロッキングなI/Oサポートが重要に
なってくると考えています。


他にもCometのサポートなども掲げられており、
トータルなメッセージングをサポートする基盤
を開発しやすくなるのではと期待しています。


とはいえ、開発者に非同期I/Oの詳細を意識した
コーディングを強いるようなAPIですと、返って
弊害も多いですし、非同期処理中でのServlet
Context情報の参照のさせ方だとか、forwardや
includeがあった場合はどうするかといった点も
しっかり抑えておかないと、Servletの再利用性
に影響を与えてしまう恐れもあります。


Finalは2008年4Qということで、まだだいぶ先の
話ではありますが、Servletという基盤技術仕様
のメジャーバージョンアップですので、引き続き
注目していきたいと思います。