Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
En esta sección se proporciona información general de la estructura de una aplicación de Service Broker, se muestran algunas de las estrategias más comunes para iniciar una aplicación que utiliza Service Broker y se describen los pasos básicos para recibir y procesar los mensajes.
La aplicación para un servicio iniciado usa la BEGIN DIALOG instrucción para especificar información sobre los servicios en cada punto de conexión y el contrato de servicio que usará la aplicación para comunicarse. La aplicación usa la SEND instrucción para enviar el primer mensaje de la conversación al servicio de destino. La aplicación debe estar preparada para recibir y procesar mensajes de Service Broker, incluso si el contrato no permite que el servicio de destino devuelva mensajes. La aplicación iniciadora se implementa a menudo como dos componentes independientes. Un componente comienza la conversación; el otro componente procesa los mensajes que llegan a la cola.
La aplicación para un servicio de destino recibe y procesa los mensajes del servicio iniciador. La aplicación también debe estar preparada para recibir y procesar los mensajes de Service Broker.
En función de las necesidades del servicio, la parte de la aplicación que procesa la cola se puede iniciar de varias maneras diferentes. Para obtener más información sobre cómo iniciar una aplicación que usa Service Broker, consulte Elegir una estrategia de inicio.
Sin embargo, la aplicación se inicia, la aplicación inicia una transacción y usa la RECEIVE instrucción para poner en cola un mensaje. La aplicación extrae los datos de los mensajes y realiza cualquier procesamiento necesario. Si es necesario, la aplicación usa la SEND instrucción para enviar mensajes al otro lado de la conversación. A continuación, la aplicación confirma la transacción. Para mejorar la eficacia, la aplicación podría procesar varios mensajes dentro de la misma transacción. Los servicios que mantienen el estado suelen usar la GET CONVERSATION GROUP instrucción para bloquear un grupo de conversaciones, recuperar el estado del grupo de conversación y, a continuación, procesar varios mensajes para el grupo de conversación.
La conversación continúa, usando SEND instrucciones y RECEIVE para transmitir mensajes entre los puntos de conexión. En cualquier momento, si es necesario, cualquiera de los participantes de la conversación puede usar BEGIN DIALOG para iniciar una conversación con otro servicio para obtener información adicional. Por ejemplo, una aplicación que está procesando una notificación de eventos podría iniciar otra conversación con un servicio que proporcione información del personal para recuperar la información de contacto actual antes de enviar una alerta.
Cuando la conversación haya logrado su propósito, la aplicación en el punto de conexión adecuado usará una END CONVERSATION instrucción para finalizar la conversación. El otro participante también recibe el END CONVERSATION mensaje y emite un END CONVERSATION mensaje en su lado. Una vez que ambos participantes hayan emitido END CONVERSATION mensajes, finaliza la conversación.
Si se produce un error, un participante de la conversación podría indicar un error finalizando la conversación mediante la WITH ERROR cláusula . El uso de la WITH ERROR cláusula finaliza la conversación y envía un mensaje de error de Service Broker al otro participante de la conversación.
Si Service Broker detecta un error o expira la duración de la conversación, Service Broker finaliza la conversación y devuelve un mensaje de error a los participantes activos. Si Service Broker no puede establecer una conversación, el único participante activo es la aplicación de inicio y el error se entrega al servicio de inicio. Si un participante ya ha finalizado la conversación, el mensaje de error se entrega al otro participante. De lo contrario, el error se entrega a ambos participantes en la conversación.
En esta sección
| Artículo | Description |
|---|---|
| Elección de una estrategia de inicio | Presenta algunas de las estrategias más comunes para iniciar una aplicación que utiliza Service Broker. |
| Esquema de la aplicación de Service Broker | Describe los pasos básicos para recibir y procesar los mensajes. |