Introducción a la colocación de mensajes en colas

El producto WebSphere MQ permite que los programas se comuniquen entre sí a través de una red de componentes dispares (procesadores, sistemas operativos, subsistemas y protocolos de comunicación) utilizando una interfaz de programación de aplicaciones coherente.

Las aplicaciones diseñadas y escritas con esta interfaz se conocen como aplicaciones de colocación de mensajes en colas porque utilizan el tipo de mensajería y el tipo colocación en colas:

Durante muchos años se ha utilizado la colocación de mensajes en colas en el proceso de datos. Actualmente, es lo que se utiliza con mayor frecuencia en el correo electrónico. Sin la colocación en colas, enviar un mensaje electrónico a través de largas distancias requiere que cada nodo en la ruta esté disponible para reenviar mensajes, y que los destinatarios estén conectados y sean conscientes del hecho de que se les está intentando enviar un mensaje. En un sistema de colocación en colas, los mensajes se almacenan en nodos intermedios hasta que el sistema esté listo para reenviarlos. En el destino final se almacenan en un buzón hasta que el destinatario esté listo para leerlos.

Aun así, muchas transacciones empresariales complejas se procesan hoy en día sin la colocación en colas. En una red grande, el sistema podría mantener miles de conexiones en un estado preparado para utilizarse. Si una parte del sistema sufre un problema, muchas partes del sistema podrían quedar inservibles.

La colocación de mensajes en colas se puede considerar como un correo electrónico para los programas. En un entorno de colas de mensaje, cada programa que conforma una parte de una serie de aplicaciones realiza una función bien definida e independiente en respuesta a una solicitud específica. Para comunicarse con otro programa, un programa debe transferir un mensaje a una cola predefinida. El otro programa recupera el mensaje de la cola y procesa las solicitudes así como la información contenida en el mensaje. Por lo tanto, la colocación de mensajes en colas es un tipo de comunicación programa a programa.

La colocación en colas es un mecanismo mediante el cual los mensajes se guardan hasta que la aplicación esté preparada para utilizarlos. La colocación en colas permite realizar lo siguiente:
  • Comunicarse entre programas (que pueden estar ejecutándose en entornos diferentes) sin tener que escribir el código de comunicación.
  • Seleccionar el orden en el que un programa procesa los mensajes.
  • Equilibrar las cargas en un sistema organizando que más de un programa atienda una cola cuando el número de mensajes excede un umbral.
  • Aumentar la disponibilidad de las aplicaciones organizando que un sistema alternativo atienda las colas si el sistema primario no está disponible.

¿Qué es una cola de mensajes?

Una cola de mensajes, conocida simplemente como cola es un destino específico al que se pueden enviar mensajes. Los mensajes se acumulan en las colas hasta que los recuperan programas que atienden esas colas.

Las colas residen en un gestor de colas y son gestionada por él; (consulte Terminología referente a la colocación de mensajes en colas). La naturaleza física de una cola depende del sistema operativo en el que se ejecuta el gestor de colas. Una cola puede ser un área de almacenamiento intermedio volátil en la memoria de un sistema o un conjunto de datos en un dispositivo de almacenamiento permanente (por ejemplo un disco). La gestión física de las colas es responsabilidad del gestor de colas y no es visible para los programas de aplicación que participan.

Los programas sólo acceden a las colas a través de los servicios externos del gestor de colas. Pueden abrir una cola, transferirle mensajes, extraer mensajes de ella y cerrarla. También pueden establecer y realizar consultas sobre los atributos de las colas.

Diferentes estilos de colas de mensaje

Punto a punto

Un mensaje se coloca en la cola y una aplicación recibe ese mensaje.

En la mensajería punto a punto, una aplicación emisora debe tener información sobre la aplicación receptora antes de que pueda enviar un mensaje a esa aplicación. Por ejemplo, la aplicación emisora puede necesitar saber el nombre de la cola a la que enviar la información, y también puede especificar un nombre de gestor de colas.

Publicación/Suscripción

Una copia de cada mensaje publicado por una aplicación de publicación se entrega cada aplicación interesada. Puede que haya muchas, una o ninguna aplicación interesada. En publicación/suscripción una aplicación interesada se conoce como suscriptor y los mensajes se colocan en la cola en una cola que identifica una suscripción.

La mensajería de publicación/suscripción permite separar el proveedor de información de los consumidores de dicha información. Para poder enviar y recibir información, no es necesario que la aplicación de envío y la de recepción sepan mucho la una de la otra. Para obtener más información sobre la mensajería de publicación/suscripción, consulte Introducción a la mensajería de publicación/suscripción de WebSphere MQ

Ventajas de la colocación de mensajes en colas para el diseñador y el desarrollador de aplicaciones

WebSphere MQ permite a los programas de aplicación utilizar la colocación de mensajes en colas para participar en el proceso dirigido por mensajes. Los programas de aplicación pueden comunicarse entre distintas plataformas utilizando los productos de software colocación de mensajes en colas adecuados. Por ejemplo, las aplicaciones HP-UX y z/OS se pueden comunicar a través de WebSphere MQ para HP-UX y WebSphere MQ para z/OS. Las aplicaciones son independientes del funcionamiento de las comunicaciones subyacentes. Algunas de la ventajas de la colocación de mensajes en colas son las siguientes:
  • Puede diseñar aplicaciones utilizando pequeños programas que se pueden compartir entre muchas aplicaciones.
  • Puede crear rápidamente nuevas aplicaciones reutilizando estos bloques de creación.
  • Las aplicaciones escritas para utilizar técnicas de colocación de mensajes en colas no se ven afectadas por los cambios en el modo en que los gestores de colas funcionan.
  • No es necesario utilizar ningún protocolo de comunicación. El gestor de colas se encarga automáticamente de todos los aspectos de la comunicación.
  • Los programas que reciben mensajes no tienen que estar en ejecución en el momento en que se les envían mensajes. Los mensajes se retienen en las colas.

Los diseñadores pueden reducir el coste de sus aplicaciones porque el desarrollo es más rápido, se necesitan menos desarrolladores y los requisitos de aptitudes de programación son menores que los de las aplicaciones que no utilizan colas de mensajes.

WebSphere MQ implementa una interfaz de programación de aplicaciones común conocida como la interfaz de cola de mensajes (o MQI) dondequiera que se ejecuten las aplicaciones. Esto facilita el traslado de programas de aplicación de una plataforma a otra.

Para obtener detalles sobre MQI, consulte Visión general de la interfaz de cola de mensajes.




Comentarios

http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.pro.doc/com.ibm.mq.pro.doc/q002620_.htm fg10230_