私たちは、アプリケーションへの新しい追加を設計しようとしています。基本的に、インターネット経由でアクセスされ、私たちが所有または管理していないさまざまなリモートデータベースに非常に基本的なクエリを送信する必要があります。
私たちの提案は、外部システムのそれぞれに小さなクライアント アプリをインストールすることです。2 つの基本的な層に階層化されています。着信要求を処理し、応答を送り返すための通信層。この通信インターフェースは、すべての外部システムで同じになります。つまり、すべての要求と応答は同じ構造を持ちます。
Java リモート処理に関しては、この小さなクライアント アプリが「サーバー」であり、Web アプリ (通常はサーバーと呼ばれます) が「クライアント」であると思います。
私はさまざまな Java リモーティング ソリューション (Hessian、Burlap、RMI、SOAP/REST WebServices) を見てきました。しかし、これらすべての場合、「サーバー」はコンテナー内、つまり tomcat/jetty などのインスタンスで実行する必要があると考えるのは正しいですか?
私は、外国のシステムを管理しているすべての IT 部門と戦い、外国のシステムをインストールさせるのを避けたいと思っていました。全体的なアイデアは、薄い/小さい/取り付けが簡単/痛みがないということです。コンテナ/ウェブサーバーで実行する必要のないソリューションはありますか?
通信はこの設計の最小の部分であり、10 個以下の文字列入力パラメーター (db 以外には意味がありません) と 1 つの true/false 出力です。複雑なオブジェクト モデルは必要ありません。唯一の複雑さは、セキュリティ/暗号化などによるものです。