Définition de transformations de contenu de message z/OS Connect

IBM® z/OS® Connect fournit la possibilité de transformer le cas échéant le contenu des requêtes et réponses utilisées pour appeler un actif métier sur des systèmes d'exploitation z/OS. Vous pouvez créer des transformateurs de messages destinés à des besoins spécifiques en implémentant l'interface de fournisseur de service (SPI) com.ibm.wsspi.zos.connect.DataXform, livrée avec z/OS Connect.

Pourquoi et quand exécuter cette tâche

z/OS Connect fournit une implémentation qui requiert que le format du message de requête et de réponse soit JSON. Cette fonction permet la conversion de la requête en tableau d'octets, qui peut être mappé par une structure en langage natif Cobol, PL/I ou C. Cette structure de langage du programme cible, ou fichier de stockage, qui inclut une description des paramètres in et out , est utilisée pour générer un fichier de liaison et des fichiers de schéma de requête et de réponse JSON à l'aide d'un utilitaire fourni par z/OS Connect. Le fichier de liaison créé par cet utilitaire est utilisé par z/OS Connect pour effectuer la conversion des données entre le format JSON et les formats de données natifs lorsque des requêtes arrivent et que des réponses sont renvoyées. Vous pouvez extraire les schémas JSON pour le message de requête et de réponse via un appel d'API REST fournie par z/OS Connect.

z/OS Connect fournit l'élément de configuration zosConnectService qui permet à l'administrateur de configurer un ensemble d'attributs s'appliquant à un service spécifique. L'un de ces attributs est dataXformRef, lequel pointe vers une configuration de transformation de données à utiliser pour un service spécifique. Cette tâche décrit comment demander que soit utilisé le transformateur de données fourni par z/OS Connect.

Procédure

  1. Définissez un élément zosConnectDataXform dans le fichier server.xml.
    <!-- z/OS Connect data transformation provider --> 
    <zosConnectDataXform id="zosConnectXform"
    	bindFileLoc="/zosConnect/banking/bind/" 
            bindFileSuffix=".bnd" 
            requestSchemaLoc="/zosConnect/banking/reqSchema" 
            requestSchemaSuffix=".json"
    	responseSchemaLoc="/zosConnect/banking/respSchema" 
            responseSchemaSuffix=".json"/>  

    Dans cet exemple, toutes les définitions d'attributs en lien avec des emplacements de fichier sont spécifiées par souci d'exhaustivité. C'est le cas de bindFileLoc, requestSchemaLoc et responseSchemaLoc. Seules les définitions d'attributs bindFileLoc et requestSchemaLoc sont indispensables. Si l'attribut responseSchemaLoc n'est pas configuré, la valeur de l'attribut requestSchemaLoc est utilisée.

    Dans ce même exemple, toutes les définitions d'attributs en lien avec des suffixes de fichier sont spécifiées par souci d'exhaustivité. C'est le cas de <bindFileSuffix>, <requestSchemaSuffix> et <responseSchemaSuffix>. Ces attributs sont tous optionnels. S'ils ne sont pas spécifiés, les fichiers de liaison (bind) et de schéma à charger par z/OS Connect seront considérés comme sans suffixe.

    z/OS Connect s'attend à ce que les fichiers en rapport avec les transformations de données aient un format spécifique, qui dépend de la configuration.
    • fichiers de liaison : <serviceName><bindFileSuffix>
    • fichiers de schéma de demande : <serviceName>_request<requestSchemaSuffix>
    • fichiers de schéma de réponse : <serviceName>_response<requestSchemaSuffix>
    Si on considère l'exemple de configuration zosConnectService suivant et l'exemple de configuration zosConnectDataXform précédent.
    <!-- z/OS Connect service definition --> 
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
    Les noms des fichiers de transformation de données seront :
    • fichiers de liaison : customer.bnd
    • fichiers de schéma de demande : customer_request.json
    • fichiers de schéma de réponse : customer_response.json

    Pour en savoir plus sur les définitions d'attributs configurables associées à l'élément zosConnectDataXform, voir la documentation de la fonction z/OS Connect.

  2. Mettez à jour l'élément zosConnectService dans votre fichier de configuration server.xml pour chaque service pour lequel vous désirez activer la transformation de données assurée par z/OS Connect.
    <!-- z/OS Connect service definition --> 
    <zosConnectService id="zosConnectCustomer" 
    	serviceName="customer" 
    	serviceRef="wolaCustomerCreate" 
    	dataXformRef="zosConnectXform"/> 
  3. Facultatif : Configurez un transformateur de données s'appliquant à tous les services. Définissez le paramètre globaDataXformRef de l'élément zosConnectManager sur l'ID du transformateur de données destiné à une utilisation globale. Si des transformateurs de données globaux et de service sont tous deux définis et que des requêtes parviennent pour un service disposant d'un transformateur de données, z/OS Connect utilisera celui configuré spécifiquement pour le service.
    <zosConnectManager id="zosConnectGlobalDefinitions
            globalDataXformRef="zosConnectGlobalDataXform"/>   
    
    <!-- z/OS Connect data transformation provider --> 
    <zosConnectDataXform id="globalDataXform" 
    	bindFileLoc="/zosConnect/banking/bind/"
            bindFileSuffix=".bnd"         
            requestSchemaLoc="/zosConnect/banking/reqSchema"
            requestSchemaSuffix=".json" 
            responseSchemaLoc="/zosConnect/banking/respSchema"
            responseSchemaSuffix=".json"/>      
  4. Facultatif : Configurez des paramètres tels que pollingRate et updateTrigger pour optimiser les actions de surveillance. Par défaut, les répertoires associés à une définition de transformation de données sont surveillés pour les nouveaux fichiers ou les mises à jour de fichiers. Pour en savoir plus sur ces attributs de configuration, voir la section relative à l'élément zosConnectDataXform sous z/OS Connect 1.0 et 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>      

    Dans cet exemple, les répertoires /zosConnect/banking/bind,/zosConnect/banking/reqSchema et /zosConnect/banking/respSchema sont analysés pour la recherche de mises à jour de fichiers toutes les 500 millisecondes. Si les attributs de configuration pollingRate et updateTrigger ne sont pas configurés, les valeurs par défaut de polled et 2 seconds sont utilisées, respectivement. Si vous n'avez pas besoin de surveiller des fichiers, vous pouvez désactiver la fonction en définissant l'attribut updateTrigger sur disabled. Si vous préférez déclencher une actualisation manuelle de certains fichiers, définissez l'attribut updateTrigger sur mbean et utilisez le bean géré de notification de fichier com.ibm.ws.kernel.filemonitor.FileNotificationMBean pour déclencher les mises à jour. Par exemple :

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

    L'exemple utilise la fonction restConnector-1.0 pour déclencher la mise à jour des fichiers customer.bnd, customer_request.json et customer_response.json. Pour plus d'informations sur la création d'une connexion JMX sécurisée, voir la documentation à la rubrique Configuration d'une connexion JMX sécurisée à Liberty


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_zconnect_msg_payload_conv.html