私たちのアプリケーションは、多くの場合、Web サービス、MQ、JDBC、専用 (ダイレクト オーバー ソケット)、およびその他の種類のトランスポートを介して、さまざまな種類のバックエンドに接続します。アプリケーションからこれらのバックエンドに接続できるようにする実装がすでにいくつかあります。これらの実装はすべて共通の Java インターフェイスを実装していますが、他には何も共有していません。
これらの特定のコネクタ実装のすべてに共通するコードの意味部分があることに気付き、1 つのユニバーサル コネクタを使用して将来のコネクタの開発を合理化することを決定しました。このコネクタは、バックエンドが期待する形式にメッセージをフォーマットし、利用可能なトランスポート メカニズムを使用してメッセージを送信できます。たとえば、MQ またはソケットを介した固定長メッセージ形式。
私たちが直面しているジレンマの 1 つは、この種のコネクタに最適なテクノロジです。これまでのコネクタは、共通の Java インターフェイスを実装する基本的な Java クラスでした。通常、Java EE アプリケーション サーバーでアプリケーションをホストしているため、このソフトウェアには Java コネクタ アーキテクチャが最適なテクノロジと思われます。ただし、JCA 準拠のコネクタの実装は比較的複雑に思われます。標準 - JCA を採用することの明らかな利点は何ですか? また、その利点は追加の努力を正当化しますか?