mensajería de Request-Response
En un patrón de mensajería de solicitud-respuesta, una parte envía un mensaje de solicitud y la parte receptora devuelve un mensaje de respuesta. Dos ejemplos típicos del procesamiento de solicitud-respuesta son la interacción que tiene un explorador con un servidor Web que usa el adaptador de HTTP y el procesamiento de servicios Web que usan el adaptador de protocolo de acceso simple a objetos (SOAP). En BizTalk Server, tanto la solicitud como los mensajes de respuesta se controlan de forma típica de publicación y suscripción. Ésta es una consideración importante para comprender el ajuste de rendimiento de una aplicación de BizTalk, porque es posible que un sistema que requiera un alto rendimiento deba configurarse de forma diferente a otro que requiera baja latencia para mensajes individuales.
Cuando un adaptador de recepción de tipo solicitud-respuesta recibe un mensaje, BizTalk Server publica primero el mensaje de solicitud en la base de datos de cuadro de mensajes. A continuación, el suscriptor adecuado recibe este mensaje, que es probablemente una orquestación enlazada a un puerto de recepción. Este suscriptor formula un mensaje de respuesta y lo publica en la base de datos de cuadro de mensajes junto con las propiedades que causan que se devuelva al puerto de recepción del que llegó la solicitud. Por último, el editor de la solicitud (el adaptador de recepción que envió la solicitud) recoge el mensaje de respuesta y lo devuelve a la aplicación que realiza la llamada. El diagrama siguiente muestra una representación gráfica detallada de estos pasos.
Flujo de mensaje de solicitud-respuesta recibido por el adaptador de SOAP
El adaptador de SOAP envía mensajes al Gestor extremo.
El Gestor extremo publica el mensaje en el cuadro de mensajes.
La orquestación, que está enlazada al puerto de recepción y que, por lo tanto, tiene una suscripción para el mensaje, lo recibe y lo procesa.
La orquestación envía un mensaje de respuesta que se publica en el cuadro de mensajes.
El Gestor extremo recibe el mensaje de respuesta.
El Gestor extremo devuelve la respuesta al adaptador de SOAP
Las implicaciones de este tipo de comportamiento en el rendimiento pueden no verse claramente si no se entiende la implementación interna. BizTalk Server se optimiza inicialmente para escenarios de alto rendimiento, pero también se puede configurar para un entorno de menor rendimiento y que necesite latencia más baja, especialmente en escenarios de solicitud-respuesta. Debe tener en cuenta varios componentes que hay que optimizar en este escenario. En primer lugar, los suscriptores obtienen información acerca de los mensajes publicados mediante un mecanismo de sondeo. Si el intervalo de sondeo se establece demasiado alto, podría ocurrir que las interacciones de tipo solicitud-respuesta tuvieran una latencia más elevada de la deseada.
Tenga en cuenta que, en este escenario, hay dos suscripciones que se van a rellenar: la suscripción del mensaje inicial, así como la del mensaje de respuesta, y esto aumenta el impacto de este intervalo de sondeo. En segundo lugar, los adaptadores de recepción están configurados para insertar mensajes en el cuadro de mensajes por lotes de varios tamaños. La mayoría de adaptadores permiten configurar el tamaño de los lotes mediante la interfaz típica de configuración del adaptador o mediante parámetros en BizTalk Server o en el Registro. Si el tamaño del lote se establece demasiado alto, la latencia para mensajes individuales puede verse aumentada. Para obtener más información sobre las características de rendimiento de BizTalk Server, vea Planning for Sustained Performance.