Puede utilizar aplicaciones para encapsular recursos para una solución o para proporcionar aislamiento en tiempo de ejecución. Puede utilizar bibliotecas para agrupar recursos comunes o compartir rutinas y definiciones entre equipos, proyectos o intermediarios.
Las aplicaciones proporcionan aislamiento en tiempo de ejecución, mediante el cual los recursos dentro de la aplicación no son visibles para otros recursos, como flujos de mensajes, bibliotecas u otras aplicaciones que se ejecuten fuera de la aplicación. Considere la posibilidad de utilizar aplicaciones si necesita asegurarse de que las actualizaciones en un grupo de recursos desplegados no afectan a otro grupo. Por ejemplo, utilice una aplicación cuando desee controlar qué flujos recuperan la última versión de un módulo ESQL.
La aplicación HomewareOrderApp contiene los siguientes recursos:
|
![]() |
Observe cómo ambas aplicaciones hacen referencia a la misma biblioteca común, CommonErrorHandling. En la Vista Desarrollo de intermediario de WebSphere Message Broker Toolkit, los cambios que se realizan en la biblioteca CommonErrorHandling son visibles para ambas aplicaciones. Pero cuando una aplicación se despliega, esa aplicación contiene una copia de la biblioteca. En el ejemplo, se realizan algunos cambios en el código ESQL de la biblioteca CommonErrorHandling. Cuando el archivo BAR que contiene la aplicación HomewareOrderApp se reconstruye y se despliega, el flujo de mensajes HomeWareOrderFlow en esa aplicación ve los cambios en la rutina ESQL de la biblioteca CommonErrorHandling.
Las aplicaciones están aisladas, por lo que el flujo ClothesOrderFlow en la aplicación ClothesOrderApp no ve los cambios en la rutina ESQL. Esta aplicación tiene su propia copia de la biblioteca CommonErrorHandling, que aún no se ha actualizado en el entorno de intermediario. Cuando el archivo BAR para la aplicación ClothesOrderApp se reconstruye, recupera la versión actualizada de la biblioteca CommonErrorHandling. Cuando el archivo BAR reconstruido se despliega, el flujo ClothesOrderFlow en la aplicación ClothesOrderApp ve las actualizaciones de ESQL en la biblioteca CommonErrorHandling.
Sólo las aplicaciones proporcionan este aislamiento en tiempo de ejecución. Este aislamiento también se aplica si un recurso que está incluido en una aplicación también se despliega por separado en el mismo grupo de ejecución. Supongamos una biblioteca se despliega en un grupo de ejecución con un flujo de mensajes que hace referencia a esa biblioteca. La misma biblioteca también está contenida en una aplicación que se ha desplegado en el mismo grupo de ejecución. Si esa biblioteca se actualiza en WebSphere Message Broker Toolkit y se despliega de nuevo, el flujo de mensajes desplegado en el grupo de ejecución puede ver los cambios. Sin embargo, la aplicación no puede ver los cambios. Para que la aplicación recupere la biblioteca actualizada, tendría que reconstruir y volver a desplegar el archivo BAR que contiene la aplicación.
No todos los recursos se aíslan cuando están contenidos en un archivo BAR. Por ejemplo, los proyectos Java™, los proyectos .NET, los servicios configurables y los recursos del sistema operativo como archivos y puertos TCP/IP no se aíslan. Los recursos sólo se aíslan cuando están contenidos en una aplicación.