両側で REST を使用します。PHP/Python REST サーバー側。GWT クライアント側。
GWT-RPC を使用しないでください。
以下に Java-Java REST のガイドラインを示しますが、サーバーサイド Java から移行する余地があります。REST が適切である理由を説明します。
http://h2g2java.blessedgeek.com/2011/11/gwt-with-jax-rs-aka-rpcrest-part-0.html .
REST は業界で確立されたパターンです (Google、Yahoo、実際、すべての安定志向の施設は REST サービスを展開しています)。
REST は、HTTP レベルのデータ構造として抽象化されています。DTO の整合性を確保するために準拠するライブラリを確立した Java、PHP、および Python はどれですか。
通信層 (一番奥)。ジェネリックを使用する必要がありますか???
質問の意味、またはその質問が存在する理由がわかりません。REST パターンを使用して、サーバーとクライアント間の非同種言語と HTTP 要求/応答に整合性を提供します。
バックエンドで Java を使用している場合、ジェネリックを使用することから逃れることはできません。ジェネリックはコードを節約します。しかし、ジェネリックを広範囲に使用するには、プログラマーがジェネリックを視覚化するための同等の広範な視覚能力を備えている必要があります。バックエンドが PHP または Python 上にある場合、PHP のジェネリックはありますか? Pythonジェネリック?Java の世界や C# の世界にとどまり、Java を使用しないサービス プロバイダーのことは忘れたほうがよいでしょう。
DTOポリモーフィズムのことですか?サービスを確立するまでは、ポリモーフィズムを試したり決定したりしないでください。次に、本当に必要な場合は、適応的かつ機敏に DTO にポリモーフィズムを導入します。ただし、JSON データ交換では、サーバーとクライアントの間で混乱が生じるため、これを避けるようにしてください。特に、同じプログラミング言語を話さない場合はなおさらです。
HTTP レベルのジェネリックを質問している場合は? SOAP や REST ではなく、XML や JSON でジェネリックを実行できるフレームワークを私は知りません。ある?ジェネリック?
サービス層?休み。
キャッシュを要求しますか? あらゆる適切な機会にキャッシュします。メニュー、メニュー/ドロップダウン ボックスの選択肢、ラベルなど、すべてのセッションに共通で静的なアイテムのクエリ結果をサービス プロバイダーにキャッシュさせます。履歴と場所をキャッシュします。
GWT 側でレコードをキャッシュして、進む/戻るボタンが不注意なクエリをトリガーしないようにします。MVP パターンと履歴を使用して、情報の再表示をトリガーする可能性のある履歴トラバーサルを管理します。
統一された情報抽象化について話している場合は、プロジェクトを JAX-RS で開始して、API を定義/テストし、データ抽象化を実行する必要があります。ビジネスロジックを実行せずに。
次に、HTTP レベルの API と DTO が定義されたら、サーバー側を選択した言語を使用するように変換して、より複雑なコードの記述に進みます。
ところで、私はあなたの用語「バックエンド」を掘り下げません。
通常、サービス コンシューマーにはクライアント側、サービス プロバイダーにはサーバー側、データ リポジトリ/永続アクセスにはバックエンド、数学的/科学的/グラフィカルな分析/合成を提供するために必要な介在/補助ソフトウェアにはミッドティアまたはミドルウェアという用語を使用します。 .
私たちの用語が一致していなければ、おそらくこの質問に間違って答えたでしょう。