Separazione del tipo di trasporto e dell'elaborazione
In una soluzione orientata ai servizi, esiste spesso una netta linea di demarcazione tra l'elaborazione per scopi di business e le specifiche relative alla trasmissione e alla ricezione dei messaggi. In tal modo è possibile modificare in modo indipendente il processo di business o la parte della soluzione relativa alla messaggistica.
La soluzione orientata ai servizi in un caso non rispetta questo principio di progettazione. In questa sezione vengono descritte la situazione, le alternative possibili e la struttura selezionata.
Correlazione e adapter MQSeries
Per utilizzare l'adapter MQSeries, non è possibile utilizzare gli identificatori di correlazione standard di BizTalk Server, perché l'identificatore di correlazione passa a un sistema back-end IBM che dispone del proprio sistema di identificatori di correlazione. È invece necessario usare le proprietà MQSeries.MQMD_CorrelId e MQSeries.MQMD_MsgID . L'utilizzo di queste proprietà consente, se necessario, di inserire le informazioni specifiche del trasporto nell'orchestrazione e dunque nel processo di business.
Per gestire questa dipendenza, è possibile utilizzare l'identificatore di correlazione di BizTalk Server e un componente pipeline personalizzato per convertire l'identificatore di correlazione per MQSeries, ma in questo modo lo scenario diventa più complesso. Inoltre, se cambia il trasporto, è necessario modificare due componenti pipeline. Infine, la dipendenza viene trasferita (al componente pipeline), ma non risolta.
Un'altra possibilità consiste nell'isolare la gestione della correlazione specifica di MQSeries in un'orchestrazione separata e nel chiamare tale orchestrazione. In questo modo viene mantenuta l'indipendenza del processo di business, ma al contempo viene introdotta una dipendenza della fase di compilazione tra le orchestrazioni. La modifica del trasporto richiede la ricompilazione di entrambe le orchestrazioni (come, ad esempio, nel passaggio dalla versione stub alla versione adapter della soluzione). La chiamata si aggiunge inoltre ai tempi di risposta della soluzione.
Viste la maggiore complessità e la possibile riduzione delle prestazioni, è sembrato molto più semplice utilizzare la correlazione MQSeries direttamente nell'orchestrazione.
Per altre informazioni sull'adattatore e sulle correlazioni nelle orchestrazioni, vedere MQSCorrelationSetOrchestration (BizTalk Server Sample).
Vedere anche
Implementazione della soluzione orientata ai servizi
MQSCorrelationSetOrchestration (esempio di BizTalk Server)