Pré-requisitos

Os pré-requisitos para configurar a integração MQ entre o IBM Sterling® Order Management System e um sistema externo estão listados neste tópico.

  • Os endereços IP públicos remotos do cliente devem ser ativados pela IBM.. Para obter mais informações, consulte Informações para a política de firewall de rede Quando a conectividade com o IBM Sterling Order Management System é feita por meio de uma VPN ou link direto, a ativação do domínio ou IP não é necessária. Para testar se a conexão com o sistema IBM Sterling Order Management MQ QMGR e a porta de escuta MQ QMGR está disponível, execute os comandos telnet, nc, nmap ou similares. Consulte os exemplos a seguir:
    
    telnet <client>-oms.<environment>.coc.ibmcloud.com 1415
    nc -v <client>-oms.<environment>.coc.ibmcloud.com 1415
    nmap -sT <client>-oms.<environment>.coc.ibmcloud.com -p 1415
  • O canal MQI usa o certificado SSL auto-assinado do IBM Sterling Order Management System MQ Server para autenticação do canal/criptografia de mensagens. O certificado SSL pode ser transferido por download do IBM Cloud Dropbox ou da área do SI DEV Team IBM Box.
  • Para testar e confirmar a conectividade e a funcionalidade do IBM Sterling Order ManagementMQ, é altamente recomendável que o IBM MQ Client padrão seja instalado pela SI Team nos pontos de integração do cliente.
    Nota: MQ Explorer não é suportado.
  • A configuração do cliente IBM MQ precisa ser a seguinte:
    
        JMS Server Type :  IBM MQ
        Connection Type :  Single Connection
        Hostname : OMoC public domain name or public IP                                            
                   <cust>-oms.<env>.coc.ibmcloud.com
        Port : 1415
        Queue Manager : OM_QMGR
        Channel : SYSTEM.SSL.SVRCONN
        Use SSL : Yes
        SSL Cipher : TLS_RSA_WITH_AES_128_CBC_SHA256

    em que Hostname env = dev, qa, preprod, prod.

    Nota: essa configuração é para o cliente IBM MQ . Para middleware de terceiros, pode haver uma necessidade de corrigir entradas de código SSL quando necessário. Consulte a documentação de middleware de terceiros para obter as bibliotecas de classe Java e as especificações de código necessárias para compatibilidade SSL do IBM MQ .
  • Como parte da integração do cliente com a plataforma IBM Sterling Sterling Order Management System, em que o canal padrão MQ Client é usado, você deve especificar determinados parâmetros e valores do cabeçalho da mensagem MQ para garantir que o IBM Sterling Order Management System possa consumir e processar as mensagens colocadas nas filas criadas pelo cliente. OIBM Sterling Order Management System está configurado para consumir mensagens baseadas em texto. O formato das mensagens deve ser: Format : 'MQSTR'
    É altamente recomendado que as equipes SI usem o Cliente MQ padrão para procurar mensagens em filas nas quais os detalhes do cabeçalho podem ser vistos. Um exemplo de um cabeçalho formado corretamente para o consumo do IBM Sterling Order Management System é o seguinte:
    
    StrucId : 'MD ' Version : 2
    Report  : 64 MsgType : 8
    Expiry  : -1 Feedback : 0
    Encoding : 273 CodedCharSetId : 1208
    Format : 'MQSTR'
    Priority : 5 Persistence : 1
    MsgId : X'414D51204F4D5F514D47522020202020520CB65BE5F15A2C'
    CorrelId : X'D34DF8E3CE78FDD69E6FFE386B8FDB7F4EBF73D7766F8F77'
    BackoutCount : 0
    ReplyToQ : '       '
    ReplyToQMgr : 'OM_QMGR'   
    
    Tabela 1. Descritores de mensagens
    Campo Descrição
    StrucId Identificador para a estrutura do descritor de mensagem Deve ser configurado como MD
    Version Este é o número da versão da estrutura e deve ser configurado como 2..
    MsgType Isso indica o tipo da mensagem Um valor 8 indica que é do tipo MQMT_DATAGRAM, o que significa que a mensagem não requer uma resposta. Para obter informações sobre outros tipos de mensagens, consulte MQMT_ * (Tipos de Mensagens) ..
    Expiry Este é um período de tempo expresso em décimos de segundo e definido pelo aplicativo que coloca a mensagem. A mensagem poderá ser descartada se ela não for removida da fila de destino antes que esse período decorra Para obter mais informações, consulte Expiração (MQLONG).. Um valor de -1 significa que a mensagem nunca expira.
    Feedback Esse campo é usado para uma mensagem do tipo MQMT_REPORT para indicar a natureza do relatório e é significativo apenas com esse tipo de mensagem Ele deve ser configurado como 0, o que significa que nenhum feedback será fornecido Para obter mais informações, consulte Feedback (MQLONG)
    Encoding

    Especifica a codificação numérica de dados numéricos na mensagem. Ele não se aplica a dados numéricos na própria estrutura do MQMD A codificação numérica define a representação utilizada para números inteiros binários, inteiros decimais compactados e números de vírgula flutuante.

    MQENC_NATIVE é a codificação padrão para a linguagem de programação e a máquina na qual o aplicativo está em execução
    Nota: O valor dessa constante depende da linguagem de programação e do ambiente.. Por esse motivo, os aplicativos devem ser compilados usando o cabeçalho, a macro, os arquivos COPYou INCLUDE apropriados para o ambiente no qual o aplicativo será executado.

    Aplicativos que colocam mensagens geralmente especificam MQENC_NATIVE. Os aplicativos que recuperam mensagens devem comparar esse campo com o valor de MQENC_NATIVE. Se os valores forem diferentes, o aplicativo poderá precisar converter dados numéricos na mensagem.. Use a opção MQGMO_CONVERT para solicitar que o gerenciador de fila converta a mensagem ao processar a chamada MQGET .

    MQENC_NATIVE constante é definida aqui. Consulte o valor correto para o seu sistema operacional.
    CodedCharSetId Este campo especifica o identificador do conjunto de caracteres de dados de caracteres no corpo da mensagem. Configure como 1208 para UTF-8 . Para outros conjuntos de caracteres, siga esta nota técnica para determinar o CCSID.
    Format Este é um nome que o emissor da mensagem usa para indicar a natureza dos dados na mensagem para o receptor.. Configure-o como MQSTR para imitar o comportamento de um JMSTextMessage. Para obter mais informações, consulte Formato (MQCHAR8) Para obter uma lista de formatos, consulte-MQFMT_ * (Formatos)
    Priority

    Configure a prioridade de uma mensagem neste campo quando você PUT a mensagem em uma fila É possível configurar um valor numérico para a prioridade ou permitir que a mensagem assuma a prioridade padrão da fila.

    O atributo MsgDeliverySequence da fila determina se as mensagens na fila são armazenadas na sequência FIFO (primeiro a entrar, primeiro a sair) ou na sequência FIFO dentro da prioridade.
    • Se este atributo estiver configurado como MQMDS_PRIORITY, as mensagens serão enfileirados com a prioridade especificada no campo Prioridade de seus descritores de mensagens.
    • Se esse atributo for configurado como MQMDS_FIFO, as mensagens serão enfileirados com a prioridade padrão da fila Mensagens de igual prioridade são armazenadas na fila na ordem de chegada. Por padrão, nos ambientes doIBM Sterling Order Management System, os seguintes valores estão presentes para cada fila definida:
      
      DEFPRTY(0)
      MSGDLVSQ(PRIORITY) 
    As mensagens podem ser criadas com prioridades entre 0 (o menor) e 9 (o maior).

    Para as chamadas MQPUT e MQPUT1 , o valor deve ser maior ou igual a 0, o que indica a prioridade mais baixa. Configure como 5 para imitar o comportamento de JMSTextMessage. Para obter mais informações, consulte Prioridade (MQLONG) .

    Persistence Este campo indica se a mensagem sobrevive a falhas do sistema e reinicializações do gerenciador de filas Configure como 1 para assegurar que a mensagem sobreviva a falhas do sistema e reinicializações do gerenciador de filas. Para obter mais informações, consulte Persistência (MQLONG). Para obter informações sobre a lista de valores permitidos, consulte MQPER_ * (Valores de Persistência)
    MsgId Esta é uma cadeia de bytes utilizada para distinguir uma mensagem de outra. Geralmente, nenhuma das duas mensagens deve ter o mesmo identificador de mensagem, embora isso não seja permitido pelo gerenciador de filas. O identificador de mensagem é uma propriedade permanente da mensagem e persiste em reinicializações do gerenciador de filas. Como o identificador de mensagem é uma sequência de bytes e não uma sequência de caracteres, o identificador de mensagens não é convertido entre conjuntos de caracteres quando a mensagem flui de um gerenciador de filas para outro... Para obter mais informações, consulte MsgId (MQBYTE24)
    CorrelId Esse campo é uma propriedade no cabeçalho da mensagem que pode ser usada para identificar uma mensagem ou um grupo de mensagens específico Esta é uma sequência de bytes que o aplicativo pode usar para relacionar uma mensagem a outra, ou para relacionar a mensagem a outro trabalho que o aplicativo está executando O identificador de correlação é uma propriedade permanente da mensagem e persiste em reinicializações do gerenciador de filas. Como o identificador de correlação é uma sequência de bytes e não uma sequência de caracteres, o identificador de correlação não é convertido entre conjuntos de caracteres quando a mensagem flui de um gerenciador de filas para outro.
    BackoutCount Essa é uma contagem do número de vezes que a mensagem foi retornada anteriormente pela chamada MQGET como parte de uma unidade de trabalho e subsequentemente restaurada. Ele ajuda o aplicativo a detectar erros de processamento baseados no conteúdo da mensagem. O valor inicial desse campo é 0. Para obter mais informações, consulte BackoutCount (MQLONG)
    ReplyToQ Este é o nome da fila de mensagens para a qual o aplicativo que emitiu o pedido GET para a mensagem envia mensagens MQMT_REPLY e MQMT_REPORT .. Se o campo ReplyToQMgr estiver em branco, o gerenciador de filas locais procurará o nome ReplyToQ em suas definições de fila. Para obter mais informações, consulte ReplyToQ (MQCHAR48)
    ReplyToQMgr Este é o nome do gerenciador de filas para o qual a mensagem de resposta ou a mensagem de relatório deve ser enviada Para obter mais informações, consulte ReplyToQMgr (MQCHAR48)