2009-05-28 8 views
1

私はいくつかのメソッドを呼び出し、データを送信/取得するために、サーバー(サーブレット?)を呼び出すアプレット(またはJava Web Startアプリケーション)を記述したいと思います。これらのメッセージを送信して取得するための最良の方法/技術は何でしょうか?アプレット(またはWebStartアプリケーション)がサーバーを呼び出す:ベストプラクティス?

答えて

1

プロトコル:

あなたが他の言語との相互運用性を気にしない場合、私はHTTPを介してRMIで行くと思います。 JREからのサポートがあり、セットアップが簡単で、フレームワークがあれば使いやすいです。

Applicativeのロジックについては、私はどちらか使用したい:

  1. コマンドパターン、呼び出されたときに、サーバーのメソッドを呼び出すオブジェクトを渡します。これは小規模なプロジェクトには適していますが、時間がたつにつれ複雑になりがちで、コマンドが追加される傾向があります。また、クライアントにサーバー論理を結合する必要があります。
  2. 名前+ DTOアプローチによるリクエスト。これには、サーバーロジックをクライアントからすべて分離して、必要に応じてサーバー側を自由に変更できるという利点があります。サポートするフレームワークを構築するオーバーヘッドは、最初の選択肢よりもはるかに大きいですが、クライアントとサーバーの分離は、私の意見では、努力する価値があります。

実装:あなたはまだ始めていない、またはあなたが持っていると春を使用している場合

、そして春リモーティングは素晴らしいツールです。 IOCコンテナを使用しなくても、どこからでも(アプレットを含む)動作します。
Springを使用したくない場合は、基本的なRMIも非常に使いやすく、Web上に豊富な例があります。

1

HTTPリクエスト?パラメータin、xml out。

+0

はい、私は、(RMIのような)インターフェイスベースのソリューションがあることを期待していました。私は非同期メソッドを呼び出すと、XMLを解析/検証せずにオブジェクトが返されます。 – Pierre

+0

私はxstreamの上にあなた自身のAPIを作ると思います+ commons_httpclientあなたが使用するlibを把握するよりも速くwaaaay。 – alamar

1

XMLはまだデータ交換のための私の好みの選択です。

xstreamなどのXMLを使用すると、XML Javaライブラリの多くの手間が省けます。あなたは非常に簡単な方法でserialize and deserialize objectsすることができます。

0

軽量ソリューションはHessianでも可能です。

単純な例はhereです。

このケースのORMが必要な場合は、Cayenneを試してください。

関連する問題