2009-07-20 9 views
7

GWT RPCは独自のものですが、Googleのパターンをサポートしています。これは、私が見た本やチュートリアルで言及されています。それは本当にGWTクライアント/サーバ通信の選択ですか?あなたはそれを使用していますか、なぜではなく、あなたが選んだものではありませんか? RPC、EJB、Webサービス/ SOAP、RESTなどに対応できる汎用サーバーアプリケーションコードがあると仮定します。GWTとクライアントとサーバの通信にはどのような用途がありますか?

ボーナスに関する質問:GWT RPCに関するセキュリティ上の問題を認識しておく必要がありますか?

+2

GWT-RPCコードはオープンソースなので、調べてみることもできますし、望むならそれがどのように動作するかを変更することもできます。 – Chii

+1

いくつかの正式な標準化団体(W3C、JCP、ECMAなど)の管理下にないAPIまたは通信プロトコルはすべてプロプライエタリである。これはGWT-RPCに適用されます。それはオープンソースであるかどうかとは無関係です。 –

答えて

10

私たちは、主に通信の三つの方法を使用します。

  1. GWT-RPCを - これが私たちの主とれる好ましい機構であり、私たちは可能な限り使用しています。物事を行う "GWTの道"であり、とてもうまく機能します。
  2. RequestBuilderを使用したXMLHttpRequest - これは通常GWT以外のバックエンドとの対話用で、主に実行時に必要な静的なWebコンテンツを取得するために使用します(サーバ側インクルードなど)。特にCMSと統合する必要がある場合に便利です。私たちはRequestBuilderコードを独自の "Panel"(コンストラクタパラメータとしてコンテンツURIをとり、URIの内容で埋め込む)にラップします。
  3. FormPanelを使用したフォーム提出 - これはGWT以外のバックエンド(カスタムサーブレット)とのやりとりが必要で、現在はクロスサイト通信を行うために使用しています。私たちは実際には "クロスサイト"自体のことを実際には伝えませんが、SSL以外のページでSSL経由でデータを送信する必要があることがあります。これがこれまでにできた唯一の方法です)。
-1

問題はあなたがウェブブラウザ上にあるので、http以外のプロトコルが動作することはほとんど保証されていません(プロキシを経由しない可能性があります)。

できることは、GWT-RPCのものを1つの交換可能なクラスに分離し、できるだけ早く取り除くことです。

個人的には、コレクション内にコード化された必要な情報を持つオブジェクトのコレクションを転送することに頼っています。つまり、すべてのRPCコードで実行されるRPCコードは非常に少ないため、 "しかし、百万の可能性があるでしょう。

GWT-RPCを意図したとおりに使用するだけで、どこにも行かないと思います。

+1

GWT-RPCは、通常のHTTP要求と応答によって通信される単なるテキストプロトコルです。したがって、プロキシなどの問題はありません。そしてそれはとてもうまくいく。 –

+1

私はそれを言ったように聞こえると思うが、それは私が意味するものではない。これは2つの段落で、最初の「非httpプロトコル」は機能しません。第2に、GWT-RPCを単一のクラスに抽出して自由に置き換えることができるので、後でそれを切り離すか置き換えることができます。 2人はお互いに関係がありませんでした。 –

関連する問題