Usando a ferramenta Java Client para testar filas do Sterling Order Management System MQ sobre SSL

Quando os usuários do SI instalarem seu kit de ferramentas do desenvolvedor conteinerizado com sucesso, eles poderão usar a ferramenta MQ Java™ Client empacotada com o kit de ferramentas do desenvolvedor para se conectar a uma fila em sua instância do MQ em nuvem sobre SSL.

Implementação do cliente Java customizado

Uma implementação do cliente Java de amostra customizada é empacotada com o kit de ferramentas do desenvolvedor É possível executar essa implementação de amostra como a ferramenta do cliente Java MQ para executar várias tarefas explicadas neste tópico. Você pode usar a implementação Java de amostra personalizada como referência para fazer suas próprias implementações personalizadas para se conectar às filas MQ do ambiente de nuvem do Sterling™ Order Management System. A implementação de amostra também contém a lógica necessária para se reconectar às filas do ambiente de nuvem do MQ quando a instância do MQ sofre um processo de failover.

A implementação de amostra está disponível no devtoolkit_docker/compose/docker/mqserver/mqjc/src/com/ibm/mq/samples/jms/JmsPutGet.java

Pré-requisitos para usar a ferramenta Java Client

Antes de iniciar a configuração da ferramenta Java Client para se conectar a uma fila na instância do Cloud MQ sobre SSL, assegure-se de ter as informações a seguir disponíveis:

  • O servidor ao qual se conectar, a saber <tenant_code>-<env>-<envno>-mq.oms.supply-chain.ibm.com.
  • A fila do MQ para testar.
  • O arquivo p12 de chave privada transferido por download de Autoatendimento.

Configurando a Ferramenta Java Client

Execute o comando a seguir a partir do kit de ferramentas do desenvolvedor
./om-compose.sh mqjc-setup <Path to SST P12 file>

Executando a ferramenta Java Client

Execute o comando a seguir a partir do kit de ferramentas do desenvolvedor:
./om-compose.sh mqjc <optional: override parameters>

Parâmetros para o cliente

  • Os seguintes parâmetros são configurados por padrão:
    PORT=15443
    CHANNEL=SYSTEM.TLS.SVRCONN
    QMGR=OM_QMGR
    CIPHER=SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • Opcionalmente, é possível configurar uma ou mais das seguintes propriedades em om-compose.properties para substituir os valores padrão:
    MQJC_PORT=<overriden port>
    MQJC_CHANNEL=<overriden channel>
    MQJC_QMGR=<overriden qmgr>
    MQJC_CIPHER=<overriden cipher>
    Forneça valores apropriados para as seguintes propriedades:
    MQJC_HOST=<host name/ip address of the mq server>
    MQJC_QUEUE=<name of the queue to test>
    
  • Opcionalmente, passe um ou mais dos seguintes parâmetros de substituição para a chamada ./om-compose.sh mqjc . Isso substitui os valores no código e também qualquer propriedade configurada em om-compose.properties.
    -DMQJC_PORT=<overriden port> 
    -DMQJC_CHANNEL=<overriden channel> 
    -DMQJC_QMGR=<overriden qmgr>
    -DMQJC_CIPHER=<overriden cipher> 
    -DMQJC_HOST=<host name/ip address of  mq server> 
    -DMQJC_QUEUE=<name of the queue to test>

Cifras a usar

Ambientes de nuvem atualizados:
  • IBM® JRE- SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Padrão)
  • Oracle JRE- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Ambientes de nuvem antigos:
  • IBM JRE- SSL_RSA_WITH_AES_128_CBC_SHA256
  • Oracle JRE- TLS_RSA_WITH_AES_128_CBC_SHA256
Nota:
  • Se você estiver executando a ferramenta Java Client de um kit de ferramentas do desenvolvedor no Linux® com um tempo de execução extraído, ele usará o IBM JRE. Se você não tiver um tempo de execução extraído, ele usará o JRE referido pela variável JAVA_HOME , que pode ser IBM ou Oracle JRE com base no que você instalou em sua máquina.
  • Se você estiver executando a ferramenta Java Client a partir de um kit de ferramentas do desenvolvedor no Mac, ele usará o JRE que está instalado em seu Mac que é referido pela variável JAVA_HOME , pois é o mesmo JRE que é copiado para seu tempo de execução extraído.
Dica: Para verificar se o JRE é IBM JRE ou Oracle JRE, execute java -version. Se contiver IBM J9 VM, ele será IBM JRE. Se contiver Java HotSpot VM, ele será Oracle JRE.

Argumentos adicionais

Com a versão do cliente do MQ 9.2.1(versão do CD) e posterior, deve-se usar o argumento JVM a seguir para clientes ou ferramentas baseados em Java:
-Dcom.ibm.mq.cfg.SSL.outboundSNI=Hostname
Se o cliente ou a ferramenta de terceiros for C ou .NET (Não gerenciado), passe OutboundSNI=HOSTNAME na sub-rotina SSL do arquivo mqclient.ini . Esse atributo pode ser lido por classes C, .NET não gerenciado, IBM MQ para Java e classes IBM MQ para Java e classes IBM MQ apenas para clientes JMS.
Nota: Se você estiver usando o Oracle JDK pass, use o argumento JVM a seguir.
-Dcom.ibm.mq.cfg.useIBMCipherMappings=false
CUIDADO:
Não use a versão 9.1.x de clientes porque ela pode causar problemas com o Server Name Indication (SNI).

Exemplos

  1. Se desejar testar a fila QUEUE.1 no servidor abccorp-qa-1-mq.oms.supply-chain.ibm.com, que possui cifras atualizadas, usando o IBM JRE, execute o comando a seguir:
    ./om-compose.sh mqjc -DMQJC_HOST=abccorp-qa-1-mq.oms.supply-chain.ibm.com
    -DMQJC_QUEUE=QUEUE.1
  2. Se desejar testar a fila QUEUE.2 no servidor oldcorp-dev-1-mq.oms.supply-chain.ibm.com, que usa cifras antigas, usando Oracle JRE, execute o comando a seguir:
    ./om-compose.sh mqjc -DMQJC_CIPHER=TLS_RSA_WITH_AES_128_CBC_SHA256
    -DMQJC_HOST=oldcorp-dev-1-mq.oms.supply-chain.ibm.com  -DMQJC_QUEUE=QUEUE.2