0

最近、Google の開発者がパフォーマンスとセキュリティに関して GWT を紹介している Google I/O ビデオをいくつか見ました。そのビデオの中で、講演者はいくつかのGWT イズムについて言及しています。

  • クライアント側のリクエスト「バッチ処理」
  • 「使い捨て」
  • GWT アプリの「ステートレス性」の追求

「バッチ処理」に関しては、GWT はサーバー側の RPC 呼び出しをキューに入れ、一度に送信するように構成できるようです (多くの小さな、パフォーマンスを妨げる呼び出しの代わりに)。残念ながら、私はここで木を通して森を見ているわけではありません: GWT はバッチ処理を処理しますか? それとも、このバンドル/バッチ処理を実行するロジックを作成する必要がありますか? しなければならない場合、どのような種類の通話をバンドルできる/バンドルする必要がありますか? バッチを発射する時期をどのように知ることができますか?

GWT 用語で、誰かが次のように言うとき、それはどういう意味ですか:

  • "クライアントとサーバーは使い捨てです"; しかし
  • 「ビュー」は使い捨てではありません

この「バッチ処理」と「使い捨て」の概念は、GWT アプリの「ステートレス」とどのように関連していますか。それにより、スピーカーは無国籍を次のように定義しました。

  • ブラウザがセッションを具現化 (?!?!)
  • サーバーはステートレス - キャッシングを除く (?!?!)
  • クライアントは再起動に気付かない (?!?!)

誰かがこれら 3 つの項目とそれらがどのように相互に関連しているかを具体的に理解するのを手伝ってくれたら、私は「gwt を取得」し始めると思います. 前もって感謝します!

4

1 に答える 1

4

GWT はバッチ処理を処理しますか? それとも、このバンドル/バッチ処理を実行するロジックを作成する必要がありますか? しなければならない場合、どのような種類の通話をバンドルできる/バンドルする必要がありますか? バッチを発射する時期をどのように知ることができますか?

GWT-RPC にはバッチ処理メカニズムがありません。リスト内の「コマンド」をキューに入れ、そのリストを単一の GWT-RPC 呼び出しとして送信することで、(比較的) 簡単にいくつかを追加できます。一部のプロジェクトでは、最小限の労力でそれを行う必要があります (たとえば、GWT-Platform)。

一方、RequestFactory にはバッチ処理が組み込まれています。インスタンスを作成し、RequestContextインスタンスが作成されるまでバッチ呼び出しを行いますfire()

"クライアントとサーバーは使い捨てです"; しかし、「ビュー」は使い捨てではありません

1 つ目はステートレスに関連しています (たとえば、AppEngine では、新しいサーバー インスタンスの作成、シャットダウン、または再起動のタイミングを制御できません。サーバーはいつでも消える可能性があるため、状態をメモリに保持しないでください)。
2 つ目はパフォーマンスに関するものです。ブラウザの DOM に関連するものはすべて遅いため、新しいビュー (ウィジェットを積み重ねる) を構築するのは重くなります (ただし、Cell ウィジェットの場合はそれほど重くなりません)。その結果、それらを使い捨てにしたくはありません。つまり、時々捨ててしまいます。アプリの存続期間中、再利用する 1 つのビュー インスタンスを保持することをお勧めします。
「使い捨て」とまったく同じ概念ではありません。

ブラウザがセッションを具現化 (?!?!)

GWT はシングルページ アプリで構築されています。アプリの変数にクライアントの状態を保存するだけです。ページ間で状態を共有するために Cookie などは必要ありません。

サーバーはステートレス - キャッシングを除く (?!?!)

セッション状態をサーバーに保存するにはコストがかかります (特にサーバーが使い捨ての場合は状態を永続化する必要があり、サーバー間で共有する必要があります (クラスターがある場合やクラウドで実行している場合) など)。存在を維持するために多くのリソースを費やすことになります実際のビジネスロジックを実行しているセッション状態の)。

クライアントは再起動に気付かない (?!?!)

HTTP は切断されたプロトコルです。サーバーが再起動された場合、クライアントはそれを認識できず、認識する必要はありません。

誰かがこれらの 3 つの項目とそれらがどのように相互に関連しているかを具体的に理解するのを手伝ってくれるなら、私は「gwt を取得」し始めると思います.

GWTを取得することではなく、Web取得して単一ページの webappsを取得し、それらをどのようにスケーリングするかについてです。
クライアント側で GWT や jQuery を使用して作成されているか、サーバー側で Java や Python や .NET を使用して作成されているかは問題ではありません。

REST について読んでください。すべてが要約されています。

于 2012-07-06T18:34:20.410 に答える