Requisitos previos
En este tema se enumeran los requisitos previos para configurar la integración MQ entre IBM Sterling® Order Management System y un sistema externo.
- Las direcciones IP públicas remotas del cliente deben estar habilitadas por IBM. Para obtener más información, consulte Información sobre la política de cortafuegos de red. Cuando la conectividad con IBM Sterling Order Management System se realiza a través de una VPN o un enlace directo, no es necesario habilitar el dominio o la IP. Para comprobar si la conexión a IBM Sterling Order Management System MQ QMGR y el puerto de escucha de MQ QMGR está disponible ejecute
telnet,nc,nmapo comandos similares. Consulte los ejemplos siguientes: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 - El canal MQI utiliza el certificado SSL autofirmado del servidor IBM Sterling Order Management System MQ para la autenticación/cifrado de mensajes del canal. El certificado SSL se puede descargar desde IBM Cloud Dropbox o desde el área SI DEV Team IBM Box.
- Para probar y confirmar la conectividad y funcionalidad deIBM Sterling Order ManagementMQ, se recomienda encarecidamente que el equipo SI instale el cliente IBM MQ estándar en los puntos de integración del cliente.Nota: MQ Explorer no está soportado.
- La configuración del cliente de IBM MQ debe ser la siguiente:
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_SHA256donde,
Hostname env = dev, qa, preprod, prod.Nota: Esta configuración es para el cliente de IBM MQ . Para el middleware de terceros puede ser necesario corregir las entradas de cifrado SSL cuando sea necesario. Consulte la documentación de middleware de terceros para obtener las bibliotecas de clase Java necesarias y las especificaciones de cifrado para la compatibilidad SSL de IBM MQ . - Como parte de la integración del cliente con la IBM Sterling Order Management System plataforma, en la que se utiliza el canal MQ Cliente por defecto, debe especificar ciertos MQ parámetros y valores de cabecera de los mensajes para garantizar que la IBM Sterling Order Management System pueda consumir y procesar los mensajes colocados en las colas creadas por el cliente. IBM Sterling Order Management System está configurado para consumir mensajes basados en texto. El formato de los mensajes debe ser:
Format : 'MQSTR'Se recomienda encarecidamente que los equipos SI utilicen el cliente MQ estándar para examinar los mensajes de las colas en las que se pueden ver los detalles de la cabecera. Un ejemplo de cabecera correctamente formada para el consumo de IBM Sterling Order Management System es el siguiente: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'Tabla 1. Descriptores de mensaje Campo Descripción StrucIdIdentificador de la estructura del descriptor de mensaje. Debe establecerse en MD.VersionEste es el número de versión de la estructura y debe establecerse en 2. MsgTypeIndica el tipo del mensaje. Un valor de 8 indica que es del tipo MQMT_DATAGRAM, lo que significa que el mensaje no requiere una respuesta. Para obtener información sobre otros tipos de mensajes, consulte MQMT_ * (Tipos de mensajes)ExpiryEs un periodo de tiempo expresado en décimas de segundo y establecido por la aplicación que coloca el mensaje. El mensaje se puede descartar si no se elimina de la cola de destino antes de que transcurra este periodo. Para obtener más información, consulte Caducidad (MQLONG). Un valor de -1 significa que el mensaje nunca expira. FeedbackEste campo se utiliza para un mensaje de tipo MQMT_REPORTpara indicar la naturaleza del informe y sólo es significativo con ese tipo de mensaje. Debe establecerse en 0, lo que significa que no se proporcionará ningún comentario. Para obtener más información, consulte Comentarios (MQLONG)EncodingEspecifica la codificación numérica de los datos numéricos del mensaje. No se aplica a los datos numéricos de la propia estructura
MQMD. La codificación numérica define la representación utilizada para enteros binarios, enteros decimales empaquetados y números de coma flotante.MQENC_NATIVEes la codificación predeterminada para el lenguaje de programación y la máquina en la que se ejecuta la aplicación.Nota: El valor de esta constante depende del lenguaje de programación y del entorno. Por este motivo, las aplicaciones deben compilarse utilizando los archivos de cabecera, macro,COPYoINCLUDEque sean adecuados para el entorno en el que se ejecutará la aplicación.Las aplicaciones que colocan mensajes normalmente especifican
MQENC_NATIVE. Las aplicaciones que recuperan mensajes deben comparar este campo con el valor deMQENC_NATIVE. Si los valores difieren, es posible que la aplicación tenga que convertir datos numéricos en el mensaje. Utilice la opciónMQGMO_CONVERTpara solicitar al gestor de colas que convierta el mensaje mientras procesa la llamadaMQGET.MQENC_NATIVEconstante se define aquí. Busque el valor correcto para el sistema operativo.CodedCharSetIdEste campo especifica el identificador de juego de caracteres de los datos de caracteres dentro del cuerpo del mensaje. Establézcalo en 1208 para UTF-8 . Para otros juegos de caracteres, siga esta nota técnica para determinar el CCSID. FormatEs un nombre que el remitente del mensaje utiliza para indicar la naturaleza de los datos del mensaje al destinatario. Establézcalo en MQSTRpara imitar el comportamiento de unJMSTextMessage. Para obtener más información, consulte Formato (MQCHAR8) Para obtener una lista de formatos, consulte:MQFMT_ * (Formatos)PriorityEstablezca la prioridad de un mensaje en este campo al colocar el mensaje en una cola. Puede establecer un valor numérico para la prioridad, o puede dejar que el mensaje tome la prioridad predeterminada de la cola.
El atributoLos mensajes se pueden crear con prioridades entre 0 (el más bajo) y 9 (el más alto).MsgDeliverySequencede la cola determina si los mensajes de la cola se almacenan en la secuencia FIFO (primero en entrar, primero en salir) o en FIFO dentro de la secuencia de prioridad.- Si este atributo se establece en
MQMDS_PRIORITY, los mensajes se ponen en cola con la prioridad especificada en el campo Prioridad de sus descriptores de mensaje. - Si este atributo se establece en
MQMDS_FIFO, los mensajes se ponen en cola con la prioridad predeterminada de la cola. Los mensajes de igual prioridad se almacenan en la cola en el orden de llegada. Por defecto, en entornos IBM Sterling Order Management System, los siguientes valores están presentes para cada cola definida:DEFPRTY(0) MSGDLVSQ(PRIORITY)
Para las llamadas
MQPUTyMQPUT1, el valor debe ser mayor o igual que 0, lo que indica la prioridad más baja. Establézcalo en 5 para imitar el comportamiento deJMSTextMessage. Para obtener más información, consulte Prioridad (MQLONG)PersistenceEste campo indica si el mensaje sobrevive a las anomalías del sistema y a los reinicios del gestor de colas. Establézcalo en 1 para asegurarse de que el mensaje sobrevive a las anomalías del sistema y a los reinicios del gestor de colas. Para obtener más información, consulte Persistencia (MQLONG). Para obtener información sobre la lista de valores permitidos, consulte MQPER_ * (Valores de persistencia) MsgIdEs una serie de bytes que se utiliza para distinguir un mensaje de otro. Generalmente, ningún mensaje debe tener el mismo identificador de mensaje, aunque el gestor de colas no lo permita. El identificador de mensaje es una propiedad permanente del mensaje y persiste en los reinicios del gestor de colas. Puesto que el identificador de mensaje es una serie de bytes y no una serie de caracteres, el identificador de mensaje no se convierte entre juegos de caracteres cuando el mensaje fluye de un gestor de colas a otro. Para obtener más información, consulte MsgId (MQBYTE24) CorrelIdEste campo es una propiedad de la cabecera de mensaje que se puede utilizar para identificar un mensaje específico o un grupo de mensajes. Es una serie de bytes que la aplicación puede utilizar para relacionar un mensaje con otro, o para relacionar el mensaje con otro trabajo que la aplicación está realizando. El identificador de correlación es una propiedad permanente del mensaje y persiste en los reinicios del gestor de colas. Puesto que el identificador de correlación es una serie de bytes y no una serie de caracteres, el identificador de correlación no se convierte entre conjuntos de caracteres cuando el mensaje fluye de un gestor de colas a otro. BackoutCountEs un recuento del número de veces que la llamada MQGETha devuelto previamente el mensaje como parte de una unidad de trabajo y, posteriormente, se ha restituido. Ayuda a la aplicación a detectar errores de proceso que se basan en el contenido del mensaje. El valor inicial de este campo es 0. Para obtener más información, consulte BackoutCount (MQLONG)ReplyToQEs el nombre de la cola de mensajes a la que la aplicación que ha emitido la solicitud GETpara el mensaje envía mensajesMQMT_REPLYyMQMT_REPORT. Si el campoReplyToQMgrestá en blanco, el gestor de colas local busca el nombreReplyToQen sus propias definiciones de cola. Para más información, véase ReplyToQ (MQCHAR48)ReplyToQMgrEs el nombre del gestor de colas al que se debe enviar el mensaje de respuesta o el mensaje de informe. Para más información, véase ReplyToQMgr (MQCHAR48) - Si este atributo se establece en