Compartir a través de


Arquitectura de componentes en cola

El servicio de componentes en cola COM+ mejora el modelo de programación COM proporcionando un entorno en el que se puede invocar un componente de forma sincrónica (en tiempo real) o asincrónicamente (en cola). Un componente no debe tener en cuenta si se emplea en un contexto en tiempo real o en cola.

Las aplicaciones de mensajería son como transacciones de correo electrónico entre programas. El solicitante envía un mensaje al servidor; cuando el servidor llega a él, se procesa el mensaje. Al igual que el correo electrónico, un sistema de mensajería debe controlar los detalles de red y asegurarse de que el mensaje se mueve del cliente al servidor. En el marco de componentes en cola, Message Queuing es responsable de esto.

El servicio de componentes en cola com+ consta de las siguientes partes:

  • Grabadora (para el cliente o el lado de envío)
  • Agente de escucha (para el servidor o el lado de recepción)
  • Reproductor (para el servidor o el lado de recepción)

Diagrama que muestra la ruta de acceso del cliente al servidor: cliente, grabadora, cola, agente de escucha, reproductor, servidor.

La grabadora

En un escenario típico de componentes en cola, el cliente llama a un componente en cola. La llamada se realiza a la grabadora de componentes en cola, que la empaqueta como parte de un mensaje al servidor y la coloca en una cola. La grabadora serializa el contexto de seguridad del cliente en el mensaje y registra todas las llamadas al método del cliente. En su rol como proxy para el componente de servidor, la grabadora selecciona interfaces de las interfaces que se pueden poner en cola en el catálogo COM+.

Una representación de la grabación se envía a Message Queuing como un mensaje que se va a enviar a un servidor. Cuando el componente en cola tiene la configuración del atributo transaction de Required o Supported, Message Queuing acepta la entrega del mensaje solo si la transacción del lado cliente se confirma y la cola message Queuing es transaccional, que es el valor predeterminado establecido normalmente. Cuando la configuración del atributo de transacción es Requiere nuevo, Message Queuing puede aceptar el mensaje incluso si se anula la transacción del lado cliente. Para obtener más información sobre las transacciones, consulte Transactional Message Queuing.

El agente de escucha

El agente de escucha de componentes en cola recupera el mensaje de la cola y lo pasa al reproductor de componentes en cola.

El reproductor

El jugador anula la marca del contexto de seguridad del cliente en el lado servidor y, a continuación, invoca el componente de servidor y realiza las mismas llamadas de método. El jugador no reproduce las llamadas al método hasta que se completa el componente de cliente y la transacción que registró las llamadas al método confirma.

El mover de mensajes

El mover de mensajes de componentes en cola es una utilidad que mueve todos los mensajes de Message Queuing con errores de una cola a otra para que se puedan reintentar. La utilidad de movimiento de mensajes es un objeto automation que se puede invocar con un VBScript; para obtener más información, consulte Control de errores.