質問

私たちのアプリケーションは、多くの場合、Web サービス、MQ、JDBC、独自の (ダイレクト オーバー ソケット) およびその他の種類のトランスポートを介して、さまざまな種類のバックエンドに接続します。アプリケーションからこれらのバックエンドに接続できるようにする実装がすでに多数あり、これらの実装はすべて共通の Java インターフェイスを実装していますが、他には何も共有していません。

私たちは、これらの特定のコネクタ実装のすべてに共通するコードの意味部分があることに気づき、1 つのユニバーサル コネクタを通じて将来のコネクタの開発を合理化することにしました。このコネクタは、メッセージをバックエンドで予期される形式にフォーマットし、利用可能なトランスポート メカニズムを使用して送信できます。たとえば、MQ またはソケット上の固定長メッセージ形式です。

私たちが直面しているジレンマの 1 つは、この種のコネクタに最適なテクノロジーです。これまでのコネクタは、共通の Java インターフェイスを実装する基本的な Java クラスでした。通常、アプリケーションは Java EE アプリケーション サーバーでホストされるため、このソフトウェアには Java コネクタ アーキテクチャが最も適切なテクノロジであると思われます。ただし、JCA 準拠のコネクタの実装は比較的複雑であるようです。標準 JCA を採用することで明らかな利点は何ですか?また、その利点は追加の取り組みを正当化しますか?

役に立ちましたか?

解決

実際にJCAのあなたのためのの最も適切な技術と思われます。すでに優れた引数は、すなわちポータビリティ、標準化されたインターフェースは、接続プーリングとトランザクションのサポートを行ってきました。そして、セキュリティを忘れないでください。

のWebSphere Process Serverとのアダプタは、それはあなたのために重要だ場合は利益の多くを持つことができるSCAサービスとして公開することができます。

また、いくつかの開発ツールは、JCAコネクターの開発とテストを幅広くサポートしています。

もう一つの利点は、(経験のある)は、Java EE管理者とJava EEの開発者は、管理と開発ので、標準の合理化が容易であるべき知っている(はずです)されます。

しかし、最終的にあなたのプロジェクトのスコープに基づいて、JCAを実装するための理由を見つけるために持っている必要があり、未来はあなたのプロジェクトのためにまたは多分あなたの会社の方針の中に持って計画しています。

他のヒント

短い答え:他のテクノロジーではなく JCA を選択することに利点はありません。Java EE コンテナーが必要であるため、JCA は欠点だと思います。

長い答え:

私はしばらくの間、これらの Java EE 標準については懐疑的でした。説得力のあるものは見当たりません テクニカル もうフル機能の Java EE サーバーを使用する理由は、より優れたオープンソース実装があるためです。 提供される機能。私は、「エンタープライズ ソリューション」に移行するとき、または「エンタープライズ ソリューション」から移行するときに、実装の互換性の問題に何度か遭遇しました。

JCA のアイデアが今ここで浮上しており、試してみたいと考えています。 アパッチラクダ または スプリング統合 その代わり。私はどこでも使用できるオープンソースの実装に大賛成です。そして、たくさんのことが起こっています。チェック このコンポーネントのリスト. 。確かに、JCA で既に開発されたものよりも小さいかもしれませんが、あらゆる部分がオープンソースであり、すべて 1 つの場所にあります。また、ドキュメントがよりシンプルでより完全になったと思います。統合への欲求には、同じ方法で開発され、同じ場所にあるオープンソースの実際のサンプルが豊富に含まれる強力な SPI が必要です。

私は否定的なことは嫌いですが、フル機能のアプリケーション サーバーは好きではありません。たとえば、私ならトムキャットとテラコタを選びます いつでも JCA の必要性が証明されるまでは、JCA の前に Camel を使用するのと同じように、他の「エンタープライズ」製品よりも優先してください。私は Java 委員会を信頼していないので、独自のアプリケーションをどのように開発すべきかについて指示するという Java 委員会の考えが好きではありません。ソフトウェアが Java EE 環境や純粋なサーブレット コンテナと同じように Java SE/RCP 上でも簡単に動作できることが私にとって最大の利益であると信じています。

私は、独自のプロトコルを介して通信GPSデバイスのためのインバウンドのリソースアダプタを開発しました。私はアウトバウンド1を開発することは、より多くの作業が必要になることがありますような印象を持っているけれどもそれは、それほど面倒ではなかったです。 JCAと最悪の事態は、ドキュメントの欠如です。すべての本や記事は、同じダムの例を持っているようです。

私が最も満足している事は可搬性です。アダプターを書かれたら、あなたは配備されたアプリケーションをあなたのRAでサポートされているEISと通信する機能を提供するために、任意のアプリケーション・サーバにRAR(リソースアダプタアーカイブ)をプラグインすることができます。それとも、戦争/耳にRARをバンドルすることができます。

の利点は、それが唯一のWebLogicないWebSphere上動作するかどうかを心配することなく、コネクタにドロップできるようにしたいお客様のために、任意のアプリケーション・サーバーで使用するためのエンドシステムをバック専有するコネクタを販売したいベンダーのために主になどが実際のところ、これは一般的には、Java EEの目標です。

たとえばJDBC接続がJCA経由で行く、JBossはJCAにいくつかのことを置くことを決めたことに注意してください。

あなたの将来のクライアントコードは標準化されたインターフェース、いくつかのプーリングとトランザクションのサポートなどがありますが、それは大きな絵の視力を維持することが重要です。利点は、特にあなたとあなたのプロジェクトを対象とした、しかしように多くのアプリケーションサーバ、多くのバックエンドシステム、多くのコネクタとからなるソフトウェアエコシステムではされていない、すなわちこと。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top