Condividi tramite


Database MessageBox

In Microsoft BizTalk Server il cuore del motore di pubblicazione/sottoscrizione è rappresentato dal database MessageBox. MessageBox è costituito da due componenti: uno o più database microsoft SQL Server e l'agente di messaggistica. Il database di SQL Server fornisce l'archivio di persistenza per più operazioni che includono messaggi, parti del messaggio, proprietà messaggio, sottoscrizioni, stato dell'orchestrazione, dati di rilevamento e code host per il routing e altre ancora. Il gruppo di BizTalk Server può avere uno o più database MessageBox in cui pubblica i messaggi e da cui i sottoscrittori a quei messaggi estraggono i messaggi.

Il database fornisce parte della logica correlata al routing dei messaggi e all'evasione delle sottoscrizioni. L'agente messaggi, tuttavia, è il componente che incorpora e riassume il componente database ed è l'interfaccia utilizzata da BizTalk Server per interagire con MessageBox. L'agente messaggi è un componente COM (Component Object Model) che fornisce interfacce per la pubblicazione di messaggi, la sottoscrizione a messaggi, il recupero di messaggi e così via. Questa interfaccia è l'unico meccanismo utilizzato da altri componenti di BizTalk Server, incluso il framework degli adapter e le orchestrazioni, per interagire con MessageBox.

MessageBox e il messaggio

Una sottoscrizione al database MessageBox è un insieme di informazioni stabilite e di informazioni sul servizio. Le informazioni stabilite (o predicato) costituiscono i criteri che un messaggio deve soddisfare. Le informazioni sul servizio sono le informazioni su cosa fare con il messaggio che soddisfa i criteri. Tutte queste informazioni sono memorizzate in un set di tabelle che chiamano il motore di messaggistica e orchestrazione.

Quando BizTalk Server riceve un messaggio, lo elabora in una pipeline e lo inserisce nel database MessageBox. Il messaggio in arrivo ha un contesto. Il contesto del messaggio è un set di proprietà associate al messaggio. Di seguito sono riportati i tre tipi di proprietà del contesto del messaggio:

  • Proprietà semplici scritte

  • Proprietà innalzate di livello

  • Proprietà predicato

    Le proprietà dei messaggi innalzate di livello e quelle predicato indicano il processo di business che sottoscrive questo messaggio e se il processo di business dispone delle autorizzazioni necessarie per ricevere il messaggio.

    Se un processo di business sottoscrive il messaggio, il database MessageBox invia il messaggio al processo di business. Quando il processo di business riceve il messaggio, lo elabora in un'istanza host disponibile. Dopo l'elaborazione del messaggio, se il processo di business sottoscrive una pipeline o una porta di trasmissione, invia un messaggio restituito al database MessageBox.

    Per ogni host BizTalk, il MessageBox associato dispone di coda di un lavoro e di una coda sospesa. Ogni database MessageBox include inoltre un set di tabelle per gli stati statici, per gli stati dinamici e per lo stato dell'istanza. Per informazioni sugli host BizTalk, vedere Entità.

Importante

Se un host diventa non disponibile, ad esempio diventa non disponibile il database MessageBox che riceve i messaggi da quell'host, diventano non disponibili tutti gli altri database MessageBox.

Il primo database MessageBox viene creato all'esecuzione della Configurazione guidata. Il database MessageBox configurato diventa il database MessageBox master. Il database MessageBox master valuta e instrada le sottoscrizioni a tutti gli altri database MessageBox nell'ambiente BizTalk Server. Per informazioni sul miglioramento delle prestazioni per il database master MessageBox, vedere Gestione dei database MessageBox.

Importante

È necessario utilizzare il clustering di SQL Server per fornire la protezione dal failover per i database MessageBox.

Messaggi sospesi nel database MessageBox

In BizTalk Server sono memorizzati i messaggi associati alle pipeline sospese nel database MessageBox. Se si verifica un errore nella pipeline, BizTalk Server sospende l'istanza di un messaggio. Esistono due tipi di istanze del servizio sospese:

  • Istanze sospese che possono essere ripristinate.

  • Istanze sospese che non possono essere ripristinate. Se, ad esempio, un'istanza è danneggiata.

    La possibilità di riprendere i servizi sospesi da BizTalk Server dipende dalla causa della sospensione. Se ad esempio un'orchestrazione utilizza una forma Sospendi o se un trasporto non è riuscito a recapitare un messaggio, le istanze sospese che non possono essere riprese dal database MessageBox non vengono rimosse automaticamente. È possibile scegliere di salvare un'istanza del servizio su disco prima di rimuoverla dalla coda degli elementi sospesi.

    Per informazioni sul backup dei database MessageBox, vedere Backup e ripristino di database BizTalk Server.

Vedere anche

Motore di messaggistica