EE開発を効率化するプラグインの集大成でかつ統合開発環境だ。併せてAjaxの開発を容易にする機能も持ち合わせている。EEを、クライアントサイドにAjaxを用いたWebアプリケーションをMyEclipseを使って容易に開発する手法を紹介していく。EEの連携にはAjax開発用のJavaフレームワーク「DWR」を活用する。Remoting)でしょう。本記事では、MyEclipseを使ってDWRの簡単なサンプルを開発しながら、DWRの面白さを解説します。Ajaxアプリを作りたいJava開発者の悩みこれまでサーバサイドのJava開発を行ってきた人でも、これだけAjaxが話題になると、そろそろAjaxアプリ開発も始めなければならないと、ソワソワし始めていることでしょう。ところが、Ajaxアプリケーションを開発するとなると、いろいろと新たに学習しなければならないことが多く、なかなか踏み切れないでいる人が結構多いのではないか、と予測されます。Notation)で実現するのかなど、悩ましいことが数多くあります。フォーラムの「Webアプリのユーザビリティを改善しまくるAjax」を参照してください。そこで、Java開発者にお勧めしたいのが、DWRです。DWRの最大の特徴は、JavaScriptからサーバ側のJavaオブジェクトを利用できることです。Javaのメソッド呼び出しのように記述できます。クライアントとサーバ間の非同期通信、サーバとクライアント間のデータ変換などはすべてDWRが処理してくれるので、Java開発者にとって敷居がとても低くなっています。v2ライセンスで配布されています。DWRの注目すべき特徴DWRの特徴を整理しましょう。Object)として実装するだけです。サーバとしての処理はすべてDWRのサーブレット(DWRServlet)が処理してくれます。POJOなのでAPサーバを起動しなくても、単独でテストできます。Hatとマーケットシェア拡大を狙う」の「*2:POJO」を参照してください。場合によっては、サーブレットコンテキストを取得したいケースもあります。DWRでは、POJOからサーブレットコンテキストを取得して、HTTPセッションオブジェクトなどにアクセスすることもできます。Java/JavaScript間のデータ変換で多くの型をサポートDWRでは、サーバのJavaオブジェクトとクライアントのJavaScriptオブジェクトの間でデータ変換を行います。文字列や単純な型については何も指定しなくても自動的に変換してくれます。次のような複雑な型であっても、簡単な記述を追加することでDWRが自動的に変換してくれます。ArrayオブジェクトBeanオブジェクトCollectionオブジェクトDOMオブジェクトEnumオブジェクトStruts、JSF、Springなどのフレームワークとの統合Webアプリケーション開発ではフレームワークを利用することが一般的です。DWRはこれらのフレームワークと連携できます。Faces)であれば、DWRからManagedBeansのオブジェクトを操作できます。第5回、JSFと開発ツールのよい関係とは?」を参照してください。多くのブラウザに対応ブラウザによってJavaScriptの振る舞いなど微妙な違いがあります。このクロスブラウザの問題はおっくうなものですが、DWRではブラウザの違いを気にする必要がありません。対応しているブラウザはIEやFirefoxだけではなく、Safari、Opera、Mozilla、Konquerorなど多岐にわたります。動的にページを生成するためのユーティリティメソッドを提供コレクションクラスのオブジェクトをHTMLのテーブルやリストに展開するためのメソッドが用意されています。JavaScriptに詳しくなくても、簡単にページをダイナミックに生成できます。エラーハンドリング、タイムアウトハンドリングJavaScriptからサーバ側のJavaメソッドを呼び出すときに、エラーハンドラやタイムアウトの指定が簡単にできます。1.xまでは、クライアントのJavaScriptからサーバのJavaオブジェクトを非同期に呼び出せました。2.0からは、逆に、サーバ側のJavaからクライアントのJavaScriptを非同期に呼び出せるようになりました。この機能によって、チャットのような対話型のAjaxアプリケーションを記述しやすくなっています。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。