OperationsSamples (esempio di BizTalk Server)
Nell'esempio OperationsSamples viene illustrato come eseguire attività operative utilizzando il modello a oggetti Operations.
Scopo dell'esempio
Questo esempio illustra i seguenti elementi:
Come utilizzare un profilo di rilevamento per commentare un'orchestrazione con attività.
Come utilizzare il database di rilevamento BAM per trovare un ID attività e utilizzare quindi l'ID per trovare un'istanza di orchestrazione correlata.
Come trovare e usare i flussi di messaggi usando la classe MessageFlow e altre classi e API del modello a oggetti Operations.
Come accedere a porte, messaggi e altre istanze usando classi derivate dalla classe Instance .
Nell'esempio sono contenute numerose classi di supporto e metodi utili al supporto delle operazioni descritte sopra. I dettagli relativi a tali classi e metodi oltre che a eventuale altro codice sono illustrati nella sezione successiva.
Progettazione e finalità dell'esempio
Questo esempio viene utilizzato per illustrare le classi e i metodi principali nel modello a oggetti Operations e spiegare come eseguire query sul database di rilevamento BAM pubblicamente disponibile.
Nel modello a oggetti Operations sono contenute classi che consentono di manipolare i messaggi e altre istanze all'interno di BizTalk Server.
Utilizzo di un ID attività BAM
In questo esempio viene illustrato come interagire con BAM e come utilizzare le visualizzazioni pubblicamente disponibili nel database di rilevamento per individuare un messaggio attivato nel MessageBox utilizzando i dati business. A tale scopo, nell'esempio verrà recuperato un ID orchestrazione corrispondente a un numero di ordine di acquisto. Affinché l'attività abbia esito positivo, dovranno essere eseguite le operazioni seguenti:
Usare i dati aziendali (un numero di ordine di acquisto) per trovare un ID attività. Questo passaggio esegue il mapping dei dati aziendali a un ID interno che può essere usato per trovare informazioni aggiuntive.
Recuperare i riferimenti BAM correlati all'ID attività.
Trovare un riferimento di tipo "BizTalkService" che fa riferimento a un'orchestrazione. Se ne viene trovato uno, restituire il relativo ID istanza.
Questa funzionalità viene fornita dal metodo statico BAMWebService.GetOrchestrationID e dai metodi helper associati, incluse classi e metodi nel file di origine BamManagementService.cs.
Sospendere, terminare e riprendere un'istanza
Il programma di esempio include un metodo Samples.OperateOnInstance che accetta un'operazione e un ID istanza ed esegue l'operazione specificata nell'istanza. Le operazioni valide sono definite dall'enumerazione InstanceOperation e includono Suspend, Terminate e Resume. Queste operazioni vengono mappate direttamente ai metodi della classe BizTalkOperations: SuspendInstance, TerminateInstance e ResumeInstance.
Si noti che il metodo gestisce entrambe le eccezioni ArgumentException e SqlException. Prestare attenzione nel prevedere le eccezioni, inclusa l'eccezione SqlException, quando si utilizzano le classi e i metodi nel modello a oggetti Operations.
Nota
Molti metodi Operations richiedono l'accesso al database. Prevedere le eccezioni generate da questi metodi e gestirle in modo appropriato.
Recupero di tutti i messaggi attivi
Il modello a oggetti Operations semplifica lo scorrimento su tutti i messaggi attivi disponibili, come illustrato nel frammento di codice seguente:
BizTalkOperations _operations = new BizTalkOperations()
IEnumerable messages = _operations.GetMessages();
foreach (BizTalkMessage msg in messages)
…
Il programma OperationsSamples esegue un ulteriore passaggio illustrando come accedere alle informazioni relative a ciascun messaggio, fra cui ID messaggio e tipo di messaggio, oltre che al numero e ai tipi di parti messaggio. È possibile modificare il codice e utilizzarlo in scenari in cui è necessario scorrere molti o tutti i messaggi attivi disponibili in BizTalk Server.
Nota
Potrebbero essere presenti centinaia o migliaia di messaggi disponibili. L'analisi dell'intero elenco potrebbe influire negativamente sulle prestazioni.
Percorso dell'esempio
L'esempio è disponibile nel seguente percorso dell'SDK:
<Percorso esempi>\Amministrazione\OperationsOM\OperationsSamples\
Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.
File | Descrizione |
---|---|
BamManagementService.cs | Classe proxy Web per il servizio Web BAM. |
Cleanup.bat | Rimuove l'orchestrazione di esempio e ripristina lo stato originale dell'esempio HelloWorld. |
HelloOrchestration.btt | Profilo di rilevamento utilizzato per eseguire il mapping delle attività di origine eventi di BizTalk alle attività di destinazione BAM. |
HelloOrchestration.xls | Foglio di stile di definizione BAM. |
OperationsSamples.cs | File di origine C# contenente il codice che illustra diversi aspetti del modello oggetti Operations. |
OperationsSamples.csproj, OperationsSamples.sln, AssemblyInfo.cs | File di informazioni di progetto, soluzione e assembly per questo esempio. |
Setup.bat | Viene utilizzato per compilare e inizializzare l'esempio mediante la modifica dell'esempio di orchestrazione HelloWorld. Installa un'orchestrazione di esempio, distribuisce una definizione di attività BAM e il file dell'Editor profili di rilevamento, configura le porte e rilascia un file di esempio nell'indirizzo di ricezione. |
Modalità di utilizzo dell'esempio
Utilizzare questo esempio per esplorare le funzionalità disponibili nel modello a oggetti Operations. Modificare le routine esistenti per trovare e utilizzare i messaggi in modo diverso o aggiungere nuovo codice che replichi porzioni dell'HUB gruppo nella Console di amministrazione BizTalk Server.
È inoltre possibile eseguire alcune delle attività seguenti:
Scrivere un'applicazione in grado di replicare il subset più utilizzato dell'Hub gruppo in un'applicazione personalizzata.
Scrivere un'applicazione di provisioning personalizzata in grado di creare le porte e inviare un messaggio di test per i partner commerciali.
Modificare il programma di esempio in un'utilità della riga di comando in grado di fornire informazioni relative a un singolo ordine di acquisto o a un intervallo di ordini di acquisto su schermo, in un file XML o in un report di testo.
Installazione dei file di supporto dell'esempio
In questa sezione vengono illustrate le procedure necessarie per installare ed eseguire l'esempio.
Nota
Prima di installare e di eseguire questo esempio è necessario verificare che BAM sia stato installato e che funzioni correttamente. Se BAM non è installato, l'esempio non funziona.
Compilare e installare i file di supporto per questo esempio
In una finestra di comando passare alla seguente cartella:
<Samples Path>\Admin\OperationsOM\OperationSamples
Eseguire Setup.bat. Verranno eseguite le operazioni seguenti:
Creazione delle directory di trasmissione e ricezione
Creazione e avvio delle porte di trasmissione e di ricezione
Compila e distribuisce l'orchestrazione HelloWorld nella
<Samples Path>
cartella \Orchestrations\HelloWorld.Modifica del token di chiave pubblica per l'orchestrazione HelloWorld
Distribuzione della definizione di attività BAM e del file dell'Editor profili di rilevamento
Ridenominazione della directory di uscita
Nota
Per interrompere l'installazione, premere CTRL+C al primo prompt in cui viene richiesto di premere un tasto qualsiasi per continuare. Questa operazione consente di arrestare lo script e lasciare l'esempio HelloWorld nello stato originale. Se si preme CTRL+C al secondo e ultimo prompt, l'installazione non viene arrestata. In tal caso, eseguire il file Cleanup.bat per disinstallare l'esempio OperationsOM e ripristinare l'esempio HelloWorld.
Esecuzione dell'esempio
Utilizzare la procedura seguente per eseguire l'esempio OperationsOM.
Compilare ed eseguire l'esempio
Fare clic su Start, selezionare Tutti i programmi, selezionare Microsoft BizTalk Server e quindi BizTalk Server Amministrazione.
Nella console di amministrazione di BizTalk Server espandere BizTalk Server Amministrazione, espandere Gruppo BizTalk, espandere Impostazioni piattaforma e quindi Istanze host.
Fare clic con il pulsante destro del mouse su BizTalkServerApplication e quindi scegliere Riavvia.
Nota
Potrebbe essere necessario riavviare l'istanza host di BizTalkServerApplication per impostare il database di lavoro corretto per BAM se l'istanza host non è stata riavviata dopo la configurazione del prodotto.
In Esplora risorse passare alla cartella seguente:
<Samples Path>\Admin\OperationsOM\OperationSamples
Fare doppio clic sul file di progetto OperationsOM.sln per caricarlo in Visual Studio.
Premere F5 per eseguire l'esempio.
-OPPURE-
Nel menu Compila fare clic su Ricompila soluzione. Al termine della compilazione, usare Esplora risorse per passare a
<Samples Path>\Admin\OperationsOM\OperationSamples\bin\Debug,
e quindi fare doppio clic suOperationsSamples.exe.
Classi o metodi utilizzati nell'esempio
- Microsoft.BizTalk.Operations.BizTalkOperations
- Microsoft.BizTalk.Operations.MessageFlow
- Microsoft.BizTalk.Operations.SendPortInstance
- Microsoft.BizTalk.Operations.RoutingFailureInstance
- Microsoft.BizTalk.Operations.OrchestrationInstance
- Microsoft.BizTalk.Operations.MSMQtInstance
- Microsoft.BizTalk.Operations.TrackedServiceInstance