Implementare modelli di progettazione nelle orchestrazioni
In questa sezione vengono illustrati i modelli comuni della programmazione di BizTalk Server, nonché i modelli di integrazione aziendale. Per definire un progetto di business, è possibile usufruire di un singolo modello o combinare più modelli e quindi implementare la progettazione utilizzando alcune forme in Progettazione orchestrazioni BizTalk.
Schemi progettuali
Nelle voci seguenti viene brevemente descritto ogni modello e vengono forniti rimandi ad argomenti o esempi in cui viene illustrato come implementare i modelli mediante Progettazione orchestrazioni BizTalk.
Aggregatore
L’aggregatore rappresenta il modello di ricezione delle informazioni provenienti da più origini e il relativo consolidamento in un singolo messaggio. Per un esempio di questo modello, vedere Aggregate.odx in Aggregator (BizTalk Server Sample).
Chiamata di pipeline da un’orchestrazione
È possibile chiamare pipeline di trasmissione e ricezione dalle orchestrazioni. Questa capacità consente di riutilizzare le pipeline e di mantenere la separazione di un’orchestrazione dalle fasi delle pipeline. Per un esempio di questo modello, vedere Aggregate.odx in Aggregator (BizTalk Server Sample). Un altro esempio è CMP.odx nel processore di messaggi composti (esempio BizTalk Server). Vedere anche Come usare le espressioni per eseguire pipeline.
Processore messaggi composti
Il processore di messaggi composti rappresenta il modello di elaborazione di singoli elementi provenienti da messaggi di interscambio aggregati o inclusi in batch. Per un esempio di questo modello, vedere CMP.odx in Compose Message Processor (BizTalk Server Sample).
Router basato sul contenuto
Il router basato sul contenuto rappresenta il modello di determinazione del destinatario di un messaggio in base ad alcune parti del contenuto del messaggio. Per un esempio di questo modello, vedere CBRSample (esempio BizTalk Server).
Router dinamico
Il router dinamico rappresenta il modello di determinazione dell’indirizzo di destinazione nonché del protocollo di trasporto in base al risultato dell’elaborazione dei messaggi. È possibile utilizzare una porta di trasmissione dinamica o una forma Di collegamento al ruolo per implementare questo modello. Per un esempio di questo modello, vedere ReceiveSend.odx in SendMail. Un altro esempio è SupplierProcess.odx in PartyResolution (esempio BizTalk Server).
Gestione degli errori
BizTalk Server consente di impostare la gestione automatica degli errori di messaggistica come alternativa al comportamento predefinito che consiste nell’inserire i messaggi con errori nella coda degli elementi sospesi. Tali messaggi possono essere instradati a una porta di sottoscrizione per la segnalazione o l’elaborazione. Per un esempio di questo modello, vedere ResubmitLogic.odx in Error Handling (BizTalk Server Samples Folder).
Compensazione e gestione delle eccezioni
È possibile utilizzare un gestore eccezioni e una forma Throw Exception o Expression per la gestione delle eccezioni. Ad esempio, è possibile inserire il codice seguente nella forma Espressione per generare l'eccezione:
excp = new System.Exception();
throw(excp);
È possibile utilizzare un blocco di compensazione e una forma Compensat per eseguire la compensazione sulle transazioni di cui è stato eseguito il commit. Per un esempio di questo modello, vedere UpdateContact.odx in Compensation (BizTalk Server Sample). Un altro esempio è riportato in Eccezioni personalizzate.
Service Bus
Il broker di messaggi rappresenta il modello di determinazione della destinazione di un messaggio continuando a mantenere il controllo sul flusso di messaggi. Per altre informazioni, vedere Elaborazione nell'orchestrazione OrderBroker.
Filtro messaggi
Il modello di filtro dei messaggi consente di selezionare i messaggi conformi a particolari criteri a fini di elaborazione. È possibile implementare questo modello aggiungendo l'espressione di filtro a una forma Receive attivata. Per altre informazioni, vedere Using Filters With the Receive Message Shape.
Funzione di conversione messaggi
Il modello di funzione di conversione messaggi consente di convertire un messaggio da un formato in un altro. È possibile implementare questo modello usando una mappa BizTalk con una forma Transform in un'orchestrazione. Per un esempio di questo modello, vedere HelloOrchestration.odx in HelloWorld (esempio BizTalk Server).
Serie di istruzioni parallele
Il modello di serie di istruzioni parallele consente l’unione di più elementi singoli in modo da ottenere un risultato che non può essere raggiunto da un singolo elemento. La serie di elementi correlati può arrivare in base a un ordine qualsiasi, ma è necessario che la ricezione di tutti gli elementi in BizTalk Server sia antecedente all’avvio del processo.
Separazione e raccolta
Il modello di separazione e raccolta consente l’invio di messaggi a più destinatari e la ricezione dei messaggi da parte di tutti i destinatari. Per implementare questo modello, è possibile utilizzare il modello di separazione e il modello aggregatore. Usare il modello Aggregator per assemblare i risultati usando il modello Splitter e inserirli in una forma Azioni parallele .
Serie di istruzioni sequenziali
Il modello di serie di istruzioni sequenziali consente l’unione di più elementi singoli in modo da ottenere un risultato che non può essere raggiunto da un singolo elemento. Una serie di istruzioni sequenziali rappresenta una serie di elementi correlati che presentano un ordine predefinito. Anche se gli elementi non devono essere esattamente gli stessi, è necessario che la ricezione degli elementi in BizTalk Server venga completata in base a un ordine sequenziale.
Splitter
Il modello di separazione prende un singolo messaggio e lo divide in più messaggi.
Sospensione con tentativi
Il modello di sospensione con tentativi consente all’orchestrazione di sospendere i messaggi in caso di errore. La sospensione ha luogo all’interno di un ciclo così che l’orchestrazione sospende, chiede l’intervento e quindi ritenta l’operazione per un determinato numero di volte.