| 原作者 | ジョー・ウォーカー |
|---|---|
| 開発者 | デビッド・マージニアン /道場財団 |
| 初回リリース | 2005年8月29日 |
| 安定版リリース | 3.0.2 / 2016年12月11日 |
| リポジトリ |
|
| 書かれた | JavaとJavaScript |
| オペレーティング·システム | クロスプラットフォーム |
| サイズ | 1.08 MB (アーカイブ) |
| タイプ | Ajaxテクノロジー |
| ライセンス | Apache 2.0 ライセンス |
| Webサイト | ダイレクトウェブリモーティング |
Direct Web Remoting(DWR)は、開発者がAjax技術を含むWebサイトを作成するのに役立つJava オープンソースライブラリです。 [1]これにより、Webブラウザのコードが、Webサーバー上で実行されているJava関数を、それらの関数がブラウザ内にあるかのように使用できるようになります。DWRプロジェクトは2004年にJoe Walkerによって開始され、2005年8月29日に1.0がリリースされました。
応用
- Ajax の原理を使用して、 JavaScript がサーブレットベースの Web サーバーからデータを取得できるようにするコード。
- 取得したデータを使用して Web ページを動的に更新することを Web サイト開発者が容易にする JavaScript ライブラリ。
DWR は、Java クラスに基づいて JavaScript コードを動的に生成することで、Ajax に新しいアプローチを採用しています。[2]そのため、Web 開発者は JavaScript から Java コードを Web ブラウザーのローカルであるかのように使用できます。ただし、実際には Java コードは Web サーバーで実行され、Web サーバーのリソースに完全にアクセスできます。セキュリティ上の理由から、Web 開発者はどの Java クラスを安全にエクスポートできるかを正確に設定する必要があります (これはweb.xmlまたはdwr.xmlと呼ばれることがよくあります)。
Java から JavaScript に関数をリモート処理するこの方法により、DWR ユーザーはRMIやSOAPなどの従来のRPCメカニズムとほぼ同じ感覚を味わうことができ、Web ブラウザー プラグインを必要とせずに Web 上で実行できるという利点があります。
DWR は、Web ブラウザ/Web サーバ プロトコルを重要視しておらず、プログラマのインターフェイスが自然であることを重視します。これに対する最大の課題は、Ajax の非同期性と通常の Java メソッド呼び出しの同期性を融合することです。
非同期モデルでは、結果データは最初の呼び出しが行われてからしばらく経ってからのみ利用可能になります。DWR は、Web 開発者が追加のメソッド パラメータを使用してデータが返されるときに呼び出される関数を指定できるようにすることでこの問題を解決します。この追加のメソッドはCallBack メソッドと呼ばれます。Java 関数から返された値はコールバック メソッドに渡されます。
サンプルのコールバックは次のとおりです。
MJavaClassOnJs.getListProducts ( selectedCategory ,{ callback : function ( returnedList ) { dwr.util.addOptions ( myComboId , returnedList , " productId " , " productName " ) } } )
コールバックは、リモート関数に追加のパラメーターとして渡される JSONオブジェクト内の関数です。
バージョン 2.0 では、DWR はComet (「リバース Ajax」とも呼ばれる) [2]をサポートしており、サーバー上で実行されている Java コードが意図的に専用の JavaScript をブラウザーに送信できます。
参考文献
- ^ Carneiro Jr.、Cloves (2005 年 6 月 20 日)。「DWR で AJAX を簡単に」。JavaWorld。2020年8 月 6 日閲覧。
- ^ ab DWRの概要、2008年6月24日取得
文献
外部リンク
- 公式サイト
