イントラネットでDWRを使用している間に、パフォーマンスやセキュリティの問題などの不具合は発生しますか? ダイレクトWebリモーティングは、Ajaxリクエストを使用してjsファイルからサーバーに接続するツールです。DWRの欠点は何ですか?
答えて
私が注意しなければならないことの1つは、(通常の)フルページHTTP配信を使用している場合よりも、多くのHTTP要求がサーバーに当てはまる可能性が高いことです。
私を説明しましょう。あなたのWebページがAJAXに対応していると、クライアントはフォームの埋め込み、ページ断片の再生成などのために、より多くのHTTPリクエストを作成してしまいます。開発者がAJAXに夢中になったシナリオを見て、主に動的な文書。その結果、ユーザーエクスペリエンスは向上しますが、すべての要求がサーバーヒットとなり、スケーラビリティとレイテンシの問題が発生します。
注 - これはDWRに特有の問題ではありませんが、AJAXの問題です。私はDWRを使用しました。うまく動作します。残念ながら、私はそれがうまくいっていることがわかりました。そして、すべてがリモーティングの候補になり、そしての巨大なの小さな要求の数で終わることができます。
私はDWRを使用したプロジェクトに取り組んでいます。本当に素晴らしいツールです。
私は開発のペースを確信していません。彼らはon the development logの投稿をして3.0を出そうとしていますが、2006年の夏には最後の安定版2.0がリリースされました。サポートの観点からは少し心配です。
私が経験した主な問題は、DWR呼び出しによって作業の大部分が行われるシステムで負荷テストをスクリプト化しようとしていることです。呼び出しの形式は、パラメータの変更を伴う一連のURLへの返信と比べて、複製が難しい。
まだDWRは優れたフレームワークであり、Javascript - > Java RPCをかなり簡単に実装できます。
あなたのサイトに多くのajax呼び出しがある場合、DWRは素晴らしいツールです。 DWRのRPC呼び出しを行う
各ページが含まれている必要があります:
a)は通話に対応したインターフェイスファイルが作成されています。 および b)これらの呼び出しを可能にするdwrエンジンコードを含むdwrにバンドルされたjsファイル。例えば、<script src="/dwr/engine.js" ></script>
Webアプリケーションを最適化する際に頻繁に使用される手法の1つは、リソース(jsファイルなど)がサーバー上で変更されていない場合に、できるだけブラウザキャッシュを使用することです。
engine.jsは、dwrを新しいバージョンにアップグレードしない限り変更されないものです。しかし、デフォルトでは、engine.jsはあなたのWebサーバーによって提供される静的ファイルではありません。それはdwrツールitsefの一部としてバンドルされ、dwrコントローラ/サーブレットによって提供されます。これは、クライアント側のキャッシュを助けません。
したがって、Webサーバーのドキュメントルートにengine.jsを保存し、Webサーバーに静的ファイルとして提供させることは有益です。
DWRのサイトでengine.jsをキャッシュする方法の詳細:http://directwebremoting.org/dwr/browser/engine/static.html – Jonik
現在のDWR 3.xに欠けている点は、BeanのインスタンスにNULL値のプロパティがある場合、これらのプロパティはJSONに注入され、これらの冗長なデータはパフォーマンス。
プロパティの値がNULLの場合、通常はフロントエンドに送信しないでください。問題の
詳細:http://dwr.2114559.n2.nabble.com/Creating-Custom-bean-converter-td6178318.html
オブジェクトを転送するために、他のソリューションのうち、最大の違い(マーシャリング)がオブジェクト参照です。例えば
、ツリーを転送するためにそれを使用する場合:
| -B
|リスト内-C
{A、B、C}。
B.parentは C.parentが
次いでAは番目である==しますJavascritの同じオブジェクト!悪い側で
、あなたは循環依存関係とオブジェクトの多くの複雑な構造がある場合:< -B、B < -C、C < -B、C < .Aを、...それはクラッシュする可能性がありました。
とにかく、複雑なグラフを描くために何千ものオブジェクトを1つのhtmlページに転送するために、数多くの企業が実際に使っているプロジェクトで使っています。
- 1. Nginxの画像キャッシュの欠点と欠点は何ですか?
- 2. ファサードデザインパターンの欠点は何ですか?
- 3. Stackless Pythonの欠点は何ですか?
- 4. $ http.useApplyAsyncの欠点は何ですか?
- 5. シングルトンクォーツジョブの欠点は何ですか
- 6. SqlBulkCopyの欠点は何ですか
- 7. プロキシキャッチサーバーを使用する利点と欠点は何ですか?
- 8. 「網膜」のこのCSSスプライトソリューションの欠点は何ですか?
- 9. ランポートの事前発生アルゴリズムの欠点は何ですか?
- 10. Silverlight 4のビットマップキャッシュの欠点は何ですか?
- 11. Objective-Cのメソッドスウィズルの欠点は何ですか?
- 12. 角度cliの代替/欠点は何ですか
- 13. シャッフル機能の欠点は何ですか?
- 14. LOGOを使用する際の欠点/弱点は何ですか?
- 15. SEAMには何らかの欠点がありますか?
- 16. フィーチャー・ブランチからリリースするのは良い習慣ですが、利点と欠点は何ですか?
- 17. 外部から$ digestを呼び出す際の欠点は何ですか?
- 18. WindowsでDrupalを開発する際の欠点は何ですか?
- 19. SQL Serverでリンクサーバーを使用する際の欠点は何ですか?
- 20. スクリプトでphp.ini変数を設定することの欠点は何ですか?
- 21. IDで直接DOM要素にアクセスする際の欠点は何ですか?
- 22. この拡張メソッドを定義する際の欠点は何ですか?
- 23. html/cssでレシートをフォーマットし、サーマルレシートプリンタに送る際の欠点は何ですか?
- 24. 組み込みのBinaryFormatterベースの.Netシリアル化の欠点は何ですか?
- 25. AWS Lambdaが削除するSQSポーラーの欠点は何ですか?
- 26. APIテストにモデルクラスを再利用する際の欠点は何ですか?
- 27. 汎用データ型表現としてのリストの欠点は何ですか?
- 28. 名前空間glのOpenGL関数の欠点は何ですか?
- 29. linqの欠点
- 30. フォースインデックスの欠点
私はこの回答に同意します。 WebベースのアプリケーションでDWRを使用しました。アプリケーションは優れたユーザーエクスペリエンスを提供しますが、JavaScriptとhttprequestのすべてのために、アプリケーションが速く動作しないと思います。 – Michel