2012-04-19 6 views
0

私たちはアプリケーションに新しい機能を追加しようとしています。基本的には、私たちが所有または管理していないインターネット上のさまざまなリモートデータベースに非常に基本的なクエリを提出する必要があります。非コンテナベースのJavaリモーティングですか?

私たちの提案では、2つの基本レイヤーで階層化された1つの外部システムに1つの小さなクライアント・アプリケーションをインストールし、特定のデータベースに合わせてSQLへの実際の問合せを処理したり、受信した要求を処理して応答を返すための通信層になります。この通信インタフェースは、すべての外部システムにわたって同じであり、すなわち、すべての要求および応答は同じ構造を有する。

私はこの小さなクライアントアプリケーションは「サーバー」で、私たちのwebapp(通常はサーバーと呼ばれます)は「クライアント」と思われます。

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

私は実際に外国システムを管理しているIT部門すべてが非常にインストールされるのを避けたいと考えていました。全体のアイデアは、その薄い/小さい/簡単にインストールする/痛みが無料です。コンテナ/ Webサーバーで実行する必要のないソリューションはありますか?

実際の通信は、このデザインの中で最も小さな部分で、10文字以内の入力パラメータ(db以外の意味はありません)と1つの真偽の出力です。複雑なオブジェクトモデルは必要ありません。唯一の複雑さは、セキュリティ/暗号化などです。

答えて

1

私は、埋め込まれたHTTPサーバーであるJettyに基づいてsomethigを提案しています。依存性JARを持つ簡単な実行可能なJARをZIPファイルにパッケージ化し、スタートアップスクリプトを追加して、あなたの製品を入手します。例えば、hereを参照してください。

+0

これは私たちが探し求めてきた妥協点かもしれません。先端に感謝します。非常に似ている他の回答にも。 –

1

はい、それらのほとんどは、標準的なサーブレットコンテナを実行します。しかし、Jettyのようなコンテナは設置面積が非常に小さく、サーブレット標準にとどまっている間はconfigure and run Jetty completely out of your codeになることがあります。

時間の経過とともにプロジェクトエンハンスメントで成長する可能性がある初期最小要件の見積もりに失敗しないでください。それから、標準のコンテナにすると、はるかに簡単になります。

0

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

関連する問題