Deshidratación y rehidratación de orquestaciones
Cuando se ejecutan a la vez muchos procesos empresariales de larga duración, la memoria y el rendimiento se convierten en problemas potenciales. El motor de la orquestación aborda estos problemas mediante la "deshidratación" y la "rehidratación" de las instancias de orquestación.
La deshidratación es el proceso de serializar el estado de una orquestación en una base de datos de SQL Server. La rehidratación es la inversa de este proceso: deserializar el último estado en ejecución de una orquestación de la base de datos. La deshidratación se utiliza para minimizar el uso de recursos de sistema al reducir el número de las orquestaciones de las que a la vez se tiene que crear la instancia en memoria.
Deshidratación
La orquestación puede determinar que una instancia de orquestación ha estado inactiva durante un período relativamente grande. Calcula umbrales para determinar el tiempo que esperará para que tengan lugar varias acciones y, si dichos umbrales se superan, deshidrata la instancia. Esto puede suceder bajo las siguientes circunstancias:
Si la orquestación espera la recepción de un mensaje y el tiempo de espera es superior al umbral determinado por el motor.
Cuando la orquestación está "escuchando" un mensaje, como cuando se usa una forma escucha , y no se desencadena ninguna rama antes de un umbral determinado por el motor. La única excepción a esto es cuando la forma Escuchar contiene una recepción de activación.
Si un retraso en la orquestación es mayor que el umbral determinado por el motor.
El motor deshidrata la instancia; para ello, guarda el estado de la instancia y libera la memoria que ésta necesita. Al deshidratar instancias de orquestación inactivas, el motor permite que un gran número de procesos empresariales de larga duración se ejecuten simultáneamente en el mismo equipo.
Se pueden establecer 12 propiedades para configurar el funcionamiento de la deshidratación en BizTalk Server. Los temas de esta sección enumeran y describen las propiedades y sus valores predeterminados, y explican el modo en que los distintos valores afectan al comportamiento de la deshidratación.
Rehidratación
El motor de orquestaciones se inicia para rehidratar una instancia de orquestación mediante la recepción de un mensaje o el vencimiento de un tiempo de espera especificado en una forma Retraso. Después carga la instancia de orquestación guardada en la memoria, restaura su estado y la ejecuta desde el punto en que se interrumpió. Para obtener más información sobre el uso de formas en orquestaciones, vea Formas de orquestación.
Una orquestación se puede configurar para que se ejecute en más de un servidor. Después de que una instancia de orquestación se haya deshidratado, puede rehidratarse en cualquiera de estos servidores. Si un servidor deja de funcionar, el motor continúa ejecutando la orquestación en un servidor diferente desde su estado anterior. El motor también aprovecha esta característica para implementar el equilibrio de carga entre los servidores.