2

エンタープライズJavaEEアプリケーションを作成する場合、メッセージング(MDB)などのビジネスロジックの一部をEJBモジュール内に配置する必要があります。ただし、EJBモジュールまたはWebモジュールのいずれかに配置できるEJBがいくつかあります。モジュールを分離することで、Web層とビジネス層を異なるマシンに展開できることを知っています。したがって、@StatefulショッピングカートEJBをWebモジュールに配置します。ただし、すべてのビジネスロジックに適用できる標準的な基準を考えて、それらを囲むEJBをどこに配置するかを決定することはできません。これに関するガイドライン、標準、または推奨される方法はありますか?

4

2 に答える 2

1

これは私がこれまでに見つけたものです。

EJBモジュールは、大規模なエンタープライズアプリケーションのビジネスロジックのコアを囲むことになっています。一方、Webモジュールは、EJBモジュールによって提供されるビジネスエンジンを利用することになっている本格的なWebアプリケーションを囲みます。通常、これらのモジュールは大規模なアプリケーション用に異なるサーバーに分散され、EJBモジュールに存在するコアビジネスロジックによって提供されるサービスを利用する必要があるWebアプリケーション以外のクライアントアプリケーション(たとえば、Swing / JFXデスクトップアプリケーション)があります。

つまり、次の場合、ビジネスロジックを別のEJBモジュールに配置します。

  1. 複数のWebまたはデスクトップアプリケーションで使用することを目的としています。
  2. スケーリングの考慮事項により、コアビジネスロジックを個別のサーバーで処理する必要がある場合があります

また、EJBをWebモジュール内に配置し、すべてをWARファイルとしてパッケージ化する場合もあります。

于 2012-11-03T19:57:47.747 に答える
1

最後の文で述べたように、それはまさに私が提案することです。ほとんどの場合、EARは必要ないため、JEE6アプリケーションにはWARパッケージを使用してください。

複数のアプリケーション間でビジネスロジックを共有する必要がある場合は、それを個別のモジュールとして展開できます。ただし、WARを実行しているアプリケーションサーバーのディメンションを適宜設定できるため、通常、スケーリングの理由からこのようなことは必要ありません。

于 2012-11-04T12:22:03.810 に答える