Definición de transformaciones de carga útil de mensajes de z/OS Connect

IBM® z/OS® Connect proporciona la posibilidad de transformar opcionalmente carga útiles de solicitudes y respuestas que se utilizan para llamar a un activo empresarial en los sistemas operativos z/OS. Puede crear transformadores de carga útil de mensajes para satisfacer las necesidades específicas implementando la interfaz de proveedor de servicios (SPI) com.ibm.wsspi.zos.connect.DataXform que se incluye con z/OS Connect.

Acerca de esta tarea

z/OS Connect proporciona una implementación que requiere que el mensaje de solicitud y respuesta esté en formato JSON. Esta característica admite la conversión de la solicitud en una matriz de bytes, que se puede correlacionar mediante una estructura de lenguaje nativo Cobol, PL/I o C. Esta estructura de lenguaje del programa de destino, o libro de copias, que incluye una descripción de los parámetros in y out, se utiliza para generar un archivo de enlaces y archivos de esquema de solicitud y respuesta JSON empleando un programa de utilidad que proporciona z/OS Connect. El archivo de enlaces que genera este programa de utilidad lo utiliza z/OS Connect para completar la conversión de datos respecto a formatos de datos JSON y nativos a medida que llegan las solicitudes y se devuelven las respuestas. Puede recuperar los esquemas JSON para el mensaje de solicitud y respuesta con una llamada a la API REST que proporciona z/OS Connect.

z/OS Connect proporciona el elemento de configuración zosConnectService que permite que el administrador configure un conjunto de atributos que se aplican a un servicio determinado. Uno de estos atributos es dataXformRef, que apunta a una configuración de transformación de datos que debe utilizar un servicio específico. Esta tarea describe cómo solicitar que se utilice el transformador de datos suministrado por z/OS Connect.

Procedimiento

  1. Defina un elemento zosConnectDataXform en el archivo server.xml.
    <!-- Proveedor de transformación de datos de z/OS Connect --> 
    <zosConnectDataXform id="zosConnectXform"
    	bindFileLoc="/zosConnect/banking/bind/" 
            bindFileSuffix=".bnd" 
            requestSchemaLoc="/zosConnect/banking/reqSchema" 
            requestSchemaSuffix=".json"
    	responseSchemaLoc="/zosConnect/banking/respSchema" 
            responseSchemaSuffix=".json"/>  

    Utilizando este ejemplo, todas las definiciones de atributo relacionadas con la ubicación de archivo, como por ejemplo bindFileLoc, requestSchemaLoc y responseSchemaLoc se especifican por razones de integridad. Sólo se requieren las definiciones de atributo bindFileLoc y requestSchemaLoc. Si no se configura el atributo responseSchemaLoc, solo se utiliza el atributo requestSchemaLoc.

    Utilizando el mismo ejemplo, todas las definiciones de atributo relacionadas con sufijos, como por ejemplo <bindFileSuffix>, <requestSchemaSuffix> y <responseSchemaSuffix>, se especifican por razones de integridad. Todas son opcionales. Si no se especifican, no se esperará que los archivos de enlace y esquema que cargará z/OS Connect tengan un sufijo.

    z/OS Connect espera que archivos relacionados con la transformación de datos tengan un formato específico basado en la configuración.
    • Archivos de enlace: <nombre_servicio><sufijo_archivo_enlace>
    • Archivos de esquema de solicitud: <nombre_servicio>_request<sufijo_esquema_solicitud>
    • Archivos de esquema de respuesta: <nombre_servicio>_response<sufijo_esquema_solicitud>
    Utilizando la siguiente configuración de ejemplo de zosConnectService y la configuración de ejemplo de zosConnectDataXform anterior.
    <!-- Definición de servicio de z/OS Connect -->  
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
    El nombre de los archivos de transformación de datos es:
    • Archivos de enlace: customer.bnd
    • Archivos de esquema de solicitud: customer_request.json
    • Archivos de esquema de respuesta: customer_response.json

    Si desea más información sobre las definiciones de atributo configurables asociadas al elemento zosConnectDataXform, consulte la documentación para la característica z/OS Connect.

  2. Actualice el elemento zosConnectService para cada servicio en la configuración de server.xml para el que desee habilitar la transformación de datos suministrados por z/OS Connect.
    <!-- Definición de servicio de z/OS Connect -->  
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
  3. Opcional: configure un transformador de datos que se aplique a todos los servicios. Defina el elemento globaDataXformRef de zosConnectManager en el ID del transformador de datos configurado que se va a utilizar de forma global. Si se definen los transformadores de datos global y de servicio y llegan solicitudes para un servicio con un transformador de datos configurado, z/OS Connect utilizará el transformador de datos configurado específicamente para el servicio.
    <zosConnectManager id="zosConnectGlobalDefinitions
            globalDataXformRef="zosConnectGlobalDataXform"/>   
    
    <!-- Proveedor de transformación de datos de z/OS Connect --> 
    <zosConnectDataXform id="globalDataXform" 
    	bindFileLoc="/zosConnect/banking/bind/"
            bindFileSuffix=".bnd"         
            requestSchemaLoc="/zosConnect/banking/reqSchema"
            requestSchemaSuffix=".json" 
            responseSchemaLoc="/zosConnect/banking/respSchema"
            responseSchemaSuffix=".json"/>      
  4. Opcional: configure valores como por ejemplo pollingRate y updateTrigger para ajustar las acciones de supervisión. De forma predeterminada se supervisan los directorios asociados con una definición de transformación de datos para ver si hay nuevos archivos y actualizaciones de archivos. Si desea más información sobre estos atributos de configuración, consulte la sección del elemento zosConnectDataXform bajo z/OS Connect 1.0 y z/OS Connect 1.2.
    <zosConnectDataXform id="globalDataXform" 
            bindFileLoc="/zosConnect/banking/bind/"
            bindFileSuffix=".bnd"         
            requestSchemaLoc="/zosConnect/banking/reqSchema"
            requestSchemaSuffix=".json" 
            responseSchemaLoc="/zosConnect/banking/respSchema"
            responseSchemaSuffix=".json"
            pollingRate="500ms"> 
    </zosConnectDataForm>      

    En el ejemplo, se sondean los directorios /zosConnect/banking/bind,/zosConnect/banking/reqSchema y /zosConnect/banking/respSchema para ver si hay actualizaciones de archivo cada 500 milisegundos. Si los atributos de configuración pollingRate y updateTrigger no están configurados, se utilizarán, respectivamente, los atributos predeterminados de polled y 2 seconds. Si no necesita supervisión de archivos, puede inhabilitarla estableciendo el atributo updateTrigger en disabled. Si prefiere desencadenar una renovación manual de determinados archivos, establezca el atributo updateTrigger en mbean y utilice el mbean de notificación de archivos: com.ibm.ws.kernel.filemonitor.FileNotificationMBean para desencadenar las actualizaciones; por ejemplo:

    String[] MBEAN_METHOD_SIGNATURE = new String[] {Collection.class.getName(),Collection.class.getName(),Collection.class.getName() };        
    JMXConnector jmxConnector = ...;        
    MBeanServerConnection mbsc = jmxConnector.getMBeanServerConnection();        
    ObjectName fileMonitorMBeanName = new ObjectName("WebSphere:service=com.ibm.ws.kernel.filemonitor.FileNotificationMBean");        
    
    List<String> paths = new ArrayList<String>();        
    paths.add("/zosConnect/banking/bind/customer.bnd");        
    paths.add("/zosConnect/banking/reqSchema/customer_request.json");       
    paths.add("/zosConnect/banking/respSchema/customer_response.json");        
    
    Object[] params = new Object[] { null, paths, null };        
    mbsc.invoke(fileMonitorMBeanName, "notifyFileChanges", params, MBEAN_METHOD_SIGNATURE);

    El ejemplo utiliza la característica restConnector-1.0 para desencadenar la actualización de los archivos customer.bnd, customer_request.json y customer_response.json. Para obtener más información sobre cómo crear una conexión JMX segura, consulte la documentación de Configuración de una conexión JMX segura con Liberty


Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_zconnect_msg_payload_conv.html