Java EE 5 で開発された大規模なソフトウェア システムのビルド システムとディレクトリ構造を設計中です。ビルド システムは ant を使用して実装されます。
テーマごとにグループ化された複数の異なるサービスがあります。各サービスは、Web サービスまたは EJB のいずれかを提供します。各サービスは、専用のアプリケーション サーバー クラスターで実行されます。したがって、複数のクラスターがあり、これらのクラスターの一部は、トピックによって論理的にグループ化できます。
一般的な定義と例を読みましたが、Java EE の用語についてはまだ混乱しています。
- Java EE アプリケーションとは では、EAR ファイルの内容は何でしょうか?
- Java EE プロジェクトとは? (この用語は、Netbeans だけでなく、Java Blueprints Guidelines Project Conventions for Enterprise Applications でも使用されています)
すべての EJB および WAR-module-package-files を 1 つの EAR に配置して、この 1 つの EAR に完全なシステムを含める必要がありますか?
それとも、これらのサービスは論理的にのみグループ化されており、技術的にはグループ化されていないという事実にもかかわらず、サービスの各グループを 1 つの EAR に入れる必要がありますか?
それとも、サービスごとに個別の EAR をアセンブルしますか。つまり、ほとんどの場合、単一の EJB jar ファイルのみを含み、場合によっては EJB と WAR ファイルを含みますか?
それとも、アプリケーションの概念を無視して、EJB ファイルと WAR ファイルを構築するだけで、アプリケーション サーバー クラスタごとに 1 つのデプロイメント ファイルしか持たないのでしょうか?
私の主な質問は、EAR ファイルをパッケージ化する利点は何ですか?
現時点では、必要なのは EAR-EJB と WAR ファイルだけで、さらに ant-build-system のネストされたサブプロジェクトの概念とソースのディレクトリ構造が必要ですか?
編集:答えてくれてありがとう!耳にパッケージ化されたアプリケーションは、かなり原子的なサブシステムのように思えます。したがって、ネストされたサブプロジェクト構造 (論理的にのみ、ビルド システムとソースのディレクトリ構造でのみ可視) とかなり大量の EAR があり、それぞれにほとんど 1 つの ejb-jar しか含まれていないと思います。および/または war モジュールと単一のサービスの実装 (単一のアプリケーションサーバークラスターにデプロイされます)。