Share via


Información básica sobre colas de mensajes y tecnología de mensajería

Actualización: noviembre 2007

Message Queue Server para Microsoft Windows facilita a los programadores de aplicaciones la comunicación rápida y confiable con los programas de aplicación mediante el envío y la recepción de mensajes. Si no se conoce la tecnología MessageQueue, en esta página se puede encontrar información general sobre los términos y conceptos más relevantes.

Conceptos básicos en mensajería

Un message es una unidad de datos enviada entre dos equipos. Un mensaje puede ser muy sencillo y constar de una simple cadena de texto, o puede ser más complejo e incluir, por ejemplo, objetos incrustados.

Los mensajes se envían a colas. Una cola de mensajes es un contenedor que alberga mensajes mientras están en tránsito. El administrador de colas de mensajes actúa como intermediario en la transmisión de un mensaje desde su origen hasta su destino. El principal objetivo de una cola es proporcionar enrutamiento y garantizar la entrega de los mensajes; si el destinatario no está disponible en el momento de enviarse un mensaje, la cola lo guarda hasta que pueda entregarse correctamente.

Message Queue Server, la tecnología de mensajería de Microsoft, proporciona mensajería y funciones de colas de mensajes para cualquier aplicación. Proporciona igualmente mensajería y funciones entre cualquier combinación de equipos que tengan instalado Microsoft Windows, independientemente de si están en la misma red o en línea simultáneamente.

Una red de Message Queue Server es cualquier conjunto de equipos habilitados para intercambiar mensajes entre sí. Los diferentes equipos de la red desempeñan funciones diferentes en el proceso de garantizar que las funciones de mensajería se ejecuten sin problemas. Unos proporcionan información de enrutamiento para determinar cómo se envían los mensajes, otros contienen información fundamental para toda la red y unos terceros se limitan a enviar y recibir mensajes.

Durante la instalación de Message Queue Server, un administrador toma decisiones sobre qué servidores pueden comunicarse entre sí y configura funciones especiales para servidores específicos. Los equipos que componen esta red de Message Queue Server se denominan sitios y se conectan entre sí por medio de vínculos a sitios. Cada uno de los vínculos a sitios tiene un costo asociado, determinado por el administrador, que indica la rapidez con que pueden atravesarlos los mensajes.

El administrador de Message Queue Server también configura uno o más equipos de la red para que actúen como servidores de enrutamiento. Un servidor de enrutamiento toma decisiones sobre cómo se ha de entregar un mensaje; para ello, tiene en cuenta el costo de los diversos vínculos a sitios y determina el modo más rápido y eficaz de entregar el mensaje a través de varios sitios.

La imagen siguiente muestra una configuración típica de sitios de Message Queue Server y cómo interactúan:

Enrutamiento de mensajes entre sitios

Sugerencia:

No es necesario preocuparse de los detalles del enrutamiento de mensajes durante la fase de desarrollo, ya que los administradores pueden ajustar la red de Message Queue Server para que la entrega de mensajes sea eficaz.

Tipos de colas

Hay dos categorías principales de colas: las creadas por usted o por otros usuarios de la red y las del sistema. Las colas creadas por el usuario pueden ser colas de los tipos siguientes:

  • Colas públicas que se replican a través de la red de Message Queue Server y pueden permitir el acceso a todos los sitios conectados por la red.

  • Colas privadas que no se publican en la totalidad de la red. Sólo están disponibles en el equipo local que las contiene. Las colas privadas sólo permiten el acceso a aplicaciones que conozcan la ruta de acceso completa o la etiqueta de la cola.

  • Colas de administración que contienen mensajes que confirman la recepción de los mensajes enviados dentro de una red dada de Message Queue Server. Debe especificar qué cola de administración desea que utilicen los componentes MessageQueue, si la hubiese.

  • Colas de respuestas que contienen mensajes de respuesta que se devuelven a la aplicación emisora cuando la aplicación de destino recibe el mensaje. Debe especificar qué cola de respuesta desea que utilicen los componentes MessageQueue, si la hubiese.

Las colas generadas por el sistema suelen estar incluidas en una de las categorías siguientes:

  • Colas del diario que almacenan opcionalmente copias de los mensajes que se envían y copias de los mensajes que se quitan de una cola. En cada cliente de Message Queue Server, una única cola del diario almacena copias de los mensajes que se envían desde el equipo. En el servidor, se crea una cola del diario independiente para cada cola individual. Este diario hace un seguimiento de los mensajes que se quitan de la cola.

  • Colas de mensajes no entregados que almacenan copias de los mensajes que no se pudieron entregar o que caducaron. Si el mensaje caducado o no entregado era un mensaje transaccional, se almacena en un tipo especial de cola de mensajes no entregados denominada cola de mensajes transaccionales no entregados. Los mensajes no entregados se almacenan en el equipo en el que caducaron. Para obtener más información sobre los períodos de tiempo de espera y los mensajes caducados, vea Propiedades predeterminadas de los mensajes.

  • Colas de informes que contienen mensajes que indican la ruta que ha recorrido un mensaje hasta su destino y pueden contener también mensajes de prueba. Sólo puede haber una cola de informes por equipo.

  • Colas privadas del sistema que son una serie de colas privadas que almacenan mensajes administrativos y de notificación que el sistema necesita para procesar las acciones de mensajería.

La mayor parte del trabajo que realice en las aplicaciones implicará el acceso a colas públicas y a sus mensajes. Sin embargo, lo más probable es que utilice diferentes tipos de colas del sistema en las operaciones diarias, según sean las necesidades de la aplicación en cuanto a registro del diario, confirmación y otros procesos especiales.

Comunicación sincrónica y asincrónica

La comunicación mediante colas es intrínsecamente asincrónica porque los mensajes se envían a una cola y se reciben de una cola en procesos independientes. Además, puede realizar las operaciones de recepción de forma asincrónica. La persona que desea recibir un mensaje puede llamar al método BeginReceive para cualquier cola y seguir de inmediato con otras tareas sin esperar la respuesta. Este concepto difiere mucho de lo que se conoce como comunicación sincrónica.

En la comunicación sincrónica, el remitente de una solicitud debe esperar la recepción de una respuesta del receptor previsto antes de ejecutar otras tareas. El período de tiempo durante el cual el remitente debe esperar depende totalmente del período de tiempo necesario para que el receptor procese la solicitud y envíe una respuesta.

Nota:

La recuperación sincrónica o asincrónica de los mensajes es un tema independiente del envío de mensajes. Los mensajes siempre se envían de forma asincrónica.

Para obtener más información sobre el procesamiento asincrónico en colas de mensajes, vea Procesamiento asincrónico de mensajes.

Seguridad de los mensajes

Para ayudar a asegurar el contenido de los mensajes que se envían y se reciben, puede utilizar los medios siguientes:

  • Puede utilizar la autenticación para comprobar el origen de los mensajes recibidos por las aplicaciones.

  • Puede utilizar el cifrado para garantizar que los mensajes no puedan ser leídos ni utilizados por personas no autorizadas.

  • Puede utilizar los derechos de control de acceso para limitar el intercambio o la lectura de mensajes de una cola determinada de un equipo a los usuarios con seguridad basada en ACL y al código con seguridad de acceso a código.

  • Puede utilizar la auditoría para registrar qué usuarios intentan el acceso a objetos de Message Queue Server, el tipo de operación que intentan y si el acceso tiene éxito o no.

Para obtener más información, vea Seguridad de la cola de mensajes.

Instalar Message Queue Server

Debe haber instalado Message Queue Server en el equipo de desarrollo si desea trabajar con colas de mensajes en el código o en el Explorador de servidores. Puede encontrar instrucciones sobre la instalación de Message Queue Server en la documentación de Windows 2000 o Windows NT. Cuando lo instale, deberá especificar si va a crear un servidor principal nuevo de Message Queue Server que actuará como concentrador de una red nueva, un cliente independiente de una red existente o un cliente dependiente de una red existente. En la mayoría de los casos no creará una red nueva, sino que se incorporará a la red de Message Queue Server de la compañía o del grupo de trabajo.

Dónde buscar lecturas complementarias

Las páginas restantes de esta sección proporcionan la información necesaria para utilizar componentes de Message Queue Server en las aplicaciones. Si necesita más información sobre las tecnologías de mensajería ajenas al contexto de Visual Studio o de .NET Framework, dispone de numerosas fuentes de información en MSDN Library y en el sitio Web de Microsoft:

Para obtener más información sobre

Consulte esta página en la documentación de Windows 2000 Server

Configuración de una red de Message Queue Server

Instalar Message Queue Server

Conceptos generales de Message Queue Server

Comprender Message Queue Server

Ajuste preciso del rendimiento de Message Queue Server

Administrar Message Queue Server

Vea también

Otros recursos

Utilizar componentes de mensajería