2012-01-06 14 views
1

私はSmartGWT/ExtGWTを使用しており、これらのフレームワークでサーバーとクライアント間のJSON通信の実装について知りたいと思っています。GWTのJSONサービス

私の場合、データはセッション中にサーバー側に格納されます。セッション中にデータがない場合、サーバーは指定されたXMLからデータを読み取り、セッションに保存します。取得:クライアントがJSON形式でサーバーにデータを要求し、サーバーがセッションからデータを読み取り、JSONでクライアントに送信します。更新:クライアントはJSON形式でサーバーに更新に関する情報を送信し、サーバーはそれを解析してセッションを更新します。実際には、JSONを介してUIコンポーネントとサーバー間の通信だけを実装する必要があります。

私は理解できないことは、サーバーとクライアントの間でこのような通信を実装する方法です。私は、SmartGWTとExtGWTのクライアントのUIコンポーネントはJSONで動作することができますが、この非常に特殊なフォーマットを持っていることは知っています。しかし、私はどのようにサーバー側でそのようなJSONサービスを実装するのか分かりません。私はExtGWT/SmartGWTにいくつかのアプローチがあるべきだと思いますが、私はそれらを見つけることができませんでした。私が見る唯一の方法は、動的JSON応答を生成するサーブレットを実装し、JSON要求を解析することです。しかし、それはあまり良い考えではないと私は思う。 (正直なところ、RPCサービスほど簡単ではないことを願っています)また、自分のRESTサービスを実装するより簡単な方法があることを願っています。今私はAutoBeanについて読んでいますが、わかっている限り、サービスの実装ではなく、JSON形式との変換にのみ使用できます。

このようなJSONサービスをSmartGWTまたはExtGWTに実装する最良の方法は何ですか?

UPD:私はサーバーとUIコンポーネント間の通信が必要であることを強調したいと思います。 RESTやその他のサービスは必要ありません。したがって、私はExtGWTとSmartGWTがこれに対していくつかのツールを提供することを願っています(私はクライアント側からツールを見つけましたが、サーバ側からは何も見つかりませんでした)。私はあなたがそのツールが何であるか、またはそのようなツールがないことを教えていただければ幸いです。

+0

あなたはhttp://code.google.com/webtoolkit/doc/latest/tutorial/clientserver.htmlを読んでいますか? – milan

+0

非常に短時間です。私は、SmartGWTとExtGWTのUIコンポーネントにはフェッチ、更新、フィルタリングなどのための非常に特殊なJSON形式があり、サーブレットベースのインプリメンテーションを実装するのは非常に面倒です。ありがとう、私はちょうど私がGWTを削除し、問題のSmartGWTとExtGWTだけ残すべきであることを理解した。 –

+0

はい、SmartGWTは特定のJSON形式を想定しています。たぶん、あなたのビジネスロジックを呼び出してそのようなクラスを返すJSON形式とサーブレットにマーシャリングされたJavaクラスを持つことができます。 – milan

答えて

1

私はRESTEasyを使用して、サーバー上のJavaオブジェクトへ/からjsonを素早くマーシャリング/アンマーシャリングします。魅力のように動作します。あなたはGSONライブラリを見ることもできます。これにより、より多くの制御/責任が与えられます。

基本的な構造は、本当にJSON通信を処理するサーブレットを登録しています。 RESTEasyには、インストール可能な既定のサーブレットが付属しています。このServletには、ファンシー/便利なルーティング注釈があります。私はRESTEasyも余分な手数料なしでXMLを扱うことができると思います。これはサードパーティのクライアントの場合にはいいですが、私はその機能を使用していません。

+0

ありがとう、今私はジャージーと一緒に働いています、そして、RESTサービスは前もって縫ったほど難しくはありません。自動マーシャリングとアンマーシャリングは実際には魅力のように機能します。 –