2012-02-28 9 views
0

私はGWTプロジェクトAと別のプロジェクトBを別のコンピュータに持っています。今私は、プロジェクトBのビジネスロジックを、プロジェクトAのボタンを押すたびに呼びたいと思っています。プロジェクトBは、他の制限のためにGWTプロジェクトにすることはできません。GWTプロジェクトから別のサーバー上のプロジェクトと通信する方法

どうすればいいですか?

私はソケットを使用しようとしましたが、これはGWTでは不可能です。java.net.Socketは、Google App EngineのJava実行環境ではサポートされていません。プロジェクトのプロパティでGWT App Engineの使用をオフにした場合、私のアプリケーションはもう起動しません(java.lang.NoSuchMethodError)。

だから私は必要なものを、次のような動作です:

  1. 火災からの通知を取得した後、プロジェクト内のイベントイベントが発生していること
  2. お知らせと呼び出しメソッドのx
+0

明らかに、GAEにはチャンネルAPIがあります:http://code.google.com/intl/sl-SI/appengine/docs/java/channel/overview.html –

答えて

0

クライアントについては、HttpURLConnectionを使用してプロジェクトBに連絡することができます。プロジェクトBは、Aからの要求を処理するためのHTTPインターフェイスを必要とします。

ここで HttpURLConnectionの詳細を読むことができます: http://code.google.com/appengine/docs/java/urlfetch/

Bプロジェクトの特定のメソッドを呼び出すことは、要求パラメータとメソッド呼び出しのメカニズム(私はある種のマッピングと思われます)との間の良好な契約の問題です。

+0

常にマッピングが必要です。私はこのような問題を解決しました。プロジェクトAはプロジェクトBにXMPP経由でメッセージを送ります。利点は、プロジェクトを異なるマシンにデプロイできることです。 – Hauke