É possível usar aplicativos para conter recursos para uma solução ou para fornecer isolamento no tempo de execução. É possível usar bibliotecas para agrupar recursos comuns ou compartilhar rotinas e definições entre equipes, projetos ou brokers.
Aplicativos fornecem isolamento de tempo de execução, de forma que os recursos dentro do aplicativo não são visíveis para outros recursos, como fluxos de mensagens, bibliotecas ou outros aplicativos que estão em execução fora do aplicativo. Considere usar aplicativos se precisar assegurar que atualizações a um grupo de recursos implementados não afetem outro grupo. Por exemplo, use um aplicativo quando desejar controlar quais fluxos recebem a versão mais recente de um módulo ESQL.
O aplicativo HomewareOrderApp contém os recursos a seguir:
|
![]() |
Note como ambos os aplicativos fazem referência à mesma biblioteca comum, a CommonErrorHandling. No Visualização Desenvolvimento do Broker do WebSphere Message Broker Toolkit, as mudanças feitas na biblioteca CommonErrorHandling são visíveis a ambos os aplicativos. Porém, quando um aplicativo é implementado, ele contém uma cópia da biblioteca. No exemplo, algumas mudanças são feitas no código ESQL na biblioteca CommonErrorHandling. Quando o arquivo BAR que contém o aplicativo HomewareOrderApp é reconstruído e implementado, o fluxo de mensagens HomeWareOrderFlow nesse aplicativo vê as mudanças na rotina ESQL na biblioteca CommonErrorHandling.
Os aplicativos são isolados e, portanto, o fluxo ClothesOrderFlow no aplicativo ClothesOrderApp não vê as mudanças na rotina ESQL. Este aplicativo tem sua própria cópia da biblioteca CommonErrorHandling, que ainda não foi atualizada no ambiente do Broker. Quando o arquivo BAR para o aplicativo ClothesOrderApp é reconstruído, ele pega a versão atualizada da biblioteca CommonErrorHandling. Quando a reconstrução do arquivo BAR é implementada, o fluxo ClothesOrderFlow no aplicativo ClothesOrderApp vê as atualizações de ESQL na biblioteca CommonErrorHandling.
Apenas aplicativos fornecem esse isolamento no tempo de execução. Esse isolamento também se aplica se um recurso contido em um aplicativo também for implementado separadamente no mesmo grupo de execução. Suponha que uma biblioteca é implementada em um grupo de execução com um fluxo de mensagens que faz referência a essa biblioteca. A mesma biblioteca também está contida em um aplicativo que está implementado no mesmo grupo de execução. Caso a biblioteca seja atualizada no WebSphere Message Broker Toolkit e reimplementada, o fluxo de mensagens que é implementado no grupo de execução pode ver as mudanças. No entanto, o aplicativo não pode ver as mudanças. Para o aplicativo pegar a biblioteca atualizada, seria necessário reconstruir e reimplementar o arquivo BAR que contém o aplicativo.
Nem todos os recursos são isolados quando estão contidos em um arquivo BAR. Por exemplo, projetos Java™, projetos .NET, serviços configuráveis e recurso s do sistema operacional como portas e arquivos TCP/IP não são isolados. Os recursos são isolados apenas quando estão contidos em um aplicativo.