ダイレクトWebリモート

ダイレクトWebリモート
原作者ジョー・ウォーカー
開発者デビッド・マーギニアン /道場財団
初回リリース2005年8月29日 (2005年8月29日
安定版リリース
3.0.2 / 2016年12月11日 ( 2016年12月11日)
書かれたJavaJavaScript
オペレーティング·システムクロスプラットフォーム
サイズ1.08 MB (アーカイブ)
タイプAjaxテクノロジー
ライセンスApache 2.0ライセンス
Webサイトダイレクトウェブリモート.orgWikidataで編集する
リポジトリ

Direct Web RemotingDWR)は、 Ajax技術を組み込んだウェブサイトの開発を支援するJavaオープンソースライブラリです。 [ 1 ] DWRを使用すると、ウェブブラウザ上のコードから、ウェブサーバー上で実行されているJava関数を、あたかもブラウザ内に存在するかのように利用できるようになります。DWRプロジェクトは2004年にジョー・ウォーカーによって開始され、2005年8月29日に1.0がリリースされました。

応用

DWRは、Javaクラスに基づいてJavaScriptコードを動的に生成するという、Ajaxに対する斬新なアプローチを採用しています。[ 2 ]そのため、Web開発者はJavaScriptからJavaコードをWebブラウザのローカルコードのように使用できます。しかし実際には、JavaコードはWebサーバー上で実行され、Webサーバーのリソースに完全にアクセスできます。セキュリティ上の理由から、Web開発者はどのJavaクラスを安全にエクスポートできるかを正確に設定する必要があります(これはweb.xmlまたはdwr.xmlと呼ばれることが多いです)。

Java から JavaScript に関数をリモート処理するこの方法により、DWR ユーザーはRMISOAPなどの従来の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をブラウザに送信できます。

参考文献

  1. ^ Carneiro Jr., Cloves (2005年6月20日). 「DWRでAJAXを簡単に」 . JavaWorld . 2020年8月6日閲覧。
  2. ^ a b DWRの概要、 2008年6月24日閲覧

参考文献