Diferencias entre la integración de servicios y una red IBM MQ
Las aplicaciones pueden utilizar la integración de servicios y IBM MQ para trasmitir mensajes. La mensajería de la integración de servicios utiliza motores de mensajería, mientras que IBM MQ utiliza gestores de colas.
IBM MQ es un sistema autónomo de gestión de colas y mensajes, que no forma parte de un servidor de aplicaciones. En IBM MQ, los gestores de colas proporcionan servicios de gestión de colas y mensajes. Una aplicación se conecta a un gestor de colas y utiliza una interfaz de programación de aplicaciones para obtener mensajes de las colas, y ponerlos en cola. Una de estas interfaces de aplicación es la API de JMS (Java Messaging Service). Las aplicaciones se pueden conectar directamente a un gestor de colas utilizando una interfaz de llamadas o indirectamente utilizando una conexión de socket TCP/IP. La conexión de socket TCP/IP que una aplicación utiliza para conectarse a un gestor de colas se denomina canal MQI. La aplicación utiliza la misma interfaz de programación tanto en conexiones directas (modalidad de enlaces) como en indirectas (modalidad de cliente).
La integración de servicios forma parte de WebSphere Application Server. En la integración de servicios, los motores de mensajería (ME) proporcionan los servicios de gestión de colas y mensajes. Un motor de mensajería de integración de servicios se ejecuta en un servidor WebSphere Application Server. Un motor de mensajería de integración de servicios es similar a un gestor de colas de IBM MQ más su agente de canal de mensajes (MCA) asociado, que se utilizar para mover mensajes de un gestor de colas a otro. No obstante, a diferencia de un gestor de colas, un motor de mensajería también incluye las funciones de transformación y direccionamiento.
Una aplicación WebSphere Application Server se conecta a un motor de mensajería utilizando servicios JMS, y utiliza la interfaz de programación de aplicaciones de JMS para enviar y recibir mensajes de los destinos. Un destino JMS es similar a una cola o tema de IBM MQ. Un motor de mensajería de integración de servicios utiliza las funciones de comunicación de WebSphere Application Server para conectar los clientes fuera del servidor WAS donde se ejecuta y para comunicarse con otros motores de mensajería. Los motores de mensajería de integración de servicios proporcionan servicios para la transformación y el direccionamiento, y dan soporte a la mensajería de publicación/suscripción. No se necesita ningún intermediario de mensajes independiente.
Las aplicaciones IBM MQ consumen los mensajes procedentes de colas que están definidas localmente en un gestor de colas o (para IBM MQ for z/OS) en un grupo de compartimiento de colas. En la integración de servicios, el componente equivalente a una cola definida localmente en IBM MQ es un punto de cola en el motor de mensajería local. En la integración de servicios no se impone ninguna limitación similar en el punto de cola y la ubicación del bus en que se ha conectado la aplicación consumidora.
La API JMS está disponible para las aplicaciones de mensajería en WebSphere Application Server y IBM MQ. IBM MQ también tiene una API nativa llamada MQI (Message Queue Interface o interfaz de colas de mensajes). Las interfaces de envío y recepción de JMS son similares a las interfaces put y get de MQI.
Cada gestor de colas de IBM MQ tiene una cola de mensajes no entregados (también conocida como cola de mensajes no entregados) definida. Los mensajes que no llegan a su destino se colocan en esta cola. En la integración de servicios de WebSphere Application Server, el equivalente a las colas de mensajes no entregados son los destinos de excepciones. Para cada motor de mensajería se crea automáticamente un destino de excepciones. Si los mensajes no se pueden entregar, los mensajes se colocan en el destino de excepciones específico para la cola, si existe, o en el destino de excepciones predeterminado.