0

アーキテクチャに関する質問:多くの異なる顧客に展開することを目的としたJavaEEエンタープライズアプリケーションがあります。構成は次のとおりです。

  • 標準のバックエンド:すべての顧客に同じコア
  • EAIアダプター用の個別のモジュール:すべての顧客固有の統合(財務、CRM、ERPなど)を含むことを目的としています-顧客ごとに1つの異なる実装

私は2つのオプションを見ることができます:

  • core.jarとadapter-cust1.jarを含むbackend-cust1.earは1つだけです。
  • アダプター用の個別のWAR。つまり、core.jarのみを含むbackend.earがあります。これは、すべての顧客に同じ配信であり、個別のアダプターcust1.warです。

問題は、最初のソリューションでは、コアが単純なJavaメソッド呼び出しでアダプターを呼び出すことができ、顧客固有の実装にCDIコードを挿入できることです。

ただし、2番目のソリューションでは、コアとアダプターの間で通信するためのリモーティング手法が必要です。たとえば、JMSやWSなどです。それは私にはかなり重い方法のようです。

ただし、アダプターはあらゆるもの(MQ、SAPクライアント、実際にはあらゆるもの)に依存する可能性があると考えており、これらの依存関係が共通のコアに影響を与えないようにしたいので、別の戦争を検討します。

それについて何か考えはありますか?

4

2 に答える 2

0

他のEARから「必要なクラス」/コンポーネント/モジュールを注入できるはずです。これは、すべてのJavaEEアプリケーションサーバーでサポートされています。

たとえば、EJBの場合: WebSphere7.別のアプリケーションからEJBを挿入します

それ以外の場合は、プロジェクトの依存関係を指定することで問題を解決できます。

アーキテクチャ的には、ESBの方が適しています。しかし、私の考えでは、顧客との統合は1つしかないため、ESBは理想的には必要ありません。

幸運を

于 2013-03-11T11:12:54.100 に答える
0

私は2つの良い方法を見ます:

  • Java EE コネクタ- 管理された接続、トランザクションなどを作成できますが、古くて人気がありません
  • OSGI - 可能性のあるjarの地獄、モジュール、およびそれらのインターフェースで問題を解決します。
于 2013-03-05T21:46:25.613 に答える