2011-12-21 4 views
4

特定のバッチジョブを実行するJavaサーバーアプリケーションがあります。コア機能はWebアプリケーションと同じものではなく、そのような理由はありません。しかし、私たちは、アプリがWebページから何をしているかを確認するオプションを追加したいと考えています。 Google Web Toolkitを使ってうまくいくと思っていました。非Webアプリケーションの一部としてのGWT

私たちがGWTで経験したことは、Tomcatにそれを配備したことです。しかし、この場合、それは過度のようです。 Webパーツは、アプリケーションが実際に実行している機能のうちの1つです。

Webサーバーがjarファイル(おそらくJetty?)に統合されているソリューションを考えていますか?そのため、完全なJavaアプリケーションをWeb/GWTパーツと共に単一のjarファイルにデプロイすることができます。

これにはパフォーマンスの側面があるかもしれませんが、Web側ではごく少数のユーザーしかいません。このようにしなければならない他の理由はありますか?

そして、Eclipse/Ant/Jetty/GWTの設定方法についてアドバイスできますか?

+1

あなたはどのようなコミュニケーションをWebページで行っていますか?ちょうどあなたがステータスをポーリングしていくつかのコマンドを与えている場合、GWTはあまりにも簡単に過大になる可能性があります。あなたがデータを取得するだけの場合(またはそのようにすることができる場合)、アプリケーションからREST Webサービスとして実装すると、クリーナー/ライターになります。 – Viruzzo

答えて

1

以前のプロジェクトでも同様の経験がありました。 eclipse-rcpアプリケーションがあり、Jettyサーバーが組み込まれています(アプリケーション起動時にプログラムで起動されました)。通常GWTアプリケーションはJettyに配備されました。また、GWTサーバとアプリケーションの他の部分との間の通信を提供するコントローラとしてのOSGIサービスもありました。 GWTサーバーは通常のRCPサーバーでしたが、これはほとんどの例で説明しています。それはコントローラへの参照を持っていた。さらに、ボットサイドの通信をサポートするイベントリスナーでした。

私たちの主な問題は、同期の問題だと思います。 eclipse-rcpアプリケーションとGWT(メッセージが受信されるたびに100ミリ秒と言います)とGWTとの間には、クライアント部分とそのサーバー部分の間の非同期通信方法があるため、いくつかのメカニズムを作成する必要がありましたそれらのメッセージを同期させます。それ以外の場合、パフォーマンス上の問題はありませんでした(IE 6をサポートする必要がありました(S:D)。

これはどういうわけか役立ちます。

アップデート:私が覚えている限り、コントローラはOSGIサービスとして登録されていて、Eclipse-RCPの他のサービスと通信できるようになっています。 GWTコントローラと通信するために、GWTサーバ(コントローラはインスタンシエーションによって実装者として登録され、サーバはIMessageListenerとしてコントローラに登録されていた)に知られていた特別なインターフェイスを実装していました。このインターフェイスは別のプロジェクトにあり、.warファイルにも組み込まれていました。このプロジェクトには、IMessageListenerインターフェイスを介してコントローラからGWTサーバへの後方通信をサポートするイベント数も含まれていました。

おそらく、ごめんなさい。申し訳ありません。私はダイアグラムを描画する必要があります。

+0

OSGIサービスの詳細については、通信のコントローラとして説明してください。私はアプリケーションでgwtベースのビューとrcpベースのビューを使用する予定です。しかし、どうやってお互いにコミュニケーションを取るかは分かりません。 – Kathir

+0

こんにちは、Kathir、私は答えの更新でそれを説明しようとしました。 –

+0

私は概念をはっきりと理解しているのか分かりません。私が間違っていると、以下のことが私の理解です。 1. rcpアプリケーションでjettyサーバーを実行しています。2.インターフェースとしてIMessageListenerも実装しているコントローラとしてOSGIサービスがあります。しかし、gwtサーバはコントローラとどのように対話しましたか?または、コントローラーはgwtサーバーにイベントをどのように送信しましたか?お返事をありがとうございます。 – Kathir

関連する問題