Obtén una fila de IBM MQ para desarrollar en Ubuntu – IBM Developer

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

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

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:

  • En un contenedor.
  • En IBM Cloud.
  • En varios sistemas operativos: Linux/Ubuntu (este tutorial) o Windows. Para MacOS, utiliza MQ en contenedores.

Objetivos de aprendizaje

Después de completar este tutorial, comprenderás 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:

Tiempo estimado

Para completar este tutorial hacen falta aproximadamente 30 minutos.

Pasos

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

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

Antes de empezar la instalación, tenemos que crear un grupo llamado “mqclient” y una cuenta de usuario llamada “app” en este grupo. Estos nombres nos permitirán configurar los objetos de MQ con los que trabajaremos, como filas y canales.

Realmente, nunca nos hará falta iniciar sesión como el usuario “app”. Después de tu creación, mantén la sesión iniciada en tu propia cuenta.

Crea el grupo mqclient desde el terminal con el comando:

sudo addgroup mqclient

Deberías ver una confirmación de que se hizo correctamente. Después, creamos el usuario “app” y añadimos este usuario al grupo mqclient:

sudo adduser app

Esto te pedirá que crees una contraseña para la cuenta “app”, lo que debes hacer. Después se te pedirán otros detalles de la cuenta, lo que es posible dejar en blanco, solo es necesario pulsar INTRO hasta que la cuenta se haya creado.

Ahora, tenemos que añadir el usuario “app” al grupo “mqclient” y comprobar que se hizo correctamente.

sudo adduser app mqclient
groups app

Deberíamos obtener la siguiente salida:

Salida de añadir un usuario y un grupo

Ahora, la cuenta está configurada correctamente y es posible pasar a la instalación y configuración.

Tienes dos opciones para instalar MQ en Ubuntu:

  • Si quieres pasar por todos los pasos de la instalación y configuración, ve del paso 2 al 5 de este tutorial e introduce los comandos por ti mismo. Después, continúa con el Paso 6.

  • Si quieres tener rápidamente algo que funcione, es posible utilizar este script Bash útil que instalará MQ y configurará tu entorno de desarrollo. Si utilizas este script, asegúrate de que vuelves a este tutorial y continúas con el Paso 6 para poner y obtener tu primer mensaje.

¿Ya elegiste? Realmente no quieres utilizar el script Bash? Lee cómo instalar MQ y ajusta tu configuración.

Paso 2. Descarga IBM MQ

Vamos a instalar MQ Advanced for Developers, y después configurarlo para que es posible desarrollar con MQ. Descarga el archivo tar.gz desde aquí.

Paso 3. Instala IBM MQ

Descomprime la carpeta que descargaste. El contenido se extrae a una carpeta llamada “MQServer”. Esta carpeta contiene muchos paquetes de Debian que se tienen que instalar. Anota la ubicación de esta carpeta, por ejemplo, /home/username/Downloads/MQServer. Abre un terminal y escribe:

sudo ./mqlicense.sh -text_only

Esto abre la licencia en el terminal. Lee la licencia y pulsa 1 para aceptar los términos. Si recibe un error y Java no está en su camino, haga esto:

sudo ./mqlicense.sh -text_only -jre $(which java)

Después, queremos asegurarnos de que el instalador de apt puede encontrar las dependencias del paquete e instalar MQ correctamente. Para hacerlo, es necesario añadir la carpeta a la caché de apt.

  1. Ve al directorio /etc/apt/sources.list.d
  2. Crea un archivo .list con un nombre como ibmmq-install.list

Dentro de este archivo, pon esta línea:

deb [trusted=yes] file:/home/username/Downloads/MQServer ./

después, añade los paquetes a la caché apt con:

sudo apt update

Ahora, estamos listos para instalar MQ. Instala todos los paquetes con este comando:

sudo apt install "ibmmq-*"

Ahora que hemos instalado IBM MQ, comprobemos que la instalación se hizo correctamente. Hazlo con el comando /opt/mqm/bin/dspmqver. Deberías ver un resultado como éste:

Salida después de instalar IBM MQ

¡Éxito!

Paso 4. Configura tu entorno de MQ

Cuando la instalación haya finalizado, es necesario añadir el usuario al grupo de administración “mqm” para que tenga privilegios de administrador de MQ, como la capacidad de crear e iniciar un gestor de filas. Importante: Este no es el usuario “app”, es tu cuenta de usuario. Estás realizando acciones como el administrador, y el usuario “app” está usando la configuración de MQ que creaste. Añade tu cuenta de usuario con este comando:

sudo adduser $(whoami) mqm

Ahora que tu cuenta de usuario (y no la cuenta llamada “app”) ha sido añadida al grupo, queremos utilizar esos privilegios para crear un gestor de filas. Sin embargo, tenemos que asegurarnos de que se ha configurado el entorno de mq. Haz esto introduciendo:

cd /opt/mqm/bin
. setmqenv -s

Esto significa que ahora es posible introducir comandos de MQ para realizar diferentes tareas, por ejemplo, crear e iniciar un gestor de filas. Ya se ha configurado el entorno, pero solo para el shell actual. Si se quiere utilizar otro shell o terminal es necesario repetir este paso.

Paso 5. Crea y configura un gestor de filas

Vamos a crear e iniciar un gestor de filas. Utiliza el comando crtmqm para crear un gestor de filas llamado QM1:

crtmqm QM1

Inicia nuestro gestor de filas nuevo con:

strmqm QM1

Ahora que tenemos un gestor de filas, es la hora de configurarlo y darlo algunos objetos de MQ. Esto se hace por medio de un script de configuración. Muévelo a una carpeta en la que sea posible descargar un archivo y escribe:

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

Cuando el script esté descargado, ejecútelo:

runmqsc QM1 < "./mq-dev-config.mqsc"

Este comando ejecuta el gestor de filas QM1 con comandos de entrada del script .mqsc. Deberías ver un resultado como éste:

Salida de la ejecución del gestor de filas

Finalmente, para acabar con el proceso, es necesario añadir la autoridad al grupo “mqclient” para que sus miembros (es decir, el usuario “app”) tengan los permisos necesarios para conectarse a un gestor de filas para poner y obtener mensajes. Hazlo con los comandos:

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

Ahora, ¡todo debería estar listo para que utilices MQ! Lo probaremos a continuación, enviando nuestro primer mensaje.

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

Así que ahora tenemos una instalación de MQ que nos permite conectarlo a nuestras filas preestablecidas y enviar mensajes.

Si te estás uniendo a nosotros después de utilizar el script Bash, ¡bienvenido! Si usaste el script Bash, será necesario dar un paso extra para permitir que tu cuenta utilice los comandos de MQ. Si utilizaste el script, introduce:

. /opt/mqm/bin/setmqenv -s

Esto configurará tu entorno de MQ para el shell actual. Será necesario volver a hacer esto si utilizas un shell o terminal diferente. ¿Listo? Genial, vamos a continuar y a enviar mensajes.

Para utilizar un programa de muestra para poner mensajes, amqsputc, es necesario exportar un par de variables de entorno.

export MQSERVER='DEV.APP.SVRCONN/TCP/localhost(1414)'
export 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.

Recuerda, no hace falta que inicies sesión como el usuario “app”. Solo es necesario ejecutar este comando de terminal para ejecutar el script que pone el mensaje:

cd /opt/mqm/samp/bin
./amqsputc DEV.QUEUE.1 QM1

Esto te debería solicitar la contraseña de la cuenta de usuario “app”. Ingresa esto, 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.

Finalmente, es posible obtener los mensajes de nuestra fila. Ejecuta:

./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 se cierra. El mensaje devuelto debería parecerse a este:

Salida que muestra el mensaje devuelto

Resumen

En este tutorial, configuró 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 funciona 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. La instalación de IBM MQ en tu máquina Ubuntu te proporciona acceso a un gestor de filas y muchas opciones para configurar objetos de MQ mientras comienzas a desarrollar tus propias aplicaciones de MQ.

Próximos pasos

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

¿Quieres parar o eliminar tu gestor de filas? ¿Desinstalar MQ?

Si quieres continuar con los otros tutoriales de la ruta de aprendizaje de MQ Essentials, no utilices estos comandos.

Para parar tu gestor de filas, envía este comando: endmqm QM1

Para eliminar tu gestor de filas, envía este comando: dltmqm QM1

Para desinstalar IBM MQ y eliminar la definición del producto en la memoria caché, utiliza este comando: apt purge "ibmmq-*"

Para mantener la definición en la memoria caché, utiliza este comando: apt remove "ibmmq-*"

Aviso

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