Disidratazione e riattivazione dell'orchestrazione
Quando si eseguono contemporaneamente più processi di business a esecuzione prolungata, possono insorgere problemi a livello di memoria e prestazioni, che vengono risolti mediante la "disidratazione" e la "riattivazione" delle istanze di orchestrazione.
La disidratazione è il processo della serializzazione dello stato di un'orchestrazione in un database SQL Server. La riattivazione è il contrario di questo processo: deserializzazione dell'ultimo stato di esecuzione di un'orchestrazione dal database. La disidratazione viene utilizzata per ridurre l'utilizzo di risorse di sistema limitando il numero di orchestrazioni di cui si deve creare contemporaneamente un'istanza in memoria.
Disidratazione
È possibile che venga rilevata un'istanza di orchestrazione rimasta inattiva per un periodo di tempo relativamente lungo. Nel motore vengono quindi calcolate soglie per determinare il tempo di attesa necessario per l'esecuzione di varie azioni e se tali soglie vengono superate, l'istanza viene disidratata. Ciò può verificarsi nelle circostanze seguenti:
Quando l'orchestrazione è in attesa di un messaggio e il periodo di attesa è superiore alla soglia determinata dal motore.
Quando l'orchestrazione è "in ascolto" per un messaggio, come avviene quando si usa una forma Listen e non viene attivato alcun ramo prima di una soglia determinata dal motore. L'unica eccezione è quando la forma Listen contiene una ricezione di attivazione.
Quando un ritardo nell'orchestrazione ha una durata superiore a una soglia determinata dal motore.
L'istanza viene disidratata, il relativo stato viene salvato e la memoria necessaria per l'istanza viene liberata. La disidratazione di istanze di orchestrazione inattive consente l'esecuzione contemporanea di più processi di business a esecuzione prolungata nello stesso computer.
È possibile impostare 12 proprietà di configurazione delle modalità di disidratazione in BizTalk Server. Negli argomenti della sezione seguente tali proprietà vengono elencate e descritte con i relativi valori predefiniti fornendo indicazioni su come questi influiscono sul comportamento della disidratazione.
Reidratazione
Il motore di orchestrazione può essere attivato per riattivare un'istanza di orchestrazione mediante la ricezione di un messaggio o la scadenza di un timeout specificato in una forma Ritardo. Una volta attivato, il motore carica l'istanza di orchestrazione salvata in memoria, ne ripristina lo stato e la esegue dal punto in cui era stata arrestata. Per altre informazioni sull'uso delle forme nelle orchestrazioni, vedere Forme di orchestrazione.
È possibile configurare un'orchestrazione affinché venga eseguita su uno o più server. Quando l'istanza di orchestrazione è stata disidratata, può essere riattivata su uno qualsiasi di tali server. Se un server si arresta, il motore continua a eseguire l'orchestrazione su un server diverso, proseguendo dallo stato precedente. Il motore usufruisce inoltre di questa funzionalità per implementare il bilanciamento del carico tra i server.