Transformationen von z/OS Connect-Nachrichtennutzdaten definieren

Mit IBM® z/OS® Connect können Sie Anforderungs- und Antwortnutzdaten, die für den Aufruf eines Geschäftsassets unter z/OS-Betriebssystemen verwendet werden, optional transformieren. Sie können Transformatoren für Nachrichtennutzdaten erstellen, um bestimmte Anforderungen durch Implementierung der Service-Provider-Schnittstelle (SPI) com.ibm.wsspi.zos.connect.DataXform, die im Lieferumfang von z/OS Connect enthalten ist, zu erfüllen.

Informationen zu diesem Vorgang

z/OS Connect stellt eine Implementierung bereit, die JSON als Format für Anforderungs- und Antwortnachrichten voraussetzt. Dieses Feature unterstützt die Konvertierung der Anforderung in ein Byte-Array, das mit einer Cobol-, PL/I- oder C-Struktur einer nativen Sprache zugeordnet werden kann. Diese Sprachstruktur des Zielprogramms bzw. dieses Copybook, das eine Beschreibung der Parameter in und out enthält, wird verwendet, um eine Bindungsdatei und JSON-Schemadateien für Anforderungen und Antworten mit einem von z/OS Connect bereitgestellten Dienstprogramm zu generieren. Die von diesem Dienstprogramm generierte Bindungsdatei wird von z/OS Connect verwendet, um die Datenkonvertierung in und aus JSON- und native Datenformaten durchzuführen, wenn Anforderungen eingehen und Antworten zurückgegeben werden. Sie können die JSON-Schemas für die Anforderungs- und Antwortnachrichten mit einem von z/OS Connect unterstützten REST-API-Aufruf abrufen.

Mit dem von z/OS Connect bereitgestellten Konfigurationselement zosConnectService kann der Administrator einen Satz von Attributen für einen bestimmten Service konfigurieren. Eines dieser Attribute ist "dataXformRef", das auf eine Datentransformationskonfiguration verweist, die für einen bestimmten Service verwendet werden soll. In dieser Task wird beschrieben, wie Sie die Verwendung eines von z/OS Connect bereitgestellten Datentransformators anfordern.

Vorgehensweise

  1. Definieren Sie ein Element des Typs zosConnectDataXform in der Datei server.xml.
    <!-- z/OS Connect-Datentransformationsprovider -->
    <zosConnectDataXform id="zosConnectXform"
    	bindFileLoc="/zosConnect/banking/bind/" 
            bindFileSuffix=".bnd"   
            requestSchemaLoc="/zosConnect/banking/reqSchema" 
            requestSchemaSuffix=".json"
    	responseSchemaLoc="/zosConnect/banking/respSchema" 
            responseSchemaSuffix=".json"/>  

    Wenn Sie dieses Beispiel verwenden, werden alle Attributdefinitionen in Bezug auf die Dateipositionen, wie z. B. bindFileLoc, requestSchemaLoc und responseSchemaLoc, aus Gründen der Vollständigkeit angegeben. Es sind nur die Attributdefinitionen bindFileLoc und requestSchemaLoc erforderlich. Wenn das Attribut responseSchemaLoc nicht konfiguriert ist, wird der Wert des Attributs requestSchemaLoc verwendet.

    Für dasselbe Beispiel werden auch alle Attributdefinitionen in Bezug auf das Suffix, wie z. B. <bindFileSuffix>, <requestSchemaSuffix> und <responseSchemaSuffix>, aus Gründen der Vollständigkeit angegeben. Sie sind alle optional. Wenn Sie nicht angegeben werden, müssen die von z/OS Connect zu ladenden Bindungs- und Schemadateien keinen Suffix haben.

    z/OS Connect erwartet für datentransformationsrelevante Dateien ein bestimmtes Format basierend auf der Konfiguration.
    • Bindedateien: <serviceName><bindFileSuffix>
    • Anforderungsschemadateien: <serviceName>_request<requestSchemaSuffix>
    • Antwortschemadateien: <serviceName>_response<requestSchemaSuffix>
    Die folgende zosConnectService-Beispielkonfiguration und die vorherige zosConnectDataXform-Beispielkonfiguration werden verwendet.
    <!-- z/OS Connect-Servicedefinition --> 
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
    Die Namen der Datentransformationsdateien sind:
    • Bindedateien: customer.bnd
    • Anforderungsschemadateien: customer_request.json
    • Antwortschemadateien: customer_response.json

    Weitere Informationen zu den konfigurierbaren Attributdefinitionen, die dem Element zosConnectDataXform zugeordnet sind, finden Sie in der Dokumentation zum Feature z/OS Connect.

  2. Aktualisieren Sie das Element zosConnectService für jeden Service in der Konfigurationsdatei server.xml, für den Sie die von z/OS Connect bereitgestellte Datentransformation aktivieren möchten.
    <!-- z/OS Connect-Servicedefinition --> 
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
  3. Optional: Konfigurieren Sie einen Datentransformator, der für alle Services gilt. Setzen Sie das Attribut globaDataXformRef des Elements zosConnectManager auf die konfigurierte ID des Datentransformators, die für die globale Verwendung bestimmt ist. Wenn globale und servicespezifische Datentransformatoren definiert sind und Anforderungen für einen Service mit einem konfigurierten Datentransformator eingehen, verwendet z/OS Connect den Datentransformator, der speziell für den Service konfiguriert wurde.
    <zosConnectManager id="zosConnectGlobalDefinitions
            globalDataXformRef="zosConnectGlobalDataXform"/>   
    
    <!-- z/OS Connect-Datentransformationsprovider -->
    <zosConnectDataXform id="globalDataXform" 
    	bindFileLoc="/zosConnect/banking/bind/"
            bindFileSuffix=".bnd"   
            requestSchemaLoc="/zosConnect/banking/reqSchema"
            requestSchemaSuffix=".json"
            responseSchemaLoc="/zosConnect/banking/respSchema"
            responseSchemaSuffix=".json"/>      
  4. Optional: Konfigurieren Sie Einstellungen, wie z. B. pollingRate und updateTrigger, um die Überwachungsaktionen zu optimieren. Standardmäßig werden Verzeichnisse, die einer Datentransformationsdefinition zugeordnet sind, auf neue Dateien und Dateiaktualisierungen überwacht. Weitere Informationen zu diesen Konfigurationsattributen finden Sie im Abschnitt zum Element "zosConnectDataXform" unter z/OS Connect 1.0 and 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>      

    Im Beispiel werden für die Verzeichnisse /zosConnect/banking/bind,/zosConnect/banking/reqSchema und /zosConnect/banking/respSchema alle 500 Millisekunden Dateiaktualisierungen abgefragt. Wenn die Konfigurationsattribute pollingRate und updateTrigger nicht konfiguriert wurden, werden die Standardwerte polled bzw. 2 seconds verwendet. Wenn die Dateiüberwachung nicht erforderlich ist, können Sie sie inaktivieren, indem Sie das Attribut updateTrigger auf disabled setzen. Wenn Sie die Aktualisierung bestimmter Dateien manuell auslösen möchten, setzen Sie das Attribut updateTrigger auf mbean und verwenden Sie die MBean für Dateibenachrichtigung com.ibm.ws.kernel.filemonitor.FileNotificationMBean, um die Aktualisierung auszulösen. Beispiel:

    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);

    Im Beispiel wird das Feature restConnector-1.0 verwendet, um die Aktualisierung der Dateien customer.bnd, customer_request.json und customer_response.json auszulösen. Weitere Informationen zum erstellen einer sicheren JMX-Verbindung finden Sie in der Dokumentation zu Sichere JMX-Verbindung zu Liberty konfigurieren.


Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_zconnect_msg_payload_conv.html