SSLを介してWebサービスを提供するJavaアプリケーションを開発しています。このアプリケーションはTomcatサーバーで実行されています。
Webサービスの目的は、データの挿入、更新、および選択です。したがって、Webサービス層の下には、データベースへのアクセスを提供するバックエンド層が実装されています。
突然、データベース内のデータにもアクセスするスイングアプリケーションを作成するように依頼されました。Webサービスアプリケーションに使用されるのと同じバックエンド(まったく同じランタイム)を使用したいと思います。この目標を達成する方法は?
次の可能性があります。
- 代わりにWebアプリを使用してください。Swingアプリケーションは、Webサービスアプリケーションと同じプロジェクトの一部であり、バックエンドに接続できるようになります。
- スイングアプリケーション専用の追加のWebサービスをいくつか提供します。
- JMXを使用します。TomcatでJMXを実行することが可能です。バックエンドはJMXを介して機能を提供でき、Swingアプリケーションはそれを接続できます。
これらの可能性にはそれぞれ長所と短所があります。私たちは解決策3に従いましたが、それは賢い選択ではなかったと思います。JMXにはジェネリックスの問題があり、Tomcatなどで実行できるJMXは1つだけです。
Javaの世界は豊かであり、この状況に最適なソリューションがあるはずです。手伝ってくれる?