IBM MQ

Na Galipedia, a Wikipedia en galego.
Saltar ata a navegación Saltar á procura

IBM MQ é unha familia de produtos middleware orientado a mensaxes que IBM lanzouse en decembro de 1993. Orixinalmente chamábase MQSeries e cambióuselle o nome WebSphere MQ en 2002 para unirse ao conxunto de produtos WebSphere. En abril de 2014, cambióuselle o nome a IBM MQ. Os produtos que se inclúen na familia MQ son IBM MQ, IBM MQ Advanced, IBM MQ Appliance, IBM MQ para z/OS e IBM MQ en IBM Cloud.

MQ permite que as aplicacións independentes e potencialmente non concorrentes nun sistema distribuído comuníquense de forma segura entre si, mediante mensaxes. MQ está dispoñible nun gran número de plataformas (tanto IBM como non IBM), incluíndo z/OS (mainframe), OS/400 (IBM System i ou AS/400), Transaction Processing Facility, UNIX (AIX, HP- UX, Solaris), HP NonStop, OpenVMS, Linux, OS 2200 e Microsoft Windows.

Compoñentes MQ[editar | editar a fonte]

Os compoñentes principais de MQ son:

  • Mensaxe: as mensaxes son coleccións de binario ou carácter (por exemplo, ASCII ou EBCDIC) datos que teñen algún significado para un programa participante. Como noutras protocolo de comunicacións, a información de almacenamento, encamiñamento e entrega agrégase á mensaxe antes da transmisión e elimínase da mensaxe antes da entrega á aplicación receptora.
  • Cola: Colas de mensaxes son ​​obxectos que almacenan mensaxes nunha aplicación.
  • Queue Manager: un servizo do sistema que proporciona un contedor lóxico para a cola de mensaxes. É responsable de transferir datos a outros xestores de colas a través de canles de mensaxes. Aínda que non é estritamente necesario para o middleware orientado a mensaxes, é un requisito previo de IBM MQ. Os xestores de colas manexan o almacenamento, os problemas de tempo, a activación e todas as demais funcións que non están directamente relacionadas co movemento real dos datos.

Os programas integrados con IBM MQ utilizan unha interface de programa de aplicación (API) consistente en todas as plataformas.

Tipos de mensaxes[editar | editar a fonte]

MQ é compatible cos mensaxes punto a punto e publicación-subscrición.

APIs[editar | editar a fonte]

As API soportadas directamente por IBM inclúen:

As API adicionais (non soportadas oficialmente) tamén están dispoñibles a través de terceiros, incluíndo:

Características[editar | editar a fonte]

Entrega dunha soa vez: MQ usa unha soa vez e unha soa vez. Esta calidade de servizo polo xeral evita a perda ou duplicación de mensaxes.

Mensaxes asíncronas: MQ proporciona a deseñadores de aplicacións un mecanismo para lograr unha arquitectura non dependente do tempo. As mensaxes poden enviarse dunha aplicación a outra, independentemente de se as aplicacións execútanse ao mesmo tempo. Se unha aplicación do receptor de mensaxes non se está executando cando un remitente envíalle unha mensaxe, o administrador de colas reterá a mensaxe ata que o receptor solicíteo. A orde de todas as mensaxes consérvase, de forma predeterminada, atópase na orde de recepción FIFO na cola local dentro da prioridade da mensaxe.

Transformación de datos: por exemplo, Big Endian a Little Endian, ou EBCDIC a ASCII. Isto lógrase mediante o uso das "saídas" dos datos da mensaxe. As "saídas" son aplicacións compiladas que se executan no host do xestor de colas e son executadas polo software IBM MQ no momento en que se necesita a transformación dos datos.

Marco de arquitectura impulsado por mensaxes: IBM MQ permite a recepción de mensaxes para "activar" outras aplicacións para que se executen.

Rango de API: implementa a API estándar Java Message Service (JMS), e tamén ten a súa propia API propietaria, coñecida como Interface de Message Queue Server (MQI), que precedeu ao JMS varios anos. en existencia. A partir da versión 8.0.0.4, MQ tamén é compatible coa API MQ Light.

Agrupación: varias implementacións de MQ comparten o procesamento de mensaxes, o que proporciona un equilibrio de carga.

Comunicación[editar | editar a fonte]

Os xestores de colas comunícanse co mundo exterior a través de:

  • Ligazóns: unha conexión de software directa. Xeralmente máis rápido, pero limitado a programas que se executan no mesmo host físico que o administrador de colas.
  • Unha conexión de rede ou "cliente": as aplicacións que usan unha conexión de cliente poden conectarse a un administrador de colas en calquera outro host na rede. A localización física do xestor de colas é irrelevante, sempre que sexa accesible a través da rede.

Comunicación entre os xestores de colas[editar | editar a fonte]

Isto baséase nunha "canle". Cada xestor de colas utiliza un ou máis canles para enviar e recibir datos a outros xestores de colas. Unha canle é unidireccional; requírese unha segunda canle para devolver os datos. Nunha rede baseada en TCP/IP, unha canle envía ou recibe datos nun porto específico.

Tipos de canles:

  • Canle de envío: ten un destino definido e está asociado cunha cola de transmisión específica (o mecanismo polo cal as mensaxes se poñen en cola esperando a transmisión na canle).
  • Canle de recepción: recibe datos de calquera outro administrador de colas cunha canle de envío do mesmo nome.

Cando unha canle receptora recibe unha mensaxe, examínase para ver a que administrador de colas e que cola está destinado. No caso dunha falla de comunicacións, MQ pode restablecer automaticamente unha conexión cando se resolva o problema.

O listener é a interface de rede da aplicación para o administrador de colas. O listener detecta as conexións das canles entrantes e administra a conexión das canles de envío ás canles de recepción. Nunha rede TCP/IP, o listener "escoitará" as conexións nun porto específico.

Transmisión de datos a unha cola noutro administrador de colas[editar | editar a fonte]

Tipos de cola:

  • Cola local: representa a localización onde se almacenan os datos en espera de procesamento.
  • Cola remota: representa unha cola noutro administrador de colas. Definen a cola de destino, que é un elemento do mecanismo de encamiñamento para as mensaxes.

Unha mensaxe colócase nunha cola remota. As mensaxes van a unha cola de transmisión de almacenamento temporal asociada cunha canle. Ao colocar unha mensaxe nunha cola remota, a mensaxe transmítese a través da canle remota. Se a transmisión é exitosa, a mensaxe elimínase da cola de transmisión. Ao recibir unha mensaxe, o xestor de colas receptor examina a mensaxe para determinar se a mensaxe é para si mesmo ou se debe ir a outro xestor de colas. Se o xestor de colas de recepción, comprobarase a cola requirida, e se existe, a mensaxe colócase nesta cola. Se non, a mensaxe colócase na cola de mensaxes non entregadas. MQ ten características para administrar a transmisión eficiente de datos a través dunha variedade de medios de comunicación. Por exemplo, as mensaxes pódense agrupar ata que unha cola alcance unha profundidade particular.

Pedidos[editar | editar a fonte]

Aínda que a cola é FIFO, ordénase en función da recepción na cola local, non da confirmación da mensaxe do remitente. As mensaxes pódense priorizar e, de forma predeterminada, a cola #priorizar por orde de chegada. As colas só estarán en secuencia de adición se a mensaxe agrégase localmente. A agrupación de mensaxes pódese usar para garantir que un conxunto de mensaxes estea nunha orde específica, á parte diso, se a secuencia é crítica, é responsabilidade da aplicación colocar os datos da secuencia na mensaxe ou implementar un mecanismo de intercambio a través dunha cola de devolución. En realidade, a orde manterase en configuracións sinxelas.

O rexistro[editar | editar a fonte]

O outro elemento dun xestor de colas é o rexistro. Cando se coloca unha mensaxe nunha cola ou se realiza un cambio de configuración, tamén se rexistran os datos. No caso dunha falla, o rexistro úsase para recrear obxectos danados e recrear mensaxes. Soamente as mensaxes "persistentes" recréanse cando ocorre unha falla, as mensaxes "non persistentes" pérdense. As mensaxes non persistentes pódense enviar a través dun conxunto de canles a un modo rápido, no que non se garante a entrega en caso dunha falla da canle.

MQ soporta tanto o rexistro circular como o lineal.

Recuperar mensaxes de colas[editar | editar a fonte]

A información pódese recuperar das colas, xa sexa mediante a sondaxe da cola para verificar os datos dispoñibles a intervalos adecuados, ou alternativamente, MQ pode desencadear un evento, o que permite que unha aplicación cliente responda á entrega dunha mensaxe.

Alta dispoñibilidade[editar | editar a fonte]

IBM MQ ofrece unha variedade de solucións de alta dispoñibilidade:

Administrador de cola de datos replicados (RDQM /'Easy HA'- MQ Advanced só en modo distribuído): Replicación sincrónica entre tres servidores que comparten unha dirección IP flotante.

Clústeres de xestores de cola: Os grupos de dous ou máis xestores de colas nunha ou máis computadoras defínense para un clúster, o que proporciona unha interconexión automática e permite que as colas se compartan entre eles para o equilibrio da carga e a redundancia.

Grupos de compartición de colas (só z/OS): Nunha contorna de cola compartida, unha aplicación pode conectarse a calquera dos xestores de colas dentro do grupo de compartición de colas. Debido a que todos os xestores de colas no grupo de compartición de colas poden acceder ao mesmo conxunto de colas compartidas, a aplicación non depende da dispoñibilidade dun xestor de colas en particular. Isto proporciona unha maior dispoñibilidade se un administrador de colas detense porque todos os outros administradores de colas no grupo de uso compartido de colas poden continuar procesando a cola.

Xestores de colas de instancias múltiples (dispoñibles desde v7.0.1): As instancias do mesmo administrador de colas configúranse en dúas ou máis computadoras coas súas colas e metadatos que residen no almacenamento compartido. Ao iniciar varias instancias, unha instancia convértese na instancia activa e as outras instancias vólvense en espera. Se a instancia activa falla, unha instancia en espera que se executa nunha computadora diferente automaticamente toma o control.

Historia[editar | editar a fonte]

Datas de lanzamento de versión[editar | editar a fonte]

Version name Release date
IBM MQ 9.1 27 de Xullo do 2018[6]
IBM MQ on IBM Cloud 13 de Marzo do 2018 [7]
IBM MQ for HPE Nonstop 8.0 23 de Xuño do 2017
IBM MQ 9.0 2 de Xuño do 2016 [8]
IBM MQ 8.0 23 de Maio do 2014
WebSphere MQ 7.5 15 de Xuño do 2012
WebSphere MQ 7.1 Novembro 2011
WebSphere MQ 7.0 z/OS Xuño 2008
WebSphere MQ 7.0 (Distributed, iSeries) Maio 2008
WebSphere MQ 6.0 z/OS Xuño 2005
WebSphere MQ 6.0 (Distributed, iSeries) Maio 2005
WebSphere MQ 5.3 z/OS Xuño 2002
WebSphere MQ 5.3 (Distributed, iSeries) Xuño, Xullo, Oct, Nov 2002
MQSeries 5.2 (Distributed) Dec 2000
MQSeries for OS/390 V5.2 Nov 2000
MQSeries for AS/400 V5.1 Xullo-Aug 2000
MQSeries for OS/390 V2.1 Feb 1999
MQSeries 5.1 April (NT), Xaneiro 1999
MQSeries for AS/400 V4.2 Feb 1998
MQSeries 5.0 Outubro 1997
MQSeries for MVS/ESA 1.2 29 August 1997 [9]
MQSeries for MVS 1.1.4, Xuño 1996
MQSeries 2.2 (Sun OS/Solaris, DC/OSx) Xuño, Xullo 1996
MQSeries 2.0 Windows NT 2Q 1996
MQSeries 2.2 (HP, SCO) 4Q 1995
MQSeries for MVS 1.1.3 Maio 1995
MQSeries 2.0 (OS/2, AIX) Feb 1995 (O comezo do fin de ezBridge)
MQM/400 V3 4Q 1994
ezBridge Transact for MQSeries 3.0 Xullo 1994
MQSeries for MVS 1.1.2 Xuño 1994
MQM/400 V2.3 Feb/Abril 1994
ezBridge Transact for MQSeries Marzo, Set, Nov, DSA
MQSeries for MVS V1.1.1 Decembro 31, 1993

Versión de fin de servizo[editar | editar a fonte]

Consulte o sitio IBM Software Support Lifecycle para obter información actualizada sobre as datas de finalización de soporte.

Nome da versión Dispoñibilidade xeral Fin do Márketing Fin de soporte
IBM MQ 9.1 27-Xul-2018 - -
IBM MQ 9.0 02-Xuñ-2016 - -
IBM MQ 8.0 13-Xuñ-2014 17-Abr-2020 30-Abr-2020
WebSphere MQ 7.5 06-Xul-2012 16-Dec-2016 30 de abril de 2018
WebSphere MQ 7.1 25-Nov-2011 12-Xul-2016 30-abr-2017

Referencia arquitectónica de fondo[editar | editar a fonte]

Co advenimiento das computadoras, IBM viu a oportunidade de aplicar nova tecnoloxía á necesidade do cambio de mensaxes.

A principios da década de 1960, IBM comercializou o Sistema de control de comunicacións IBM 7740 e o Control de transmisión programado IBM 7750, que eran sistemas de conmutación de mensaxes programables.

O IBM System/360 anunciouse en abril de 1964 e con el incorporáronse métodos de acceso á comunicación como BTAM e QTAM (Métodos de acceso a telecomunicacións básicas e en cola). En 1971, TCAM, o Método de acceso ás telecomunicacións, ofreceu aos seus usuarios unha forma máis avanzada de cambio de mensaxes ou encamiñamento de mensaxes. TCAM foi amplamente aceptada, especialmente nas industrias financeiras e de corredorías. Soportaba a mensaxería asíncrona, como coMQ posterior.TCAM 3.0 agregouse nas colas de mensaxes de discoreutilizables para a súa recuperación pouco despois, do mesmo xeito que con MQ. Poderíase utilizar un programa PL/I de alto nivel para acceder aos conxuntos de datosTRANSIENT (colas de mensaxes dinámicas). Ao ler unha mensaxe dun conxunto de datos transitorio, eliminouse esa mensaxe da cola, como no caso dunha LECTURA non explorable con MQ.

A fins da década de 1970, creáronse sistemas de xestión de transaccións, cada un tratando de alcanzar unha posición de liderado na industria. Dentro de IBM, CICS e IMS foron elixidos como produtos estratéxicos para abordar a necesidade da administración de transaccións. Tanto en CICS como en IMS, cada un tiña a súa versión de conmutación de mensaxes,IMS é un sistema en cola de front-end e CICS ten a súa facilidade de Datos Transitorios como a posible base para o intercambio de mensaxes.

CICS estableceuse como un sistema de xestión de transaccións popular no período 1968-1971. Aqueles usuarios que adoptaran TCAM polas súas capacidades de manexo de mensaxes, agora querían un uso combinado de TCAM con CICS. En decembro de 1971, IBM anunciou o soporte CICS de TCAM como parte do produto CICS/OS- Standard, que se entregará en decembro de 1972. Para os clientes interesados, isto permitiulles usar TCAM polas súas fortalezas de manexo de mensaxes e tamén ter terminais conectados a TCAM. ou as interfaces das computadoras coas aplicacións en liña de CICS.

En xaneiro de 1973, a versión 2.3 de CICS/OS- Standard continuou sendo compatible con TCAM. Con todo, o soporte de TCAM omitiuse no lanzamento inicial de CICS/VS, anunciado en febreiro de 1973 e entregado en xuño de 1974. Non fai falta dicir que moitos clientes de CICS-TCAM non estaban contentos coa dirección do produto.

Coa considerable presión dos clientes de CICS-TCAM, o soporte CICS de TCAM restableceuse no produto CICS/VS 1.1, a partir de setembro de 1974. Ademais do soporte DCB anterior, con este restablecemento do soporte TCAM, CICS comezou a apoiar o acceso TCAM a través de VTAM, tamén coñecido como o soporte ACB. O soporte CICS TCAM ACB suspendeuse a partir do produto CICS/ESA Versión 3 en 1990.

En 1992, IBM anunciou un novo produto chamado MQSeries. Este nome de marca máis tarde cambiouse de nome a "WebSphere MQ" (ás veces reduciuse a WMQ) en 2002 para admitir o nome da familia WebSphere e o produto. En 2014, pasou a chamarse "IBM MQ". MQ debía ser a extensión da funcionalidade TCAM dos sistemas exclusivos de IBM a todas as demais plataformas. MQ ten unha arquitectura que permite que os sistemas heteroxéneos comuníquense entre si (por exemplo, IBM, HP, Sun, Tandem, etc.). MQ pódese usar cos sistemas CICS para enviar e recibir datos a/desde calquera outro sistema elegxible para MQ. MQ pódese utilizar para iniciar o traballo nun sistema CICS ou unha transacción CICS pode iniciar o traballo noutro sistema CICS ou non CICS.

IBM MQ agora é compatible con 80 contornas diferentes e converteuse no principal produto de conmutación / encamiñamento de entrega garantida na industria.[10]

MQ e servizos web[editar | editar a fonte]

IBM MQ pódese usar como base para crear arquitectura orientada a servizos. Existen varias opcións de produtos adicionais para axudar a converter programas herdados de servizo web en funcionamento a través do uso de MQ. As empresas máis grandes e heteroxéneas a miúdo aparecen como unha federación de dominios algo autónomos baseados ​​en liñas de negocio, áreas funcionais ou de goberno. Nas devanditos contornas, algúns servizos poden compartirse ou reutilizarse só dentro dun único dominio, mentres que outros poden compartirse ou reutilizarse en toda a empresa. IBM MQ proporciona os medios polos cales existe comunicación entre as liñas de negocio ou dominios comerciais separados.

Un produto relacionado na familia de produtos IBM MQ, chamado IBM Integration Bus (anteriormente WebSphere Message Broker), permite un conxunto diverso e robusto de extensións para arquitecturas baseadas en colas. Usando IBM Integration Bus, os usuarios poden implementar un front-end de servizos web, completo co soporte de arquivos WSDL que pode interactuar con calquera aplicación baseada en colas.

Referencias[editar | editar a fonte]

  1. "MA95: A REXX interface to WebSphere MQ". Consultado o 2014-10-09. 
  2. "Introducing XMS -- The IBM Message Service API". Consultado o 2007-12-06. 
  3. MQSeries - extensión Perl para soporte de MQSeries - search.cpan.org
  4. "Documentación PyMQI". Arquivado dende o orixinal o 17 de xaneiro de 2013. Consultado o 05 de febreiro de 2019. 
  5. "MO74: WebSphere MQ - Windows Powershell Library". Consultado o 2007-12-06. 
  6. "IBM announcement of IBM MQ 9.1". International Business Machines (IBM). Consultado o 6 August 2018. 
  7. "IBM announcement of IBM MQ on IBM Cloud". International Business Machines (IBM). Consultado o 6 August 2018. 
  8. "IBM announcement of IBM MQ 9.0". International Business Machines (IBM). Consultado o 17 June 2016. 
  9. "MQSeries for MVS/ESA Version 1.2". International Business Machines (IBM). Consultado o 10 Dec 2018. 
  10. http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=an&subtype=ca&supplier=897&letternum=ENUS211-395 IBM MQ is the market-leading, message-oriented middleware product that delivers a reliable, proven universal messaging backbone for almost 10,000 organizations of different sizes, spanning many industries around the world.