Crea, ejecuta y gestiona aplicaciones con Red Hat OpenShift en IBM Cloud. | 22 al 24 de Junio Inscríbete ya

Obtén una fila de IBM MQ para desarrollar en Windows

Para ver cómo funciona IBM MQ, se te guiará a lo largo de la creación y la configuración de un gestor de filas. Después, lo conectarás a una aplicación.

Después de completar el tutorial, serás capaz de enviar mensajes y de recibir mensajes de una fila.

Es posible descargar, instalar y ejecutar el gestor de filas de IBM MQ (servidor) de diferentes maneras:

Objetivos de aprendizaje

Después de completar este tutorial, comprenderás un poco estos conceptos:

  • Gestores de filas de IBM MQ
  • Filas de IBM MQ
  • Mensajería de punto a punto

Requisitos Previos

Para realizar los pasos de este tutorial tendrás que descargar e instalar estos requisitos previos:

  • Una máquina de Windows 10 con privilegios administrativos
  • IBM MQ Advanced for Developers
  • Script de configuración de IBM MQ (MQSC)

Tiempo estimado

Para completar este tutorial hacen falta aproximadamente 30-45 minutos.

Pasos

  1. Descarga IBM MQ
  2. Instala IBM MQ
  3. Crea e inicia un gestor de filas
  4. Configura tu gestor de filas
  5. Crea un usuario y un grupo para ejecutar aplicaciones cliente de MQ
  6. Pon y obtén mensajes de una fila

Paso 1. Descarga IBM MQ

Obtén IBM MQ Advanced for Developers para Windows. Este es un archivo grande, así que tardará un rato.

Descomprime el archivo descargado y toma nota de la ubicación de la carpeta de tu servidor de MQ.

Paso 2. Instala IBM MQ

Importante: Si el ID de usuario administrador con el que se inició sesión en Windows tiene más de 12 caracteres, no será posible completar este tutorial. Cierra y vuelve a iniciar sesión como un nombre de usuario administrador que tenga menos de 12 caracteres.

Abre ‘como administrador’ la interfaz de tu línea de comando. Para ejecutar algunos de los comandos de este tutorial, serán necesarios privilegios elevados.

Crea el comando que instalará MQ en tu máquina. Para hacerlo, necesitarás tres cosas:

  • La ruta de la ubicación del archivo IBM MQ.msi del paquete instalador de MQ, por ejemplo: C:\mqadv_dev914_windows\MQServer\MSI\IBM MQ.msi.

  • La ruta a la carpeta en la que MQ puede crear una bitácora de texto sin formato para la instalación que incluya el nombre del archivo, por ejemplo: C:\Users\username\install.log.

  • La ruta de la ubicación para el archivo de parámetros predeterminados para la instalación de MQ, llamado Response.ini, por ejemplo: C:\Users\username\Downloads\mqadv_dev914_windows\MQServer\Response.ini.

Edita este comando reemplazando las rutas de ejemplo por las tres rutas anteriores de ubicaciones de archivos y, después, ejecútalo en tu línea de comando:

start /wait msiexec /i "C:\Users\username\Downloads\mqadv_dev914_windows\MQServer\MSI\IBM MQ.msi" /l*v "C:\Users\username\install.log" /q RESPONSE="C:\Users\username\Downloads\mqadv_dev913_windows\MQServer\Response.ini" TRANSFORMS="1033.mst" AGREETOLICENSE="yes" ADDLOCAL="Server"

La instalación se realizará en segundo plano. Para realizar un seguimiento del progreso de la instalación, comprueba la bitácora que especificaste.

Para comprobar si la instalación tuvo éxito, imprime el nivel de error:

echo %ERRORLEVEL%

Si todo fue bien, aparecerá el código 0.

Salida del comando errorlevel

Si obtienes un código diferente y parece que la instalación falló, comprueba primero si ejecutaste tu herramienta de línea de comando ‘como administrador’. Si no es así, abre otra ventana de línea de comando en modo ‘ejecutar como administrador’ y vuelve a probar el comando.

Cuando la instalación se complete correctamente, aparecerá un nuevo icono en tu barra de tareas, ya que MQ se inicia automáticamente después de la instalación.

Icono de IBM MQ en la barra de tareas de Windows

Si la instalación no tuvo éxito, comprueba la bitácora para descubrir lo que ocurrió:

notepad C:\Users\username\install.log

Si la instalación silenciosa falló, es posible instalar MQ haciendo doble clic Setup.exe en la carpeta MQServer para iniciar el Launchpad que guiará por los pasos de la instalación.

Paso 3. Crea e inicia un gestor de filas

En la mensajería de punto a punto, el principal objeto de MQ en el que están interesadas las aplicaciones es la fila. Antes de crear una fila, es necesario crear un gestor de filas. El gestor de filas de IBM MQ es el servidor anfitrión de la fila.

Si estás instalando MQ por primera vez, la ruta de instalación de MQ será: C:\Program Files\IBM\MQ.

En tu línea de comando, cambia los directorios a la carpeta bin de tu instalación de MQ, por ejemplo:

cd "C:\Program Files\IBM\MQ\bin"

Ahora, ingresa:

setmqenv -s

Ahora es posible enviar comandos de IBM MQ sin tener que estar en la carpeta bin de la instalación de MQ.

Es posible mostrar las rutas de instalación y datos de MQ ejecutando el comando dspmqver «mostrar versiones de MQ» en la línea de comando:

dspmqver

Deberías ver un resultado como éste:

Salida del comando mostrar versiones de MQ

Para empezar a poner y recibir mensajes, es necesario una fila. Las filas residen en los gestores de filas, así que, primero es necesario crear un gestor de filas. En tu línea de comando, escribe:

crtmqm QM1

Deberías ver un resultado como éste:

Salida de la creación de una fila

Se crea, pero no se inicia el gestor de filas. Inicia tu gestor de filas:

strmqm QM1

Deberías ver un resultado como éste:

Salida del inicio de una fila

Paso 4. Configura tu gestor de filas

Hemos proporcionado un script para ayudarte a crear objetos de MQ para tu gestor de filas. Obtendremos este script de GitHub mediante un comando curl. Asegúrate de que ejecutas este comando desde una carpeta en la que tienes permiso para escribir, como tu directorio inicial.

curl -o mq-dev-config.mqsc https://raw.githubusercontent.com/ibm-messaging/mq-dev-samples/master/gettingStarted/mqsc/mq-dev-config.mqsc

Ejecuta este comando para crear los objetos de MQ y añadir la ubicación en la que guardó el archivo script, por ejemplo:

runmqsc QM1<"C:\Users\user\Downloads\mq-dev-config.mqsc"

Cuando hayas acabado, verás una salida parecida a esta:

Salida de la ejecución del archivo script mqsc

¿Estás ejecutando Windows 10 Enterprise?

Si el comando runmqsc falla, y estás ejecutando Windows 10 Enterprise, es probable que falle porque el usuario de tu dominio no está registrado como usuario local en tu máquina. Para solucionar este problema, es posible ejecutar el Gestor de Usuarios y Grupos Locales:

lusrmgr.msc

Desde ahí, deberías crear un usuario y añadirlo al grupo mqm que se creó durante la instalación de MQ. Cuando hayas hecho eso, ejecuta el comando runmqsc como ese usuario:

runas /user:THE_USER "runmqsc QM1<\"C:\Users\user\Downloads\mq-dev-config.mqsc\""

Ahora, todo debería funcionar. El script crea objetos, como una fila, un canal y un receptor. Las aplicaciones tienen que ser conscientes de ellos al intentar conectarse a tu gestor de filas.

Paso 5. Crea un usuario y un grupo para ejecutar aplicaciones cliente de MQ

El papel de un usuario se define según los grupos a los que pertenece. Normalmente queremos que las aplicaciones de MQ se ejecuten desde una cuenta sin privilegios de administrador. Tu cuenta de usuario es una cuenta de administrador de MQ.

Las aplicaciones cliente tienen que estar autorizadas para realizar acciones como abrir y cerrar filas, poner y obtener mensajes, etc. El cliente se conecta al gestor de filas por medio de un canal. Para hacerlo, es necesario conectarse desde una cuenta de usuario que pertenezca a un grupo cuyos miembros están autorizados a utilizar el canal.

En tu herramienta Windows Computer Management, en usuarios y grupos locales,

  1. Crea un grupo de Windows mqclient
  2. Crea una app usuario de Windows que sea miembro del grupo mqclient. Pon como contraseña passw0rd. El usuario cambiará esta contraseña la próxima vez que inicie sesión.

Ahora es posible añadir la autoridad al grupo mqclient para que sus miembros puedan conectarse al gestor de filas, y poner y obtener mensajes de una fila.

Ejecuta este comando:

setmqaut -m QM1 -t qmgr -g mqclient +connect +inq

Después, ejecuta este comando:

setmqaut -m QM1 -n DEV.** -t queue -g mqclient +put +get +browse +inq

salida del comando setmqaut

Qué has hecho hasta ahora

Instalaste IBM MQ en tu PC Windows, creaste un gestor de filas y ejecutaste un script de MQSC para crear objetos de MQ. Ahora, estás listo para crear y ejecutar aplicaciones de MQ. MQ está utilizando los recursos y la conectividad de tu computadora anfitriona.

diagrama de la instalación de MQ en Windows

Establecer los siguientes objetos y permisos:

  • Gestor de filas QM1
  • Fila DEV.QUEUE.1
  • Canal: DEV.APP.SVRCONN
  • Receptor: SYSTEM.LISTENER.TCP.1 en el puerto 1414

El usuario app, que es un miembro del grupo mqclient, tiene permiso para utilizar el canal DEV.APP.SVRCONN para conectarse al gestor de filas QM1. El usuario/aplicación puede poner y obtener mensajes de la fila DEV.QUEUE.1.

Paso 6. Pon y obtén mensajes de una fila

Ahora tenemos una instalación de MQ que nos permite conectarlo a nuestras filas preestablecidas y enviar mensajes, así que, vamos a enviar algunos mensajes de práctica.

Utilizaremos un programa de muestra para poner mensajes, amqsputc, que se incluye en la instalación del MQ. Es necesario establecer un par de variables de entorno.

set MQSERVER=DEV.APP.SVRCONN/TCP/localhost(1414)
set MQSAMP_USER_ID=app

MQSERVER especifica el punto final del gestor de filas. MQSAMP_USER_ID especifica la cuenta que tiene permiso para ejecutar los programas de muestra que se incluyen con la instalación de MQ.

Cámbialo al directorio en el que están las muestras:

cd C:\Program Files\IBM\MQ\tools\c\Samples\Bin64

No hace falta que inicies sesión como el usuario app. Solo es necesario ejecutar este comando para poner un mensaje:

amqsputc DEV.QUEUE.1 QM1

Esto te debería solicitar la contraseña de la cuenta de usuario app. Ingresa passw0rd, y después tendrás la opción de poner uno o más mensajes, que se separan pulsando INTRO, en la fila DEV.QUEUE.1. Cuando hayas acabado de poner mensajes, pulsa INTRO dos veces para ponerlos en la fila.

Deberías ver una salida similar a esta:

salida tras poner un mensaje en la fila

Finalmente, podemos obtener los mensajes de nuestra fila. Ejecuta este comando:

amqsgetc DEV.QUEUE.1 QM1

Ingresa la contraseña del usuario app y deberías recibir tus mensajes. El programa espera 15 segundos, por si llegan nuevos mensajes, y luego sale. El mensaje devuelto debería parecerse a este:

Salida de la fila de mensajes

Resumen

En este tutorial, configuraste el gestor de filas que se ejecuta en tu máquina Windows para las conexiones entrantes de clientes. La aplicación amqsputc abrió una fila y puso mensajes en ella. La aplicación amqsgetc obtuvo mensajes de la misma fila.

Cuando empieces a desarrollar tus propias aplicaciones del cliente para conectarlas con el gestor de filas, seguirás estos pastos:

  1. Configura la conexión para el gestor de filas.
  2. Abre una fila.
  3. Pon un mensaje en la fila.
  4. Obtén el mensaje de la fila.
  5. Cierra la conexión con el gestor de filas.

Este proceso demuestra el estilo de mensajería de punto a punto.

La aplicación amqsputc funciona como el punto productor cuando pone un mensaje. La aplicación amqsgetc actúa como el punto consumidor cuando obtiene el mensaje de la fila.

En IBM MQ, el gestor de filas es efectivamente la parte del servidor del sistema, y las aplicaciones que se conectan a él son los clientes.

Normalmente, el administrador es el que cuida del servidor de MQ donde se definen todos los objetos de MQ y ocurre todo el direccionamiento de mensajes. Las aplicaciones cliente son creadas por los desarrolladores e IBM MQ brinda bibliotecas de clientes que los desarrolladores deben incluir en sus aplicaciones. Esas bibliotecas, también llamadas clientes de MQ, atienden y utilizan los objetos de MQ que los administradores han creado en el lado del servidor de MQ. En escenarios más complejos, las bibliotecas de MQ hacen la mayoría del trabajo pesado por ti, así que es necesario aprender cómo usarlas.

Para que la mensajería funcione, hay que configurar los lados del servidor y del cliente.

Cuando empieces a desarrollar por primera vez aplicaciones cliente de MQ, te ayudará tener acceso a tu propio gestor de filas y a una fila, para probar tu aplicación cliente con ellos. La instalación de IBM MQ en tu máquina Windows te proporciona acceso a un gestor de filas y muchas opciones para configurar objetos de MQ mientras comienzas a desarrollar tu propia aplicación cliente.

Próximos pasos

¿Qué es lo siguiente? Escribe tu primera aplicación de JMS.

Aviso

El contenido aquí presentado fue traducido de la página IBM Developer US. Puede revisar el contenido original en este link.