Condividi tramite


Dipendenze e distribuzione di applicazioni

In questo argomento viene descritto come le dipendenze fra elementi in due o più applicazioni BizTalk influiscono sulla distribuzione e la manutenzione dell'applicazione.

Quando un artefatto deve usare un altro artefatto per funzionare correttamente, si dice che sia dipendente da un altro artefatto. Sono esempi di questa dipendenza i casi in cui un'orchestrazione necessita di utilizzare uno schema specifico per la risoluzione dei messaggi o una determinata pipeline per trasmettere correttamente i messaggi. In entrambi gli scenari l'orchestrazione dipende da un altro elemento.

Per poter aggiornare un elemento in un'applicazione è necessario prima annullarne la distribuzione, unitamente agli elementi da esso dipendenti. Se all'interno della stessa applicazione sono presenti elementi con dipendenze, in BizTalk Server le attività di annullamento della distribuzione e ridistribuzione verranno automaticamente gestite sia per gli elementi aggiornati sia per gli elementi dipendenti. Ciò non avviene tuttavia quando gli elementi con dipendenze fanno parte di applicazioni diverse. È necessario procedere manualmente per annullare la distribuzione degli elementi con dipendenze prima di poter aggiornare un elemento dal quale ne dipendono altri. In seguito sarà necessario ridistribuire manualmente gli elementi dipendenti.

Per evitare di svolgere manualmente queste procedure, quando si desidera aggiornare un elemento dal quale dipendono altri elementi, è possibile tentare di mantenere tutti gli elementi con dipendenze all'interno della stessa applicazione. Ciò non è tuttavia sempre possibile. Come descritto in Artefatti che devono essere univoci in un'applicazione o in un gruppo, la maggior parte dei tipi di artefatti deve essere univoca in un gruppo BizTalk. Due applicazioni diverse appartenenti allo stesso gruppo non possono contenere lo stesso elemento, nonostante entrambe contengano elementi che dipendono dallo stesso elemento.

Quando ciò avviene, è possibile aggiungere l'elemento necessario a un'applicazione e quindi aggiungere un riferimento all'applicazione da altre applicazioni contenenti gli elementi che dipendono da esso. Quando si aggiunge un riferimento a un'applicazione, gli elementi di quest'ultima possono utilizzare gli elementi contenuti nell'applicazione alla quale questa fa riferimento. Per istruzioni sull'aggiunta di un riferimento, vedere Come aggiungere un riferimento a un'altra applicazione.

Nel diagramma seguente sono illustrate due applicazioni, entrambe dipendenti da elementi contenuti in una terza applicazione. L'applicazione Order Processing utilizza Schema1, contenuto nell'applicazione Schemas, per cui l'applicazione Order Processing contiene un riferimento all'applicazione Schemas. L'applicazione Mortgage utilizza Schema2, anch'esso contenuto nell'applicazione Schemas e, analogamente, la prima applicazione contiene un riferimento alla seconda.

Due applicazioni fanno riferimento a una terza applicazione

Aggiungendo un riferimento da un'applicazione all'altra si crea una dipendenza fra le due applicazioni, la quale influisce sulle modalità di distribuzione e gestione di entrambe. A causa dei vari effetti delle dipendenze dell'applicazione descritte più avanti in questo argomento, è consigliabile seguire le procedure consigliate per l'aggiunta di elementi all'applicazione, come descritto in Procedure consigliate per la distribuzione di un'applicazione BizTalk.

Nel diagramma seguente sono illustrate le procedure per aggiornare un assembly quando è presente una catena di dipendenze e tutti gli assembly che dipendono dall'assembly da aggiornare fanno parte della stessa applicazione.

Aggiornamento di un assembly con dipendenze

Nel diagramma seguente sono illustrate le procedure per aggiornare un assembly quando è presente una catena di dipendenze dall'assembly da aggiornare e uno degli assembly dipendenti fa parte di un'applicazione diversa.

Aggiornamento di un assembly con dipendenze esterne

Nota

Il motivo per cui è necessario eseguire un arresto totale prima di aggiornare un assembly è che svolgendo automaticamente questa operazione l'orchestrazione viene automaticamente rimossa e tutti i messaggi vengono interrotti e terminati. Se è necessario continuare a elaborare messaggi è possibile distribuire una versione diversa dello stesso assembly, evitando così la necessità di interrompere e terminare i messaggi. Per altre informazioni, vedere Aggiornamento di applicazioni BizTalk.

Dalle dipendenze fra applicazioni possono derivare gli effetti seguenti:

  • Arresto di un elemento. Se si arresta un elemento di un'applicazione (per effetto dell'arresto dell'intera applicazione) dal quale dipende un'altra applicazione, l'applicazione dipendente non funzionerà correttamente. Per altre informazioni sull'arresto di un'applicazione, vedere Come avviare e arrestare un'applicazione BizTalk.

  • Rimozione o modifica dello stato di un elemento. Quando si aggiunge un riferimento da un'applicazione a un'altra e si apportano modifiche allo stato di un elemento dal quale dipende un'altra applicazione oppure si rimuove l'elemento, l'applicazione con la dipendenza non funzionerà correttamente. Per altre informazioni sulla modifica dello stato di un artefatto, vedere la sezione sull'artefatto appropriato in Gestione degli artefatti.

  • Importazione di applicazioni con dipendenze. Se si desidera importare un'applicazione in un gruppo BizTalk diverso ed eseguirla in tale gruppo è necessario importare anche gli elementi da cui dipende l'applicazione. È possibile eseguire questa operazione importando per prima l'altra applicazione o aggiungendo l'elemento necessario all'applicazione che lo richiede. Per altre informazioni sull'importazione di applicazioni, vedere Come importare un'applicazione BizTalk.

    Nota

    In BizTalk Server l'identità di un'applicazione viene verificata tramite la corrispondenza fra il nome dell'applicazione nel gruppo BizTalk di origine e quello di destinazione. Non viene però verificato che gli elementi da cui l'applicazione dipende siano inclusi in essa. Quando si importano un'applicazione con dipendenze e l'applicazione alla quale questa fa riferimento, è consigliabile verificare che l'applicazione a cui viene fatto riferimento contenga l'elemento o elementi necessari.

  • Importazione di applicazioni con riferimenti. Se l'applicazione da importare dipende da un elemento incluso in un'altra applicazione, è necessario aggiungere un riferimento a quest'ultima. Questa opzione è disponibile nell'Importazione guidata. Se si usa il comando ImportApp di BTSTask, tuttavia, è necessario aggiungere il riferimento all'applicazione dopo l'importazione, come descritto in Come aggiungere un riferimento a un'altra applicazione. Mentre viene eseguita la verifica dell'esistenza dell'applicazione alla quale viene fatto riferimento, è consigliabile svolgere un passaggio aggiuntivo per verificare che contenga l'elemento necessario.

  • Installazione di applicazioni con dipendenze. Quando si installa un'applicazione è necessario installare anche le applicazioni dalle quali questa dipende. Quando si installa un'applicazione che dipende da un elemento, quale ad esempio un assembly di BizTalk incluso in un'altra applicazione, è necessario installare in primo luogo l'applicazione contenente tale elemento. Se si desidera, ad esempio, installare l'applicazione A e questa dipende da un assembly contenuto nell'applicazione B, è necessario installare prima l'applicazione B. È quindi possibile installare l'applicazione A. Per altre informazioni sull'installazione delle applicazioni, vedere Come installare un'applicazione BizTalk.

  • Spostamento di un elemento. Quando si sposta un elemento in una nuova applicazione vengono spostati anche gli eventuali altri elementi da cui dipende, a meno che la nuova applicazione non includa un riferimento alle applicazioni contenenti gli elementi da cui dipende l'elemento spostato. Verranno inoltre spostati gli elementi che presentano dipendenze dall'elemento spostato a meno che le applicazioni che li contengono non includano un riferimento alla nuova applicazione. Quando si esegue lo spostamento di un elemento, viene visualizzato l'elenco degli altri elementi che verranno spostati. Per istruzioni sullo spostamento di un artefatto, vedere Come spostare un elemento in un'applicazione diversa.

  • Aggiornamento di un elemento quando è presente un elemento incluso in un'altra applicazione che dipende da esso. Quando si aggiorna un elemento contenuto in un'applicazione il quale dipende da un elemento contenuto nella stessa applicazione, automaticamente in BizTalk la distribuzione dell'elemento dipendente viene annullata e quindi l'elemento viene ridistribuito. Se si desidera aggiornare un elemento incluso in un'applicazione dal quale dipende un elemento contenuto in un'altra applicazione, è tuttavia necessario annullare la distribuzione e ridistribuire l'elemento manualmente come segue:

    1. Arrestare, rimuovere e annullare il binding dell'elemento dipendente.

    2. Aggiornare l'elemento dal quale dipende.

    3. Eseguire il binding, integrare e avviare l'elemento dipendente.

Vedere anche

Informazioni sulla distribuzione e la gestione delle applicazioni BizTalk