Separar tipo de transporte y procesamiento
En una solución orientada a servicios, existe a menudo una línea que delimita claramente el procesamiento empresarial y los detalles de la transmisión y recepción de mensajes. Esto le permite cambiar por separado el proceso empresarial o la parte de mensajería de la solución.
La solución orientada a servicios infringe este principio de diseño en un lugar. En esta sección se describen la situación, las alternativas posibles y la estructura seleccionada.
Correlación y adaptador de MQSeries
Para utilizar el adaptador de MQSeries, no puede utilizar los identificadores de correlación estándar de servidor BizTalk Server. Ello se debe a que el identificador de correlación va a un sistema de servidor IBM que tiene su propio sistema de identificadores de correlación. En su lugar, debe usar las propiedades MQSeries.MQMD_CorrelId y MQSeries.MQMD_MsgID . Al utilizar estas propiedades, puede incluir información específica de transporte en la orquestación y, por tanto, en el proceso empresarial.
Una forma de controlar esta dependencia sería utilizar el identificador de correlación del servidor BizTalk Server y utilizar un componente de canalización personalizado para traducir el identificador de correlación para MQSeries. Esto agrega complejidad al escenario. Además, si cambia el transporte, se deben cambiar dos componentes de canalización. Y, en última instancia, reubica la dependencia (en el componente de canalización) en vez de resolverla.
Otra opción sería aislar el control de la correlación específica de MQSeries en una orquestación independiente y llamar a esa orquestación. Esto conservaría la independencia del proceso empresarial. Sin embargo, esto incluye una dependencia en tiempo de compilación entre las orquestaciones. Modificar el transporte requiere volver a compilar ambas orquestaciones (como, por ejemplo, al pasar del código auxiliar a la versión del adaptador de la solución). La llamada también agrega a la respuesta tiempo para la solución.
Dadas la complejidad adicional y la posible disminución del rendimiento, parece que lo más fácil es utilizar la correlación de MQSeries directamente en la orquestación.
Para obtener más información sobre el adaptador y las correlaciones en orquestaciones, vea MQSCorrelationSetOrchestration (BizTalk Server Sample).
Consulte también
Aspectos destacados de la implementación de la solución orientada a servicios
MQSCorrelationSetOrchestration (ejemplo de BizTalk Server)