0

私たちは、アプリケーションへの新しい追加を設計しようとしています。基本的に、インターネット経由でアクセスされ、私たちが所有または管理していないさまざまなリモートデータベースに非常に基本的なクエリを送信する必要があります。

私たちの提案は、外部システムのそれぞれに小さなクライアント アプリをインストールすることです。2 つの基本的な層に階層化されています。着信要求を処理し、応答を送り返すための通信層。この通信インターフェースは、すべての外部システムで同じになります。つまり、すべての要求と応答は同じ構造を持ちます。

Java リモート処理に関しては、この小さなクライアント アプリが「サーバー」であり、Web アプリ (通常はサーバーと呼ばれます) が「クライアント」であると思います。

私はさまざまな Java リモーティング ソリューション (Hessian、Burlap、RMI、SOAP/REST WebServices) を見てきました。しかし、これらすべての場合、「サーバー」はコンテナー内、つまり tomcat/jetty などのインスタンスで実行する必要があると考えるのは正しいですか?

私は、外国のシステムを管理しているすべての IT 部門と戦い、外国のシステムをインストールさせるのを避けたいと思っていました。全体的なアイデアは、薄い/小さい/取り付けが簡単/痛みがないということです。コンテナ/ウェブサーバーで実行する必要のないソリューションはありますか?

通信はこの設計の最小の部分であり、10 個以下の文字列入力パラメーター (db 以外には意味がありません) と 1 つの true/false 出力です。複雑なオブジェクト モデルは必要ありません。唯一の複雑さは、セキュリティ/暗号化などによるものです。

4

4 に答える 4

1

はい、それらのほとんどは標準のサーブレットコンテナを実行します。ただし、Jettyのようなコンテナはフットプリントが非常に小さいため、サーブレット標準を維持しながら、コードから完全にJettyを構成して実行できます。

プロジェクトの強化に伴って増大する可能性のある初期の最小要件を必ず見積もってください。次に、標準のコンテナを使用すると、作業がはるかに簡単になります。

于 2012-04-19T09:15:53.890 に答える
1

組み込み HTTP サーバーである Jetty に基づいたものをお勧めします。単純な実行可能 JAR を依存関係 JAR とともに ZIP ファイルにパッケージ化し、起動スクリプトを追加すると、製品が完成します。たとえば、ここを参照してください。

于 2012-04-19T09:02:44.257 に答える
1

私は自分のプロジェクトで Sprint-Remoting をよく使用します。ここでは、コンテナーなしで使用する方法について説明します。男は自分のアプリケーション内から桟橋を開始しています:

http://forum.springsource.org/showthread.php?12852-HttpInvoker-without-web-container

http://static.springsource.org/spring/docs/2.0.x/reference/remoting.html

よろしく、

ボスコプ

于 2012-04-19T09:12:01.530 に答える
0

この質問に [rmi] というタグを付けたように、RMI はいかなる形式のコンテナも必要としません。必要なのは、開いている適切な TCP ポートだけです。

于 2012-04-19T11:07:40.390 に答える