Condividi tramite


Monitoraggio attività di business (BAM)

Nella figura seguente viene illustrata l'architettura per la funzionalità Monitoraggio attività di business (BAM).

Immagine che mostra l'architettura per la funzionalità BAM (Business Activity Monitoring).

Strumenti

È possibile utilizzare gli strumenti seguenti per progettare, sviluppare e distribuire le soluzioni BizTalk che si integrano con BAM.

  • Microsoft Excel. Il componente aggiuntivo BAM per Excel offre un'interfaccia utente che guida gli analisti aziendali durante la creazione di attività e visualizzazioni. Excel funge sia da strumento di progettazione per gli analisti aziendali sia da strumento per l'utilizzo dei dati per gli utenti aziendali. Per altre informazioni sulla Add-In BAM per Excel, vedere Requisiti per l'uso del Add-In BAM per Excel.

  • Utilità di gestione BAM. L'utilità di gestione BAM è uno strumento di distribuzione che consente di distribuire all'interno dell'azienda le definizioni BAM create in Excel. L'utilità di gestione BAM crea i database necessari di SQL Server, i cubi di Analysis Services, i database di SQL Notification Services e le attività DTS o SSIS, in base alla versione di SQL Server installata. Per altre informazioni su BAM Manager, vedere Utilità di gestione BAM.

  • Editor profilo di rilevamento. Editor profili di rilevamento consente agli sviluppatori BizTalk di eseguire il mapping degli elementi di dati definiti dai business analyst nell'implementazione BizTalk, incluse Orchestrazioni e Messaggistica. Per altre informazioni sull'editor del profilo di rilevamento, vedere Editor profilo di rilevamento.

  • Utilità di distribuzione del profilo di rilevamento. L'utilità di distribuzione del profilo di rilevamento consente ai professionisti IT di distribuire profili di rilevamento sia nuovi che aggiornati all'infrastruttura BAM. Per altre informazioni sullo strumento Di distribuzione del profilo di rilevamento, vedere Utilità di distribuzione del profilo di rilevamento.

Presentazione

Il livello di presentazione è costituito dagli elementi seguenti:

  • Portale BAM. Il portale BAM in Microsoft BizTalk Server offre visibilità end-to-end in tempo reale in un processo aziendale. Si tratta di una funzionalità basata sul Web costituita da una raccolta di pagine ASP.NET. È possibile personalizzare BAM per migliorare le prestazioni e l'esperienza degli utenti. Per altre informazioni sul portale BAM, vedere Portale BAM.

  • Microsoft Excel. Il componente aggiuntivo BAM per Excel offre un'interfaccia utente che guida gli analisti aziendali durante la creazione di attività e visualizzazioni. Excel funge sia da strumento di progettazione per gli analisti aziendali sia da strumento per l'utilizzo dei dati per gli utenti aziendali. Per altre informazioni sulla Add-In BAM per Excel, vedere Requisiti per l'uso del Add-In BAM per Excel.

  • Interfaccia utente personalizzata. I fornitori di software indipendenti (ISV, Independent Software Vendor) e gli sviluppatori possono creare applicazioni personalizzate che consentono di visualizzare i dati BAM

Elaborazione in corso

Il livello di elaborazione è composto dagli elementi seguenti:

  • Servizio Web di gestione BAM. Questo servizio Web è utilizzato dall'applicazione Portale BAM per comunicare con le tabelle di importazione primarie BAM (PIT, Primary Import Tables). Le comunicazioni con il database hanno luogo tramite credenziali rappresentate memorizzate nel Registro di sistema creato durante la configurazione. I metodi esposti da questo servizio Web possono essere utilizzati da client personalizzati per ottenere visualizzazioni e relativi dettagli, attività correlate e layout di tabella pivot per qualsiasi utente. Possono inoltre essere utilizzati per gestire avvisi nel database.

  • Bus di eventi . Il servizio bus di eventi BAM elabora i dati di rilevamento (flussi) archiviati in un database di origine e li rende persistenti nel database di destinazione in formato tabella di query.

  • Servizi di notifica SQL. SQL Notification Services valuta gli avvisi BAM istanza e aggregazione definiti dall'utente di business.

    Nella figura seguente vengono illustrati i processi fisici sottostanti per l'architettura BAM.

    Immagine che mostra i processi fisici sottostanti per l'architettura BAM.

Ottimizzazione della fase di progettazione

Nella figura seguente viene illustrata l'ottimizzazione della fase di progettazione.

Immagine che mostra l'esperienza di progettazione.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. Nell'Editor profili di rilevamento si presume che BizTalk Server sia stato configurato, che sia già stata distribuita almeno una definizione BAM (utilizzando BM.exe) e che sia stata creata l'infrastruttura, compreso il database di importazione primaria. Nell'Editor profili di rilevamento viene utilizzata una chiave del Registro di sistema impostata durante la configurazione di BizTalk per determinare l'ubicazione del database di gestione.

    1. BAM enumera le attività all'interno del database di importazione primaria non appena viene rilevato. Gli sviluppatori BizTalk selezionano le attività distribuite che vengono estratte dal database di importazione primaria BAM.

    2. Lo sviluppatore BizTalk esegue il mapping a un'implementazione fisica esplorando gli assembly distribuiti recuperati dal database di gestione BizTalk.

    3. Dopo che lo sviluppatore ha eseguito il mapping visivo agli elementi di BizTalk, i metadati vengono inviati al runtime di BizTalk Server per la raccolta e la memorizzazione dei dati. Questo processo avviene tramite annotazioni (per le informazioni di messaggistica utilizzate per la decodifica dei dati raccolti) e il profilo di rilevamento (utilizzato per recuperare i dati di runtime).

  2. Microsoft Excel è utilizzato sia come strumento al momento della progettazione che come strumento di presentazione o utilizzo dei dati. Le funzionalità Excel in fase di progettazione consentono agli utenti di realizzare una definizione BAM creando attività e visualizzazioni BAM. Consentono inoltre di creare controlli pivot e grafici visualizzati infine nel portale BAM.

Distribuzione

Esistono due categorie di distribuzione

  • Generazione dell'infrastruttura dinamica

  • Strumentazione del runtime per la raccolta di dati.

    Nella figura seguente viene illustrata la distribuzione BAM.

    Immagine che mostra la distribuzione BAM.

    Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. L'utilità di gestione BAM è utilizzata per generare l'infrastruttura dinamica. Tramite la definizione BAM o una cartella di lavoro in fase di progettazione, oltre al file di configurazione BAM XML, l'utilità di gestione BAM consente di generare tutti i database necessari e le attività DTS o SSIS corrispondenti richieste per il funzionamento del sistema.

    1. Vengono costruiti il database di importazione primaria BAM e tutte le stored procedure di supporto, i trigger e le attività DTS o SSIS.

    2. Il database di archiviazione BAM viene definito, ma non creato, fino all'esecuzione dell'attività DTS o SSIS di archiviazione.

    3. Il database con schema a stella BAM se sono state definite aggregazioni OLAP BAM. È possibile determinare se le aggregazioni sono state definite se il pulsante Aggregazione in tempo reale nel foglio di calcolo di Excel è disabilitato o createOlapCube è impostato su true nella definizione BAM e il file XML di configurazione ha un'unità di distribuzione per AnalysisDatabase.

    4. Affinché venga creato un cubo OLAP BAM, i file di definizione BAM e di configurazione XML devono avere un'aggregazione definita che non sia un RTA.

    5. La visualizzazione esplosa del processo di Gestione BAM mostra che viene chiamato il processo Notification Services (nscontrol.exe) per creare i database SQL NS.

  2. L'interfaccia utente Editor profili di rilevamento dispone di un comando di distribuzione che instrumenta il runtime per tenere traccia e decodificare i dati dai sistemi runtime. In questo caso esegue il push di annotazioni nel database di importazione primaria BAM (se i dati vengono estratti dal sistema di messaggistica). Un profilo di rilevamento viene inserito nel database di gestione BizTalk che è utilizzato da Runtime BizTalk per determinare i dati da pubblicare nel sistema BAM.

  3. Lo strumento di distribuzione da riga di comando di rilevamento BizTalk consente di pubblicare i profili di rilevamento nel database di importazione primaria BAM e nel database di gestione, in modo simile a quanto eseguito da Editor profili di rilevamento. Lo strumento da riga di comando non supporta tuttavia funzionalità di mapping.

Uso dei dati

L'utilizzo dei dati si riferisce al processo in cui un utente di business utilizza le informazioni raccolte dall'infrastruttura BAM. A questo punto si presume che la definizione BAM sia stata creata (definendo quali dati raccogliere e come visualizzarli), che sia stata distribuita (creando dinamicamente l'infrastruttura) e che sia stata mappata all'implementazione fisica (definendo il punto in cui raccogliere i dati e, in alcuni casi, scrivendo il codice da inserire nel sistema).

Nella figura seguente viene illustrato il processo di utilizzo dei dati.

Immagine che mostra il processo di utilizzo dei dati.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. Il portale BAM è suddiviso in due processi, Internet Explorer e il processo del portale Web BAM ospitato in Internet Information Services.

    1. In Internet Explorer viene utilizzato il contesto di sicurezza dell'utente di business che si connette al sito Web del portale BAM. Il sito Web del portale BAM è un'applicazione ASPX che utilizza il servizio Web di gestione BAM per raccogliere le informazioni.

    2. Il portale BAM chiama il servizio Web di gestione BAM per recuperare informazioni quali attività/visualizzazioni BAM che possono essere visualizzate da un particolare utente di business. È di fondamentale importanza che il servizio Web di gestione BAM sia in grado di rappresentare l'utente di business, pertanto in una distribuzione tipica il portale BAM e il servizio Web sono ospitati nello stesso computer.

      Nota

      Se l'azienda supporta Kerberos e Active Directory è impostato per supportare la delega, il portale e il servizio Web potrebbero trovarsi in computer diversi.

    3. Il servizio Web chiama le stored procedure nell'importazione primaria BAM per eseguire controlli di protezione, recuperare metadati e informazioni sulle aggregazioni in tempo reale BAM.

      Nota

      Attualmente il portale BAM usa un servizio Web non documentato denominato servizio Web query. Tale servizio non è supportato e, molto probabilmente, verrà dichiarato obsoleto nella prossima versione.

    4. In Internet Explorer è ospitato Office Web Controls (OWC) che consente di stabilire connessioni dirette con i cubi di Analysis Services BAM.

  2. Excel

Runtime

Dopo che è stata definita la definizione BAM, che è stata realizzata l'infrastruttura e che lo sviluppatore ha instrumentato i sistemi necessari per consentire la visibilità, i dati possono iniziare circolare nel sistema.

Inserimento dati

Uno dei modi radice in cui i dati circolano nel sistema BAM è tramite il servizio BizTalk (BTSNTSvc.exe). Il servizio BizTalk è strutturato in modo da poter contenere sottosistemi logici.

La figura seguente illustra questo processo.

Immagine che mostra il flusso di inserimento dei dati nel sistema BAM.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. Un sottosistema ospita il motore di BizTalk Server. Il motore è responsabile dell'esecuzione delle orchestrazioni e della messaggistica.

  2. Un altro sottosistema è costituito dal servizio bus di eventi. Il servizio bus di eventi è responsabile della scrittura di dati dei flussi di eventi nel buffer nel database di importazione primaria BAM.

Avvio del runtime

All'avvio del servizio BizTalk, ogni sottosistema carica i metadati necessari per il funzionamento dei sottosistemi.

La figura seguente illustra questo processo.

Immagine che mostra come il sottosistema carica i metadati necessari per il funzionamento dei sottosistemi.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. Quando il motore di BizTalk è in esecuzione (orchestrazioni o messaggistica), chiama degli intercettori che regolano il flusso dei dati dal motore in BAM. Quando il motore chiama l'intercettore, quest'ultimo analizza il punto in cui si trova il motore in relazione all'ordine di esecuzione per gli elementi di orchestrazione o messaggistica. Se è necessario recuperare dei dati dalla posizione in cui il motore è attualmente in esecuzione, l'intercettore raccoglie i dati appropriati. I metadati che determinano dove è necessario acquisire i dati e quali dati acquisire si trovano nel profilo di rilevamento. Durante l'avvio del servizio BizTalk, gli intercettori del motore contatteranno il database di gestione BizTalk per estrarre il profilo di rilevamento appropriato per gli elementi in esecuzione.

  2. La funzione primaria del servizio bus di eventi è utilizzata per convertire blob di dati (scritti dal motore di BizTalk) in elementi dati utilizzabili e inserire i dati nel database di importazione primaria BAM. L'intercettore di messaggistica scrive i dati non elaborati in forma compressa, al fine di evitare un working set di grandi dimensioni. Affinché il servizio bus di eventi converta i dati di messaggistica in elementi dati utilizzabili, deve prima caricare i metadati in grado di interpretare i dati non elaborati. Questi metadati sono noti come annotazioni. I metadati di annotazione sono stati inseriti qui tramite l'Editor profili di rilevamento o lo strumento da riga di comando di distribuzione del profilo di rilevamento. Se la soluzione distribuita non consente il recupero dei dati dalla messaggistica non vi sarà alcuna annotazione. Gli intercettori di orchestrazione codificano informazioni sufficienti nella forma non elaborata affinché il servizio bus di eventi esegua correttamente la decodifica senza avere ulteriori annotazioni.

Archiviazione di dati

In questa sezione viene illustrata l'acquisizione dei dati dal servizio BizTalk.

La figura seguente illustra questo processo.

Immagine che mostra come vengono acquisiti i dati dal servizio BizTalk.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. Il motore BizTalk, come descritto in precedenza, ha degli intercettori che vengono chiamati durante l'esecuzione runtime delle soluzioni di messaggistica e orchestrazioni. Gli intercettori, basati sulle informazioni del profilo di rilevamento, determineranno quali dati acquisire e quando inviarli a MessageBox BizTalk in formato binario. I dati blob serializzati acquisiti durante il runtime vengono conservati in una tabella TrackingData. Durante l'elaborazione, talvolta il motore ha la necessità di memorizzare i dati conservati in memoria durante l'esecuzione. Questi sono conosciuti come punti di persistenza ed è il motore a decidere quando si verificano. Quando si verifica un punto di persistenza, i dati acquisiti dagli intercettori vengono anche scaricati e resi persistenti durante la stessa transazione. Ciò assicura la coerenza dei dati nel motore e quanto può essere rilevato da BAM. Se si verifica un errore e viene eseguito il rollback della transazione, anche i dati BAM associati verranno sottoposti a rollback.

  2. Il servizio bus di eventi si trova nello stesso processo eseguibile del motore. Il servizio alimenta i dati nella tabella TrackingData memorizzata dal motore BTS o qualsiasi origine dati BufferedEventStream. L'immagine illustra un assembly: Microsoft.BizTalk.Bam.EventObservation. Questo assembly non espone un metodo di recupero dei dati da BufferedEventStream. Questo codice è ospitato nel servizio bus di eventi stesso. I dati vengono recuperati e quindi preparati per essere memorizzati nel database di importazione primaria. I dati binari sono per lo più oggetti .NET serializzati che vengono reidratati, dopo di che le proprietà vengono trasferite dall'oggetto in istruzioni SQL formattate.

  3. Quando ha luogo la memorizzazione dei dati, il servizio bus di eventi tenta un batch di grandi dimensioni. Il batch contiene le chiamate alle stored procedure generate dallo strumento di distribuzione Gestione BAM. A causa dell'elevata attività del database o di altre circostanze di blocco di tabelle, la memorizzazione del batch potrebbe non riuscire. In questo caso, il batch viene tentato altre due volte. Se anche questi tentativi falliscono, prima di ritentare di nuovo il batch viene suddiviso in batch più piccoli. Se la memorizzazione non riesce nemmeno ora, il batch viene spostato nella tabella FailedTracking.

Inserimento di dati personalizzati

Nella sezione precedente è stato illustrato dettagliatamente come BAM recupera i dati dall'host BizTalk Server utilizzando molti metodi diversi. Indirettamente utilizzando l'Editor profili di rilevamento per creare un profilo e più direttamente utilizzando i metodi flusso di eventi direttamente all'interno del codice. Non tutti i dati pertinenti per BAM sono tuttavia disponibili in BizTalk. È pertanto disponibile un assembly per applicazioni scritte personalizzate.

La figura seguente illustra questo processo.

Immagine che mostra il processo per l'inserimento di dati personalizzati.

Nella seguente procedura viene descritta la sequenza illustrata nella figura sopra.

  1. L'applicazione personalizzata deve essere in grado di caricare l'assembly Microsoft.BizTalk.Bam.EventObservation per accedere ai metodi BAM di inserimento dei dati in un'attività BAM. Esistono due classi primarie esposte, DirectEventStream e BufferedEventStream. Nella figura sopra, è evidenziata la classe DirectEventStream. Questa classe scrive direttamente nel database di importazione primaria. Questo è il metodo più comune di scrivere dati in un'attività BAM.

  2. Analogamente al metodo in cui BizTalk memorizza i dati, la classe BufferedEventStream scrive i blob binari in un database indiretto. In questo caso, come archiviazione intermedia viene utilizzato MessageBox BizTalk. La classe scelta dipende da diversi fattori, ma l'elemento decisivo è rappresentato dalle prestazioni. La classe BufferedEventStream eseguirà il batch dei dati e sosterrà una velocità effettiva superiore. Lo svantaggio è che i dati non vengono scritti immediatamente.

  3. Come nel caso del metodo di inserimento dei dati di BizTalk, il servizio bus di eventi elaborerà i dati binari, li decodificherà e infine li memorizzerà nel database di importazione primaria BAM. Tale processo è richiesto solo per i dati scritti tramite la classe BufferedEventStream.

Navigazione distribuita

La funzionalità di navigazione distribuita del portale BAM consente agli utenti di vedere le relazioni dell'attività oltre i limiti remoti.

Vedere anche

Architettura di gestione e rilevamento