Componenti della soluzione orientata ai servizi

In questa sezione vengono descritti i principali componenti BizTalk Server della soluzione orientata ai servizi, illustrati nella figura seguente:

Diagramma di flusso della soluzione orientata ai servizi

Nella soluzione orientata ai servizi sono disponibili tre versioni delle orchestrazioni:

  • Una versione in cui è stato eseguito lo stub delle tre applicazioni back-end

  • Una versione in cui sono tutte e tre le applicazioni back-end vengono richiamate inline

  • Una versione che utilizza gli adapter per la connessione alle applicazioni.

    Tutte le versioni delle orchestrazioni sono disponibili nella directory SDK\Scenarios\SO\BTSSoln\Orchestrations.

    La versione inline delle orchestrazioni offre il tempo di latenza più basso tra richieste e risposte all'interno della soluzione.

    Per informazioni sui file di origine, vedere Inventario file per la soluzione orientata ai servizi.

Orchestrazioni nella soluzione orientata ai servizi

Tre orchestrazioni, CustomerServiceReceiveSend, CustomerServiceNativeRequestResponse e CustomerService compongono la maggior parte della soluzione. Le orchestrazioni CustomerServiceReceiveSend e CustomerServiceNativeRequestResponse fungono da front-end che chiamano l'orchestrazione CustomerService . L'orchestrazione CustomerService esegue la maggior parte del lavoro, inviando richieste alle applicazioni back-end, raccogliendo le risposte, combinando le risposte in un singolo messaggio e inviando il messaggio all'orchestrazione front-end appropriata. Poiché le orchestrazioni front-end chiamano l'orchestrazione CustomerService , le orchestrazioni front-end attendono il completamento dell'orchestrazione CustomerService .

La soluzione espone l'orchestrazione CustomerServiceNativeRequestResponse come servizio Web. L'orchestrazione CustomerServiceReceiveSend accetta messaggi da una coda MQSeries.

Applicazioni back-end

La soluzione orientata ai servizi comunica con tre applicazioni back-end:

  • L'applicazione PaymentTracker restituisce un elenco simulato di pagamenti recenti. PaymentTracker legge la richiesta da una coda MQSeries e invia la risposta a un'altra coda MQSeries.

  • L'applicazione PendingTransaction segnala la somma delle transazioni in sospeso rispetto all'account del cliente. L'applicazione è un servizio Web che, a sua volta, utilizza Microsoft Host Integration Server (HIS) per comunicare con un programma CICS/COBOL in un computer mainframe.

  • L'applicazione SAP fornisce informazioni sul limite di credito complessivo del cliente. La soluzione si connette all'applicazione SAP come servizio Web. L'applicazione usa l'adapter SAP in BizTalk Adapter Pack per comunicare con un sistema SAP.

Pipelines

La soluzione orientata ai servizi usa pipeline predefinite ad eccezione di due posizioni: la pipeline di ricezione per l'orchestrazione CustomerServiceReceiveSend e la pipeline di invio dell'orchestrazione CustomerService a PaymentTracker. Entrambe le pipeline utilizzano componenti personalizzati.

La pipeline di ricezione per CustomerServiceReceiveSend include un componente di risoluzione delle entità personalizzato, componente della pipeline dell'autorità di certificazione SSO Ticket. I messaggi ricevuti dall'orchestrazione CustomerServiceReceiveSend non dispongono di credenziali. analogamente a quanto accadrebbe se il messaggio provenisse da un sistema IVR (Interactive Voice Response). Il componente della pipeline personalizzato aggiunge le credenziali utilizzando l'account di servizio dell'host di ricezione BizTalk.

Al contrario, i messaggi ricevuti dall'orchestrazione CustomerSericeNativeRequestResponse hanno già le credenziali. Poiché la cartella virtuale per il servizio Web è configurata per la sicurezza integrata e l'indirizzo di ricezione SOAP è configurato per l'integrazione di Enterprise Single Sign-On (SSO), l'adapter SOAP genera un ticket per il messaggio.

L'altra pipeline personalizzata viene visualizzata nella pipeline di invio CustomerService all'applicazione PaymentTracker . Il componente MQSeries Header Setter Pipeline Component imposta i valori per due proprietà di intestazione dei messaggi MQSeries. Il componente imposta il primo, message data format (MQMD_Format), per indicare che il messaggio è sotto forma di struttura MQCIH , una struttura comunemente usata per comunicare con i programmi CICS. Il secondo, il formato dei dati stessi all'interno della struttura MQCIH (MQCIH_Format), viene impostato per mostrare che il messaggio è una stringa.

L'uso del formato MQCIH consente di passare l'ID utente e la password nella struttura MQCIH . Le applicazioni affiliate SSO eseguono il mapping dell'ID utente di Windows dell'applicazione BizTalk agli ID utente di Payment Tracking System passati nella struttura MQCIH .

Nota

La versione inline della soluzione utilizza le stesse pipeline chiamandole dall'orchestrazione, consentendo in tal modo di riutilizzare il codice della pipeline.

Applicazione client

La soluzione include un'applicazione client scritta in C#. L'applicazione può essere utilizzata per inviare richieste come messaggi SOAP o MQSeries ed esaminare i risultati.

Altri assembly

L'applicazione include diversi assembly ausiliari non presenti nella figura sopra riportata. Funzioni dell'utilità di assembly utilities per la soluzione.

L'assembly ErrorHelper contiene classi per convertire i codici di errore in messaggi e per convertire i messaggi di errore in codici di errore.

L'assembly ServiceLevelTracking include metodi helper che usano l'API BAM (Business Activity Monitoring) per tenere traccia dei dati del contratto di servizio.

L'assembly ConfigHelper contiene metodi helper per recuperare i valori di configurazione per la soluzione dall'applicazione SSOConfigStore .

Vedere anche

Sviluppo di una soluzione orientata ai servizi
Inventario file per la soluzione orientata ai servizi