Dependencias e implementación de aplicaciones
En este tema se describe cómo influyen las dependencias entre artefactos de dos o más aplicaciones de BizTalk en la implementación y el mantenimiento de las aplicaciones.
Cuando un artefacto necesita usar otro artefacto para funcionar correctamente, se dice que depende de otro artefacto. Un ejemplo de tal dependencia es cuando una orquestación necesita usar un esquema específico para la resolución de mensajes o una canalización específica para transmitir mensajes correctamente. En ambos escenarios, la orquestación es dependiente de otro artefacto.
Antes de poder actualizar un artefacto en una aplicación, en primer lugar, debe anular su implementación, junto con los artefactos que dependen de ella. Cuando existen artefactos con dependencias en la misma aplicación, BizTalk Server controla de forma automática las tareas de anulación de la implementación y de nueva implementación para los artefactos actualizados y dependientes. Cuando los artefactos que tienen dependencias se encuentran en distintas aplicaciones, aunque este no sea el caso. Debe seguir pasos manuales para anular la implementación de los artefactos con dependencias antes de poder actualizar un artefacto del que dependen. Después, debe volver a implementar los artefactos dependientes.
Para evitar seguir estos pasos manuales cuando desee actualizar un artefacto del que dependen otros artefactos, puede intentar mantener todos los artefactos con dependencias juntos en la misma aplicación. Sin embargo, esto no es posible. Como se describe en Artefactos que deben ser únicos en una aplicación o grupo, la mayoría de los tipos de artefactos deben ser únicos en un grupo de BizTalk. No puede tener el mismo artefacto en dos aplicaciones distintas del mismo grupo, incluso cuando ambas aplicaciones contienen artefactos que dependen del mismo artefacto.
Cuando sucede esto, puede agregar el artefacto necesario a una aplicación y, a continuación, agregar una referencia a dicha aplicación desde otras aplicaciones que contengan artefactos que dependen de ella. Si se agrega una referencia a una aplicación, los artefactos de la aplicación pueden usar los artefactos de la aplicación a la que hace referencia. Para obtener instrucciones sobre cómo agregar una referencia, vea Cómo agregar una referencia a otra aplicación.
El siguiente diagrama muestra dos aplicaciones que dependen de artefactos de una tercera aplicación. La aplicación de procesamiento de pedidos usa Schema1, que se incluye en la aplicación de esquemas, de modo que la aplicación de procesamiento de pedidos contiene una referencia a la aplicación de esquemas. La aplicación de hipotecas usa Schema2, que también se incluye en la aplicación de esquemas y, al igual que la aplicación anterior, contiene una referencia a la última.
Agregar una referencia de una aplicación a otra crea una dependencia entre las dos aplicaciones que influyen en cómo implementar y administrar ambas aplicaciones. Debido a los diversos efectos de las dependencias de aplicación que se describen más adelante en este tema, se recomienda seguir los procedimientos recomendados para agregar artefactos a la aplicación, como se describe en Procedimientos recomendados para implementar una aplicación de BizTalk.
El siguiente diagrama ilustra los pasos implicados en la actualización de un ensamblado cuando hay una cadena de dependencia y todos los ensamblados que dependen del ensamblado que se va a actualizar se encuentran en la misma aplicación.
El siguiente diagrama ilustra los pasos implicados en la actualización de un ensamblado cuando hay una cadena de dependencias en el ensamblado que se va a actualizar y uno de los ensamblados dependientes se encuentra en una aplicación distinta.
Nota
El motivo por el que se realiza una detención completa antes de actualizar un ensamblado, es que hacerlo de forma automática da de baja la orquestación, detiene y finaliza todos los mensajes. Si es necesario continuar con el procesamiento de mensajes, puede implementar una versión diferente del mismo ensamblado y, por tanto, evitar la detención y finalización de los mensajes. Para obtener más información, vea Actualizar aplicaciones de BizTalk.
Los siguientes efectos pueden derivar de dependencias entre aplicaciones:
Detención de un artefacto. Si detiene un artefacto en una aplicación (que puede derivar de la detención de la aplicación completa) de la que depende otra aplicación, la aplicación dependiente no funcionará correctamente. Para obtener más información sobre cómo detener una aplicación, vea Cómo iniciar y detener una aplicación de BizTalk.
Eliminación o cambio del estado de un artefacto. Cuando agrega una referencia de una aplicación a otra y realiza cambios en el estado de un artefacto del que depende otra aplicación o quita el artefacto, la aplicación con dependencia no funcionará correctamente. Para obtener más información sobre cómo cambiar el estado de un artefacto, consulte la sección sobre el artefacto adecuado en Administración de artefactos.
Importación de aplicaciones con dependencias. Si desea importar una aplicación en un grupo de BizTalk diferente y ejecutarla en dicho grupo, debe importar los artefactos de los que depende esta aplicación. Puede hacerlo mediante la importación, en primer lugar, de otra aplicación o mediante la agregación del artefacto necesario a la aplicación que lo requiere. Para obtener más información sobre cómo importar aplicaciones, vea Cómo importar una aplicación de BizTalk.
Nota
BizTalk Server comprueba la identidad de una aplicación mediante la correspondencia de los nombres de la aplicación en el grupo de BizTalk de origen y de destino. No comprueba que los artefactos de los que depende la aplicación se incluyen en ella. Al importar una aplicación con dependencias y la aplicación a la que se hace referencia, se recomienda comprobar que la aplicación a la que se hace referencia contiene los artefactos necesarios.
Importación de aplicaciones con referencias. Si una aplicación que se importa depende de un artefacto de otra aplicación, es posible que se deba agregar una referencia a esta aplicación. El Asistente para importación proporciona esta opción. Sin embargo, si usa el comando ImportApp de BTSTask, debe agregar la referencia a la aplicación después de la importación, como se describe en Cómo agregar una referencia a otra aplicación. Mientras que BizTalk Server comprueba que la aplicación a la que se hace referencia existe, se recomienda seguir los pasos adicionales para comprobar que la aplicación a la que se hace referencia contiene el artefacto necesario.
Instalación de aplicaciones con dependencias. Cuando instala una aplicación, debe instalar también las aplicaciones de las que depende. Cuando instale una aplicación que tenga dependencia de un artefacto, como de un ensamblado de BizTalk, que está contenido en otra aplicación, también es necesario instalar primero la aplicación que contiene el artefacto. Por ejemplo, si desea instalar la aplicación A y ésta depende de un ensamblado de la aplicación B, debe instalar primer la aplicación B. A continuación, puede instalar la aplicación A. Para obtener más información sobre cómo instalar aplicaciones, vea Cómo instalar una aplicación de BizTalk.
Movimiento de un artefacto. Cuando mueve un artefacto a una aplicación nueva, se mueven también los artefactos con los que tiene relaciones de dependencia a no ser que la aplicación nueva tenga una referencia a las aplicaciones que contienen los artefactos de los que depende el artefacto movido. Además, los artefactos que tengan dependencias en el artefacto movido también se moverán a menos que las aplicaciones que las contengan tengan una referencia a la nueva aplicación. Al mover un artefacto, aparecerá la lista de los otros artefactos que también se moverán. Para obtener instrucciones sobre cómo mover un artefacto, consulte Cómo mover un artefacto a una aplicación diferente.
Actualización de un artefacto cuando un artefacto de otra aplicación depende de él. Cuando actualiza un artefacto de una aplicación con dependencia de un artefacto en la misma aplicación, BizTalk Server se encarga de forma automática de la anulación de la implementación y de la nueva implementación del artefacto dependiente. Si desea actualizar un artefacto en una aplicación, así como un artefacto de otra aplicación dependiente de ella, debe anular la implementación y volver a implementar el artefacto dependiente de forma manual de la siguiente manera:
Detenga, dé de baja y desenlace el artefacto dependiente.
Actualice el artefacto del que depende.
Enlace, dé de alta e iniciar el artefacto dependiente.
Consulte también
Descripción de la implementación y administración de aplicaciones de BizTalk