DWRプロジェクトは26日、DWRのメジャーアップデートバージョンである「DWR 2.0.1」をリリースした。バージョン2系の最初のリリース候補公開から実に5ヵ月以上を経ての正式リリースとなった。

DWRは、サーバサイドのJavaコードとクライアントサイドのJavaScriptコードをシームレスに統合するフレームワークである。DWRを用いれば、JavaScriptコードからサーバサイドにあるJavaのメソッドを自然な形で呼び出せるほか、サーバサイドのJavaコード中にブラウザ内のJavaScriptを操作するコードを記述することも可能だ。

今回のメジャーバージョンアップで追加された機能は以下の通り。

  • Reverse Ajax: サーバサイドのJavaコード内にクライアントサイドのJavaScriptを操作するコードを記述できる
  • JavaScriptプロキシAPI: Script.aculo.usやDWRが持つDHTMLライブラリをReverse AjaxによりJavaでラップしたAPI
  • スクリプトスコープ: サーブレット仕様にある4つのスコープ(リクエスト、セッション、アプリケーション、JSPページ)とは別の新たに定義されたスコープで、「現在のページにとどまっている間」を対象とするスコープ
  • Spring2名前空間のサポート: Springフレームワークがバージョン2からサポートしている、コンテキストファイル内での名前空間による拡張に対応。Springとの連携がより楽になった
  • Cometのサポート: JettyのContinuationをサポートし、Comet(HTTPを用いた、サーバからクライアントへのデータプッシュ)に対応できるようになった

そのほかにも、Guiceのサポートやセキュリティの強化がなされうえ、Java5のアノテーションを使って設定を行えるようになったり、パッケージ名がorg.directwebremotingに変更されたり、といった修正も加えられている。

今回の変更はかなり大きいため、DWR1系からのバージョンアップは容易とは言えないだろう。しかし、複雑なAjaxアプリケーションを作成するうえで有用な機能がふんだんに盛り込まれているので、利用に値するプロダクトであることには間違いない。

ちなみに、今回のバージョンが2.0.1になっているのは、バージョン2.0が出た数時間後にちょっとしたバグが発見され、すぐに修正されたためである。