Condividi tramite


Aggiornamento di uno schema tramite il versionamento affiancato

È possibile gestire versioni parallele con gli schemi. A tale scopo, aggiungere una nuova versione dello schema a un assembly, aggiornando la versione dello schema, lasciando invariato lo schema esistente (e la relativa versione).

Se si incrementa una versione dello schema, è necessario aggiornare il riferimento allo schema per tutte le istanze della pipeline e i componenti della pipeline che lo usano. È inoltre necessario aggiornare le mappe che fanno riferimento allo schema (o creare nuove mappe) e tutte le orchestrazioni che si basano sullo schema.

Se si annulla la distribuzione di uno schema, la versione precedente dello schema, se disponibile, diventerà attiva.

Risoluzione dello schema nelle pipeline

Se si aggiunge a un'applicazione un assembly che include un nuovo schema con lo stesso tipo di messaggio di uno schema esistente nel gruppo BizTalk, lo schema con il numero di versione più recente verrà usato quando si verifica la risoluzione dello schema nelle pipeline. Se un tipo di messaggio fa riferimento a più tipi .NET, questa ambiguità può causare un errore di esecuzione della pipeline. Ciò è dovuto al fatto che la ricerca dello schema usa il tipo di messaggio, lo spazio dei nomi di destinazione e il nome radice dell'istanza. Questo tipo di errore può verificarsi per le pipeline in qualsiasi applicazione che usa uno schema con lo stesso tipo di messaggio del nuovo schema. Per altre informazioni sulla risoluzione dello schema, vedere Risoluzione dello schema nei componenti della pipeline (https://go.microsoft.com/fwlink/?LinkID=154207) nella Guida di BizTalk Server.

Il comportamento di risoluzione dello schema per il disassembler XML può richiedere modifiche aggiuntive dopo l'aggiunta di una nuova versione di uno schema affiancata a una versione precedente. In alcuni casi, potresti voler codificare in modo rigido i riferimenti nelle proprietà del disassembler della pipeline nel Pipeline Designer alle versioni specifiche degli schemi. In questo modo è possibile evitare il comportamento di risoluzione dinamica, in cui il disassembler XML determina lo schema da caricare usando il tipo di messaggio individuato dinamicamente in fase di esecuzione dal contenuto XML del messaggio.

Aggiornamento di uno schema in un'orchestrazione

Quando si modifica lo schema associato a più forme di invio e ricezione in un'orchestrazione, è possibile apportare modifiche in modo molto più semplice impostando la proprietà Message Type per il messaggio associato a ogni forma di invio o ricezione su Tipo di messaggio in più parti, anziché su Schema. È quindi possibile impostare la proprietà Type per la parte del messaggio associata a ogni forma in modo che corrisponda allo stesso schema. In questo modo, è possibile modificare successivamente lo schema modificando la proprietà Type per ogni parte del messaggio, invece di dover modificare il tipo di messaggio per ogni forma. Per altre informazioni su come semplificare questa procedura, vedere il white paper 8 Tips and Tricks for Better BizTalk Programming (https://go.microsoft.com/fwlink/?LinkId=101594).

Schemi di controllo delle versioni

BizTalk Server accetta uno schema dalla versione più recente dell'assembly che lo contiene. Ciò significa che se si crea una nuova versione di uno schema, la nuova versione sostituisce completamente tutte le versioni precedenti dello schema. Ciò funziona correttamente quando le transazioni hanno una breve durata. Tuttavia, le transazioni nella soluzione di gestione dei processi di business sono di lunga durata: l'esecuzione di un ordine può richiedere fino a un anno.

Per consentire la possibilità di usare più versioni di uno schema, ogni schema nella soluzione include un numero di versione nello spazio dei nomi. Le pipeline BizTalk determinano il tipo di messaggio di un messaggio in base allo spazio dei nomi di destinazione e al nome del nodo radice definito nello schema. Ad esempio, lo spazio dei nomi per lo schema Order è il seguente:

http://Microsoft.Samples.BizTalk.SouthridgeVideo.Schemas.Order.v1

Poiché lo spazio dei nomi identifica lo schema e l'inclusione del numero di versione rende lo spazio dei nomi univoco per lo schema, il nuovo schema sarà distinto dalla versione precedente. Pertanto, è possibile usare un nuovo schema senza sostituire lo schema precedente.

La modifica della versione dello schema può influire su molte parti della soluzione, quindi questa operazione deve essere pianificata in anticipo. Per altre informazioni sull'effetto delle modifiche alla versione dello schema, vedere Risoluzione dello schema nei componenti della pipeline (https://go.microsoft.com/fwlink/?LinkID=154207) nella Guida di BizTalk Server.

Quando si modifica la versione degli schemi in un'orchestrazione, utilizzare tipi di messaggio multi-parte. In questo modo si ottiene una maggiore flessibilità durante il controllo delle versioni degli schemi. Per altre informazioni sui vantaggi dell'uso dei tipi di messaggi multipart, vedere suggerimento n. 1, "Usare sempre tipi di messaggi in più parti" nell'articolo 8 Suggerimenti e consigli per una migliore programmazione BizTalk (https://go.microsoft.com/fwlink/?LinkId=101594).

Vedere anche

Procedure consigliate per l'aggiornamento delle applicazioni