IBM MQ


Escuche este articulo
De Wikipedia, la enciclopedia libre
  (Redirigido desde MQSeries )
Saltar a navegación Saltar a búsqueda

IBM MQ es una familia de productos de middleware orientados a mensajes que IBM lanzó en diciembre de 1993. Originalmente se llamaba MQSeries y pasó a llamarse WebSphere MQ en 2002 para unirse a la suite de productos WebSphere . En abril de 2014, pasó a llamarse IBM MQ . Los productos que se incluyen en la familia MQ son IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ para z / OS e IBM MQ en IBM Cloud. IBM MQ también tiene opciones de implementación en contenedores.

MQ permite que las aplicaciones independientes y potencialmente no concurrentes en un sistema distribuido se comuniquen de forma segura entre sí mediante mensajes. MQ está disponible en una gran cantidad de plataformas (tanto IBM como no IBM), incluyendo z / OS ( mainframe ), IBM i , Transaction Processing Facility , UNIX ( AIX , HP-UX , Solaris ), HP NonStop , OpenVMS , Linux y Microsoft Windows .

Componentes MQ

Los componentes centrales de MQ son:

  • Mensaje : Los mensajes son colecciones de datos binarios o de caracteres (por ejemplo, ASCII o EBCDIC ) que tienen algún significado para un programa participante. Como en otros protocolos de comunicación , la información de almacenamiento, enrutamiento y entrega se agrega al mensaje antes de la transmisión y se elimina del mensaje antes de la entrega a la aplicación receptora.
  • Cola : las colas de mensajes son objetos que almacenan mensajes en una aplicación.
  • Queue Manager : un servicio del sistema que proporciona un contenedor lógico para la cola de mensajes. Es responsable de transferir datos a otros gestores de colas a través de canales de mensajes. Aunque no es estrictamente necesario para el middleware orientado a mensajes, es un requisito previo de IBM MQ. Los administradores de colas manejan el almacenamiento, los problemas de tiempo, la activación y todas las demás funciones que no están directamente relacionadas con el movimiento real de datos.

Los programas integrados con IBM MQ utilizan una interfaz de programa de aplicación (API) coherente en todas las plataformas.

Tipos de mensajes

MQ admite mensajería punto a punto y publicación-suscripción .

API

Las API soportadas directamente por IBM incluyen:

  • IBM Message Queue Interface (MQI) para C , COBOL , PL / I , Java , Rexx , [1] RPG y C ++
  • Servicio de mensajes Java (JMS)
  • XMS para C / C ++ y .NET [2]
  • .NETO
  • Transferencia de estado representacional
  • JABÓN

También hay API adicionales (no admitidas oficialmente) a través de terceros, que incluyen:

  • Interfaz Perl (desarrollada y aportada por Hildo Biersma), disponible en CPAN . [3]
  • Interfaz Python (lenguaje de programación) PyMQI (desarrollado originalmente por Les Smithson), disponible en PyPI [4]
  • Windows PowerShell [5]

Características

Un tiempo de entrega : MQ usos una vez y sólo una vez la entrega. Esta calidad de servicio normalmente evita la pérdida o la duplicación de mensajes.

Mensajería asincrónica : MQ proporciona a los diseñadores de aplicaciones un mecanismo para lograr una arquitectura no dependiente del tiempo. Los mensajes se pueden enviar de una aplicación a otra, independientemente de si las aplicaciones se están ejecutando al mismo tiempo. Si una aplicación de receptor de mensajes no se está ejecutando cuando un remitente le envía un mensaje, el gestor de colas retendrá el mensaje hasta que el receptor lo solicite. El orden de todos los mensajes se conserva, de forma predeterminada, está en orden FIFO de recepción en la cola local dentro de la prioridad del mensaje.

Transformación de datos : por ejemplo, Big Endian a Little Endian o EBCDIC a ASCII . Esto se logra mediante el uso de salidas de datos de mensajes . Las salidas son aplicaciones compiladas que se ejecutan en el host del gestor de colas y son ejecutadas por el software IBM MQ en el momento en que se necesita la transformación de datos.

Marco de arquitectura basada en mensajes : IBM MQ permite la recepción de mensajes para "activar" la ejecución de otras aplicaciones.

Gama de API : implementa la API estándar de Java Message Service (JMS) y también tiene su propia API patentada, conocida como Message Queue Server Interface (MQI), que precedió a JMS varios años de existencia. A partir de la versión 8.0.0.4, MQ también admite la API MQ Light.

Agrupación : varias implementaciones de MQ comparten el procesamiento de mensajes, lo que proporciona equilibrio de carga.

Comunicación

Los administradores de colas se comunican con el mundo exterior a través de:

  • Enlaces : una conexión de software directa. Generalmente más rápido, pero limitado a programas que se ejecutan en el mismo host físico que el gestor de colas.
  • Una conexión de red o "cliente" : las aplicaciones que utilizan una conexión de cliente pueden conectarse a un administrador de colas en cualquier otro host de la red. La ubicación física del gestor de colas es irrelevante, siempre que sea accesible a través de la red.

Comunicación entre gestores de colas

Esto se basa en un canal . Cada gestor de colas utiliza uno o más canales para enviar y recibir datos a otros gestores de colas. Un canal es unidireccional; se requiere un segundo canal para devolver datos. En una red basada en TCP / IP, un canal envía o recibe datos en un puerto específico.

Tipos de canales:

  • Canal de envío : tiene un destino definido y está asociado con una cola de transmisión específica (el mecanismo por el cual los mensajes se ponen en cola en espera de transmisión en el canal).
  • Canal de recepción : recibe datos de cualquier otro gestor de colas con un canal de envío del mismo nombre.

Cuando un canal de recepción recibe un mensaje, se examina para ver a qué gestor de colas y a qué cola está destinado. En el caso de una falla en las comunicaciones, MQ puede restablecer automáticamente una conexión cuando se resuelva el problema.

El escucha es la interfaz de red de la aplicación para el gestor de colas. El oyente detecta las conexiones de los canales entrantes y gestiona la conexión de los canales de envío a los canales de recepción. En una red TCP / IP, el oyente "escuchará" las conexiones en un puerto específico.

Transmitir datos a una cola en otro gestor de colas

Tipos de cola:

  • Cola local : representa la ubicación donde se almacenan los datos en espera de procesamiento.
  • Cola remota : representa una cola en otro gestor de colas. Definen la cola de destino, que es un elemento del mecanismo de enrutamiento de los mensajes.
  • Cola de clúster : representa una cola a la que se puede acceder a través de cualquier gestor de colas de su clúster.

Un mensaje se coloca en una cola remota. Los mensajes van a una cola de transmisión de almacenamiento temporal asociada con un canal. Al colocar un mensaje en una cola remota, el mensaje se transmite a través del canal remoto. Si la transmisión tiene éxito, el mensaje se elimina de la cola de transmisión. Al recibir un mensaje, el gestor de colas de recepción examina el mensaje para determinar si el mensaje es para sí mismo o si debe ir a otro gestor de colas. Si es el gestor de colas de recepción, se comprobará la cola necesaria y, si existe, el mensaje se colocará en esta cola. De lo contrario, el mensaje se coloca en la cola de mensajes no entregados.. MQ tiene características para administrar la transmisión eficiente de datos a través de una variedad de medios de comunicación. Por ejemplo, los mensajes se pueden agrupar hasta que una cola alcanza una profundidad determinada.

Ordenando

Aunque la cola es FIFO, se ordena en función de la recepción en la cola local, no de la confirmación del mensaje del remitente. Los mensajes se pueden priorizar y, de forma predeterminada, la cola se prioriza en orden de llegada. Las colas solo estarán en secuencia de adición si el mensaje se agrega localmente. La agrupación de mensajes se puede utilizar para garantizar que un conjunto de mensajes esté en un orden específico, aparte de eso, si la secuencia es crítica, es responsabilidad de la aplicación colocar los datos de la secuencia en el mensaje o implementar un mecanismo de reconocimiento a través de una cola de retorno. En realidad, los pedidos se mantendrán en configuraciones sencillas.

El registro

El otro elemento de un gestor de colas es el registro . Cuando se coloca un mensaje en una cola o se realiza un cambio de configuración, los datos también se registran. En caso de falla, el registro se utiliza para recrear objetos dañados y recrear mensajes. Sólo persistentes mensajes se vuelven a crear cuando se pierden un fallo occurs- mensajes "no persistentes". Los mensajes no persistentes se pueden enviar a través de un canal configurado en un modo rápido, en el que la entrega no está asegurada en caso de falla del canal.

MQ admite registros tanto circulares como lineales.

Recuperar mensajes de colas

La información se puede recuperar de las colas sondeando la cola para verificar los datos disponibles a intervalos adecuados o, alternativamente, MQ puede desencadenar un evento, lo que permite que una aplicación cliente responda a la entrega de un mensaje.

Disponibilidad

IBM MQ ofrece una variedad de soluciones para satisfacer la disponibilidad:

Administrador de colas de datos replicados (RDQM / 'Easy HA' - MQ Advanced solo en distribuidos): replicación síncrona entre tres servidores que comparten una dirección IP flotante.

Clústeres de gestores de colas : los grupos de dos o más gestores de colas en uno o más equipos se definen en un clúster, lo que proporciona una interconexión automática y permite que las colas se compartan entre ellos para el equilibrio de carga y la redundancia.

Grupos de colas compartidas (solo z / OS): en un entorno de cola compartida, una aplicación puede conectarse a cualquiera de los gestores de colas dentro del grupo de colas compartidas. Dado que todos los gestores de colas del grupo de colas compartidas pueden acceder al mismo conjunto de colas compartidas, la aplicación no depende de la disponibilidad de un gestor de colas en particular. Esto proporciona una mayor disponibilidad si un gestor de colas se detiene porque todos los demás gestores de colas del grupo de compartición de colas pueden seguir procesando la cola.

Gestores de colas de varias instancias (disponibles a partir de la versión 7.0.1): las instancias del mismo gestor de colas se configuran en dos o más equipos con sus colas y metadatos que residen en el almacenamiento compartido. Al iniciar varias instancias, una se convierte en la instancia activa y las otras instancias se vuelven en espera. Si la instancia activa falla, una instancia en espera que se ejecuta en una computadora diferente toma el control automáticamente.

Historia

Fechas de lanzamiento de la versión

Fecha de finalización de la versión de soporte

La siguiente tabla se aplica al software MQ. El dispositivo MQ tiene fechas de ciclo de vida diferentes para el firmware y el hardware que las de la tabla. [11]

Referencia arquitectónica de fondo

Con la llegada de las computadoras, IBM vio la oportunidad de aplicar nueva tecnología a la necesidad de conmutación de mensajes.

A principios de la década de 1960, IBM comercializó el Sistema de control de comunicaciones IBM 7740 y el Control de transmisión programado IBM 7750, que eran sistemas de conmutación de mensajes programables.

El IBM System / 360 se anunció en abril de 1964 y con él vinieron los métodos de acceso a las comunicaciones como BTAM y QTAM (Métodos de acceso de telecomunicaciones básicos y en cola). En 1971, TCAM, el método de acceso a las telecomunicaciones , ofreció a sus usuarios una forma más avanzada de conmutación o enrutamiento de mensajes. TCAM fue ampliamente aceptado, especialmente en las industrias financiera y de corretaje. Admitía mensajería asincrónica, como con el MQ posterior. TCAM 3.0 agregado en colas de mensajes de disco reutilizables para recuperación poco después, como con MQ. Se podría utilizar un programa PL / I de alto nivel para acceder a conjuntos de datos TRANSITORIOS (colas de mensajes dinámicos). Al leer un mensaje de un conjunto de datos transitorio, ese mensaje se eliminó de la cola, como con un READ sin exploración con MQ.

A finales de la década de 1970, aparecieron los sistemas de gestión de transacciones, cada uno de los cuales intentaba alcanzar una posición de liderazgo en la industria. Dentro de IBM, CICS e IMS fueron elegidos como productos estratégicos para abordar la necesidad de gestión de transacciones. Tanto en CICS como en IMS, cada uno tenía su versión de conmutación de mensajes, siendo IMS un sistema en cola de front-end y CICS con su función de datos transitorios como posible base para la conmutación de mensajes. [ cita requerida ]

CICS se estableció como un sistema de gestión de transacciones popular en el período de tiempo 1968-1971. Aquellos usuarios que habían adoptado TCAM por sus capacidades de manejo de mensajes ahora querían un uso combinado de TCAM con CICS. En diciembre de 1971, IBM anunció el soporte CICS de TCAM como parte del producto CICS / OS-Standard, que se entregará en diciembre de 1972. Para los clientes interesados, esto les permitió utilizar TCAM por sus fortalezas en el manejo de mensajes y también tener terminales conectados a TCAM. o las computadoras interactúan con las aplicaciones en línea de CICS. [ cita requerida ]

En enero de 1973, TCAM continuó siendo compatible con CICS / OS-Standard Versión 2.3. Sin embargo, el soporte de TCAM se omitió en el lanzamiento inicial de CICS / VS, anunciado en febrero de 1973 y entregado en junio de 1974. Huelga decir que muchos clientes de CICS-TCAM no estaban contentos con la dirección de ese producto.

Con una presión considerable de los clientes de CICS-TCAM, el soporte CICS de TCAM se restableció en el producto CICS / VS 1.1, a partir de septiembre de 1974. Además del soporte DCB anterior, con este restablecimiento del soporte TCAM, CICS comenzó a admitir el acceso TCAM a través de VTAM, también conocido como soporte ACB. El soporte de CICS TCAM ACB se suspendió a partir del producto CICS / ESA Versión 3 en 1990.

En 1992, IBM anunció un nuevo producto llamado MQSeries. Esta marca se renombró más tarde a WebSphere MQ (a veces abreviado como WMQ) en 2002 para admitir el nombre de la familia WebSphere y el producto. En 2014, pasó a llamarse IBM MQ. MQ iba a ser la extensión de la funcionalidad TCAM de los sistemas exclusivos de IBM a todas las demás plataformas. MQ tiene una arquitectura que permite que sistemas heterogéneos se comuniquen entre sí (por ejemplo, IBM, HP, Sun, Tandem, etc.). MQ se puede utilizar con sistemas CICS para enviar y recibir datos hacia / desde cualquier otro sistema apto para MQ. MQ se puede utilizar para iniciar el trabajo en un sistema CICS o una transacción CICS puede iniciar el trabajo en otro sistema CICS o no CICS.

IBM MQ ahora admite 80 entornos diferentes y se ha convertido en el producto líder de enrutamiento / conmutación de entrega asegurada de mensajes en la industria. [12]

MQ y servicios web

IBM MQ se puede utilizar como base para crear arquitecturas orientadas a servicios . Existen varias opciones de productos adicionales para ayudar a convertir programas heredados en servicios web funcionales mediante el uso de MQ. Las empresas más grandes y heterogéneas a menudo aparecen como una federación de dominios algo autónomos basados ​​en líneas de negocio, áreas funcionales o de gobierno. En tales entornos, algunos servicios pueden compartirse o reutilizarse solo dentro de un único dominio, mientras que otros pueden compartirse o reutilizarse en toda la empresa. IBM MQ proporciona los medios por los que existe comunicación entre líneas de negocio o dominios de negocio separados de otro modo.

Un producto relacionado en la familia de productos IBM MQ, llamado IBM Integration Bus (anteriormente WebSphere Message Broker) , permite un conjunto diverso y sólido de extensiones para arquitecturas basadas en colas. Con IBM Integration Bus, los usuarios pueden implementar un front-end de WebServices, completo con soporte de archivos WSDL que puede interactuar con cualquier aplicación basada en colas.

Ver también

  • Protocolo avanzado de Message Queue Server
  • IBM WebSphere Message Broker
  • Servicio de mensajes Java
  • Cola de mensajes
  • Message Queue Server como servicio
  • MQTT

Referencias

  1. ^ "MA95: Una interfaz REXX para WebSphere MQ" . Consultado el 9 de octubre de 2014 .
  2. ^ "Presentación de XMS: la API de IBM Message Service" . Consultado el 6 de diciembre de 2007 .
  3. ^ MQSeries - Extensión de Perl para soporte de MQSeries - search.cpan.org
  4. ^ "Documentación de PyMQI" . Archivado desde el original el 17 de enero de 2013 . Consultado el 3 de septiembre de 2010 .
  5. ^ "MO74: WebSphere MQ - Biblioteca de Windows Powershell" . Consultado el 6 de diciembre de 2007 .
  6. ^ "Anuncio de IBM de IBM MQ 9.2" . International Business Machines (IBM) . Consultado el 22 de octubre de 2020 .
  7. ^ "Anuncio de IBM de IBM MQ 9.1" . International Business Machines (IBM) . Consultado el 6 de agosto de 2018 .
  8. ^ "Anuncio de IBM de IBM MQ en IBM Cloud" . International Business Machines (IBM) . Consultado el 6 de agosto de 2018 .
  9. ^ "Anuncio de IBM de IBM MQ 9.0" . International Business Machines (IBM) . Consultado el 17 de junio de 2016 .
  10. ^ "MQSeries para MVS / ESA versión 1.2" . International Business Machines (IBM) . Consultado el 10 de diciembre de 2018 .
  11. ^ "Ciclo de vida de soporte de software de IBM" .
  12. ^ "IBM WebSphere MQ V7.1 se ha mejorado con un menor costo de propiedad, mejor tiempo para generar valor y más seguridad configurable" . Anuncio de software de IBM Estados Unidos 211-395 . IBM. 4 de octubre de 2011.

enlaces externos

Escuche este artículo ( 22 minutos )
Icono de Wikipedia hablado
Este archivo de audio se creó a partir de una revisión de este artículo con fecha del 29 de octubre de 2011 y no refleja ediciones posteriores. ( 29/10/2011 )
  • Página del producto IBM MQ
Obtenido de " https://en.wikipedia.org/w/index.php?title=IBM_MQ&oldid=1045975171 "