Participe da Maratona Behind the Code! A competição de programação que mais te desafia! Inscreva-se aqui

Obtenha uma fila do IBM MQ para desenvolvimento no Windows

Para ver como o IBM MQ funciona, você será guiado por meio da criação e configuração de um gerenciador de filas. Em seguida, você conectará um aplicativo a ele.

Após concluir o tutorial, você estará apto a enviar mensagens para uma fila e a recuperar mensagens dela.

É possível fazer o download, instalar e executar o gerenciador de filas (servidor) do IBM MQ de várias maneiras:

Objetivos do aprendizado

Após concluir este tutorial, você compreenderá um pouco esses conceitos:

  • Gerenciadores de fila do IBM MQ
  • Filas do IBM MQ
  • Sistema de mensagens ponto a ponto

Pré-requisitos

As etapas do tutorial exigirão que você faça download e instale cada um desses pré-requisitos:

  • Uma máquina Windows 10 com privilégios de administrador
  • IBM MQ Advanced for Developers
  • Script de configuração do IBM MQ (MQSC)

Tempo estimado

Este tutorial deve levar cerca de 30 a 45 minutos.

Etapas

  1. Faça o download do IBM MQ
  2. Instale o IBM MQ
  3. Crie e inicie um gerenciador de filas
  4. Configure seu gerenciador de filas
  5. Crie um usuário e grupo para executar aplicativos clientes do MQ

  6. Coloque e obtenha mensagens de uma fila

Etapa 1. Faça o download do IBM MQ

Capture o IBM MQ Advanced for Developers for Windows. Esse é um arquivo grande, portanto, levará algum tempo.

Descompacte o download e anote o local de sua pasta do MQ Server.

Etapa 2. Instale o IBM MQ

Importante: se o ID do usuário administrativo com o qual você efetuou login no Windows tem mais de 12 caracteres, você não conseguirá concluir este tutorial. Efetue logout e login novamente como um usuário administrativo cujo nome de usuário tem menos de 12 caracteres.

Abra sua interface da linha de comando ‘como administrador’. Você precisará de privilégios elevados para executar alguns dos comandos neste tutorial.

Crie o comando que instalará o MQ em sua máquina. São necessárias três coisas para fazer isso:

  • O caminho para o local do arquivo do pacote do instalador do MQ, IBM MQ.msi, por exemplo: C:\mqadv_dev914_windows\MQServer\MSI\IBM MQ.msi.

  • O caminho para uma pasta na qual o MQ pode criar um arquivo de log de texto sem formatação para a instalação, inclusive o nome do arquivo, por exemplo: C:\Users\username\install.log.

  • O caminho para o local para o arquivo de parâmetros de instalação padrão do MQ, chamado Response.ini, por exemplo: C:\Users\username\Downloads\mqadv_dev914_windows\MQServer\Response.ini.

Edite este comando substituindo os caminhos de exemplo por seus três caminhos de local do arquivo e, em seguida, execute-o em sua linha de comandos:

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"

A instalação acontecerá em segundo plano. Para controlar o progresso da instalação, verifique o arquivo de log que você especificou.

Para verificar se a instalação foi bem-sucedida, imprima o nível de erro:

echo %ERRORLEVEL%

Se tudo correu bem, será retornado um código 0.

Saída do comando errorlevel

Se você receber um código diferente e parecer que a instalação falhou, primeiro verifique se você executou sua ferramenta de linha de comandos ‘como administrador’. Se não, abra outra janela de linha de comandos no modo ‘executar como administrador’ e tente o comando novamente.

Quando a instalação for concluída com sucesso, haverá um novo ícone em sua barra de tarefas, à medida que o MQ iniciar automaticamente após ser instalado.

Ícone do IBM MQ na barra de tarefas do Windows

Se a instalação não foi bem-sucedida, verifique o arquivo de log para descobrir o que aconteceu:

notepad C:\Users\username\install.log

Se a instalação silenciosa falhar, será possível instalar o MQ dando um clique duplo em Setup.exe na pasta MQServer para iniciar a Barra de ativação que o guiará nas etapas de instalação.

Etapa 3. Crie e inicie um gerenciador de filas

O principal objeto do MQ no qual os aplicativos estão interessados, no sistema de mensagens ponto a ponto, é uma fila. Para poder criar uma fila, deve-se criar um gerenciador de filas. O gerenciador de filas do IBM MQ é o servidor que hospeda a fila.

Se você acabou de instalar o MQ pela primeira vez, o caminho da instalação do MQ será: C:\Program Files\IBM\MQ.

Em sua linha de comandos, mude os diretórios para a pasta bin de sua instalação do MQ, por exemplo:

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

Agora, insira:

setmqenv -s

Agora é possível emitir comandos do IBM MQ sem precisar estar na pasta bin de sua instalação do MQ.

É possível exibir os caminhos de Instalação e de Dados do MQ executando o comando dspmqver “exibir versões do MQ” na linha de comandos:

dspmqver

Deverá aparecer uma saída como esta:

Saída do comando exibir versões do MQ É necessária uma fila para começar a colocar e obter suas mensagens. As filas existem em gerenciadores de filas, portanto, é necessário criar um gerenciador de filas primeiro. Em sua linha de comandos, digite:

crtmqm QM1

Deverá aparecer uma saída como esta:

Saída da criação de uma fila

O gerenciador de filas é criado, mas não iniciado. Inicie seu gerenciador de filas:

strmqm QM1

Deverá aparecer uma saída como esta:

Saída do início de uma fila

Etapa 4. Configure seu gerenciador de filas

Nós fornecemos um script para ajudá-lo a criar os objetos do MQ para seu gerenciador de filas. Nós obteremos esse script no GitHub usando um comando curl. Certifique-se de executar este comando em uma pasta na qual você possui permissões de gravação, como seu diretório inicial.

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

Execute este comando para criar os objetos do MQ e inclua o local no qual você salvou o arquivo de script, por exemplo:

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

Quando ele tiver concluído, Deverá aparecer uma saída como esta:

Saída da execução do arquivo de script mqsc

Você está executando o Windows 10 Enterprise?

Se o comando runmqsc falhar e você estiver executando o Windows 10 Enterprise, isso provavelmente se deve ao fato de seu usuário do domínio não estar listado como um usuário local em sua máquina. Para solucionar esse problema, é possível executar os Usuários Locais e o Gerente dos Grupos:

lusrmgr.msc

A partir daí, você deve criar um usuário e incluí-lo no grupo mqm que foi criado durante a instalação do MQ. Quando você tiver concluído isso, basta executar o comando runmqsc como esse usuário:

executar como /usuário: THE_USER "runmqsc QM1<\"C:\Users\user\Downloads\mq-dev-config.mqsc\""

Agora, tudo deve funcionar. O script cria objetos como uma fila, um canal e um listener. Os aplicativos precisam conhecê-los ao tentar se conectar ao seu gerenciador de filas.

Etapa 5. Crie um usuário e grupo para executar aplicativos clientes do MQ

A função de um usuário é definida por meio dos grupos aos quais ele pertence. Nós geralmente desejamos que os aplicativos do MQ sejam executados em uma conta sem privilégios do administrador. A sua conta do usuário é uma conta do administrador do MQ.

Os aplicativos clientes precisam estar autorizados para executar ações como abrir e fechar filas, colocar e obter mensagens etc. O cliente se conecta ao gerenciador de filas por meio de um canal. Para isso, é necessário conectar-se a partir de uma conta do usuário que pertence a um grupo cujos membros estão autorizados a usar o canal.

Em sua ferramenta Windows Computer Management, em Usuários e Grupos Locais,

  1. Crie um grupo do Windows mqclient
  2. Crie um usuário do Windows app que seja membro do grupo mqclient. Configure a senha como passw0rd. O usuário mudará essa senha na próxima vez que efetuar logon.

É possível, então, incluir autoridade no grupo mqclient para que seus membros possam se conectar ao gerenciador de filas e colocar e obter mensagens em uma fila.

Execute este comando:

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

Em seguida, execute este comando:

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

saída do comando setmqaut

O que você fez até agora

Você instalou o IBM MQ em seu PC Windows, criou um gerenciador de filas e executou um script MQSC para criar objetos do MQ. Agora você está pronto para criar e executar aplicativos do MQ. O MQ está usando os recursos e a conectividade de seu computador host.

diagrama da instalação do MQ on Windows

Os seguintes objetos e permissões são configurados:

  • Gerenciador de filas QM1
  • Fila DEV.QUEUE.1
  • Canal: DEV.APP.SVRCONN
  • Listener: SYSTEM.LISTENER.TCP.1 na porta 1414

O usuário app, que é um membro do grupo mqclient, tem permissão para usar o canal DEV.APP.SVRCONN para se conectar ao gerenciador de filas QM1. O usuário/app pode colocar e obter mensagens na fila DEV.QUEUE.1.

Etapa 6. Coloque e obtenha mensagens em uma fila

Agora, nós temos uma instalação do MQ que permite nos conectar às nossas filas pré-configuradas e enviar mensagens, então vamos enviar algumas mensagens para praticar.

Nós usaremos um programa de colocação de mensagem de amostra, amqsputc, incluído na instalação do MQ. Nós precisamos configurar duas variáveis de ambiente.

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

MQSERVER especifica o endpoint do gerenciador de filas. MQSAMP_USER_ID especifica a conta que possui permissão para executar os programas de amostra incluídos com a instalação do MQ.

Mude para o diretório no qual as amostras estão:

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

Não há a necessidade de efetuar login como o usuário app. Basta executar este comando para colocar uma mensagem:

amqsputc DEV.QUEUE.1 QM1

Isso deve solicitar a senha para a conta do usuário app. Insira passw0rd e, em seguida, você terá a opção de colocar uma ou mais mensagens separadas, pressionando ENTER, na fila DEV.QUEUE.1. Quando tiver concluído a colocação de mensagens, pressione ENTER duas vezes para confirmá-las na fila.

você verá uma saída semelhante a esta:

saída de colocar uma mensagem na fila

Finalmente, podemos obter as mensagens de nossa fila. Execute este comando:

amqsgetc DEV.QUEUE.1 QM1

Insira a senha para o usuário app e suas mensagens deverão ser retornadas. O programa espera 15 segundos. Caso novas mensagens cheguem, ele é encerrado. A mensagem retornada deve ser semelhante a esta:

Saída da fila de mensagens

Resumo

Neste tutorial, você configurou o gerenciador de filas em execução em sua máquina do Windows para conexões do cliente recebidas. O aplicativo amqsputc abriu uma fila e colocou mensagens nela. O aplicativo amqsgetc recebeu mensagens da mesma fila.

Ao começar a desenvolver seus próprios aplicativos clientes para conectar-se ao gerenciador de filas, você seguirá estas etapas:

  1. Configure a conexão com o gerenciador de filas.
  2. Abra uma fila.
  3. Coloque uma mensagem na fila.
  4. Obtenha a mensagem da fila.
  5. Feche a conexão com o gerenciador de filas.

Este processo demonstra o estilo ponto a ponto do sistema de mensagens.

O aplicativo amqsputc age como o ponto produtor quando ele coloca uma mensagem. O aplicativo amqsgetc age como o ponto consumidor quando ele obtém a mensagem da fila.

No IBM MQ, o gerenciador de filas é efetivamente o servidor parte do sistema e os aplicativos que se conectam a ele são os clientes.

Geralmente, são os administradores que cuidam do servidor MQ no qual todos os objetos do MQ estão definidos e o roteamento de mensagens ocorre. Os aplicativos clientes são criados por desenvolvedores e o IBM MQ fornece bibliotecas do cliente que os desenvolvedores devem incluir em seus aplicativos. Essas bibliotecas, também chamadas de clientes do MQ, tratam e usam os objetos do MQ que os administradores configuraram no lado do servidor do MQ. Em cenários mais complexos, as bibliotecas do MQ realizam a maior parte do trabalho pesado do sistema de mensagens para você, portanto, você precisa apenas aprender como usá-las.

É necessária a configuração nos lados do servidor e do cliente para que o sistema de mensagens funcione.

Ao começar a desenvolver aplicativos clientes do MQ pela primeira vez, ajuda ter acesso ao seu próprio gerenciador de filas e a uma fila, para testar seu aplicativo cliente. A instalação do IBM MQ em sua máquina Windows fornece acesso a um gerenciador de filas e várias opções para configurar objetos do MQ à medida que você começa a desenvolver seu aplicativo cliente.

Próximas etapas

O que vem a seguir? Grave seu primeiro aplicativo JMS.

Aviso

O conteúdo apresentado aqui foi traduzido da página do IBM Developer nos EUA. É possível conferir o conteúdo original em este link.