アプリケーションは、ソリューション用にリソースをカプセル化したり、実行時分離機能を提供したりするために使用できます。 ライブラリーは、共通リソースのグループ化、またはチーム、プロジェクト、ブローカー間でのルーチンと定義の共用のために使用できます。
アプリケーションには、ランタイム分離機能があるため、アプリケーション内のリソースは、そのアプリケーションの外部で実行されている他のリソース (メッセージ・フロー、ライブラリー、他のアプリケーションなど) から不可視になります。 デプロイされているリソースの 1 つのグループに対する更新が別のグループに影響しないようにする必要がある場合は、アプリケーションの使用を検討してください。 例えば、最新バージョンの ESQL モジュールを取得するフローを制御する場合に、アプリケーションを使用します。
HomewareOrderApp アプリケーションには以下のリソースが組み込まれています。
|
![]() |
両方のアプリケーションが同じ共通ライブラリー CommonErrorHandling を参照することに注目してください。 WebSphere® Message Broker Toolkit の「ブローカー開発」ビューでは、CommonErrorHandling ライブラリーに加えられた変更は両方のアプリケーションから可視になります。 しかし、アプリケーションがデプロイされると、そのアプリケーションにはライブラリーのコピーが組み込まれます。 例では、ライブラリー CommonErrorHandling 内の ESQL コードにいくつかの変更が加えられます。 アプリケーション HomewareOrderApp を組み込んだ BAR ファイルを再ビルドしてデプロイすると、そのアプリケーション内のメッセージ・フロー HomeWareOrderFlow からライブラリー CommonErrorHandling 内の ESQL ルーチンへの変更が認識されます。
アプリケーションは分離されているので、アプリケーション ClothesOrderApp 内のフロー ClothesOrderFlow からは ESQL ルーチンへの変更は認識されません。 このアプリケーションは、CommonErrorHandling ライブラリーの独自のコピーを持っています。これはブローカー環境ではまだ更新されていません。 ClothesOrderApp アプリケーション用 BAR ファイルを再ビルドするとき、CommonErrorHandling ライブラリーの更新バージョンが取り込まれます。 再ビルドした BAR ファイルをデプロイすると、アプリケーション ClothesOrderApp 内の ClothesOrderFlow フローから、CommonErrorHandling ライブラリー内の ESQL 更新が認識されます。
実行時にこのような分離機能を提供するのはアプリケーションのみです。 この分離機能は、アプリケーションに組み込まれたリソースが同じ実行グループに別個にデプロイされた場合にも適用されます。 ライブラリーが、そのライブラリーを参照するメッセージ・フローを持つ実行グループにデプロイされたと想定します。 同じライブラリーは、同じ実行グループにデプロイされたアプリケーションにも組み込まれます。 そのライブラリーが WebSphere Message Broker Toolkit で更新されて再デプロイされると、その実行グループにデプロイされたメッセージ・フローからその変更を認識できます。 しかし、アプリケーションからはその変更は認識できません。 このアプリケーションが更新済みライブラリーを取り込むには、そのアプリケーションを組み込んだ BAR ファイルの再ビルドと再デプロイが必要になります。
BAR ファイルに組み込まれたすべてのリソースが分離されるわけではありません。 例えば、Java™ プロジェクト、.NET プロジェクト、構成可能サービス、およびオペレーティング・システムのリソース (TCP/IP ポートやファイルなど) は分離されません。 リソースは、アプリケーション内に組み込まれている場合にのみ、分離されます。