モジュール は、 エンタープライズ・アーカイブ (EAR) ファイルに一緒にパッケージされる成果物を決定するデプロイメントのユニットです。 モジュールを持つコンポーネントがパフォーマンスを考慮して連結されます。 このコンポーネントは、参照によってデータを渡すことができます。 モジュールはスコープのメカニズムとみなすことができます。 つまり、モジュールによって、成果物の組織境界が設定されます。
モジュールは、サービス・コンポーネント、インポート、およびエクスポートの複合体です。 サービス・コンポーネント、インポート、およびエクスポートは同じプロジェクトの、 同じルート・フォルダー内に存在します。 これには、 インポートおよびエクスポートに必要なバインディングとコンポーネントをリンクするワイヤリングも含まれます。 モジュールには、コンポーネント、インポート、 およびエクスポートによって参照される実装とインターフェースも含まれていることがあります。 また、こうした実装とインターフェースは、ライブラリー・プロジェクトなど、他のプロジェクトに入っている場合もあります。
モジュールには 2 つのタイプがあります。 1 つはモジュール と呼ばれるモジュールです (ビジネス・インテグレーション・モジュールと呼ばれることもあります)。 この中には多くのコンポーネント・タイプから選択したものが含まれており、 このモジュールはビジネス・プロセスをサポートするためによく使用されます。 もう 1 つはメディエーション・モジュール と呼ばれるモジュールです。 この中には、1 個のコンポーネント、1 個のメディエーション・フロー・コンポーネント、 およびメディエーション・フロー・コンポーネントを増補する 0 個以上の Java コンポーネントが含まれます。
なぜ、2 つのモジュール・タイプがあるのでしょうか? 最初のモジュール・タイプは、基本的に、ビジネス・プロセス用に設計されています。 メディエーション・モジュールは、既存の外部サービスへのゲートウェイのようなものです。 これは、エンタープライズ・サービス・バス・アーキテクチャーでよく使用されます。 これらの外部サービスまたはエクスポートは、 インポートまたはサービス・プロバイダーによってメディエーション・モジュール内でアクセスされます。 クライアント・サービス要求元とサービス・プロバイダーの結合をメディエーション・フローによって分離することで、 アプリケーションの柔軟性と回復力が増し、サービス指向アーキテクチャーというゴールに到達できます。 例えば、メディエーション・フローで着信メッセージを記録したり、 実行時に決定された特定のサービスにメッセージを経路指定したり、 別のサービスへの受け渡しに適したものになるようにデータを変換したりすることができます。 これらの機能は、要求元またはプロバイダー・サービスを変更せずに長期的に追加または変更できます。
モジュールにより、サービス・アプリケーションがテストされて、 WebSphere Process Server にデプロイされます。 メディエーション・モジュールにより、サービス・アプリケーションがテストされて、 WebSphere Process Server または WebSphere Enterprise Service Bus サーバーのいずれかにデプロイされます。 どちらのタイプのモジュールでも、インポートとエクスポートがサポートされます。
多くの場合、実装、インターフェース、ビジネス・オブジェクト、ビジネス・オブジェクト・マップ、 ロール、関係、およびその他の成果物をモジュールで共用する必要があります。 ライブラリー は、これらの共用リソースを保管するために使用されるプロジェクトです。
次のダイアグラムでは、モジュールに 1 つのエクスポート、 2 つのインポート、およびこれらを使用する 1 つのサービス・コンポーネントが含まれています。 インターフェースと参照をリンクするワイヤリングが示されています。