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.
- 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.
- 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"/>
- 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"/>
- 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.