z/OS Connect 메시지 페이로드 변환 정의

IBM® z/OS® Connect는 z/OS 운영 체제에 있는 비즈니스 자산을 호출하는 데 사용되는 요청 및 응답 페이로드를 선택적으로 변환하는 기능을 제공합니다. z/OS Connect에 포함된 com.ibm.wsspi.zos.connect.DataXform SPI(Service Provider Interface)를 구현하여 특정 요구사항을 충족하도록 작성할 수 있는 메시지 페이로드 변환기를 작성할 수 있습니다.

이 태스크 정보

z/OS Connect가 제공하는 구현에서는 요청 및 응답 메시지가 JSON 형식이어야 합니다. 이 기능은 요청을 원시 언어 Cobol, PL/I 또는 C 구조체가 맵핑할 수 있는 바이트 배열로 변환하도록 지원합니다. 대상 프로그램의 inout 매개변수 설명을 포함하는 이 언어 구조체 또는 카피북은 z/OS Connect 제공 유틸리티를 사용하여 바인딩 파일과 JSON 요청 및 응답 스키마 파일을 생성하는 데 사용됩니다. 이 유틸리티가 생성하는 바인딩 파일은 요청이 도착하고 응답이 리턴될 때 z/OS Connect가 JSON 및 원시 데이터 형식과의 상호 데이터 변환을 완료하는 데 사용됩니다. z/OS Connect가 제공하는 REST API 호출을 사용하여 요청 및 응답 메시지에 대한 JSON 스키마를 검색할 수 있습니다.

z/OS Connect는 관리자가 특정 서비스에 적용할 속성 세트를 구성할 수 있도록 해주는 zosConnectService 구성 요소를 제공합니다. 이러한 속성 중 하나는 dataXformRef이며, 이 속성은 특정 서비스에 사용되는 데이터 변환 구성을 가리킵니다. 이 태스크는 z/OS Connect 제공 데이터 변환기가 사용되도록 요청할 방법을 설명합니다.

프로시저

  1. server.xml 파일에서 zosConnectDataXform 요소를 정의하십시오.
    <!-- 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"/>  

    이 예제를 사용하여, 모든 파일 위치 관련 속성 정의(예: bindFileLoc, requestSchemaLocresponseSchemaLoc)가 완전성을 위해 지정됩니다. 오직 bindFileLocrequestSchemaLoc 속성 정의만 필수입니다. responseSchemaLoc 속성이 구성되지 않으면 requestSchemaLoc 속성의 값이 사용됩니다.

    동일한 예제를 사용하여, 모든 접미부 관련 속성 정의(예: <bindFileSuffix>, <requestSchemaSuffix><responseSchemaSuffix>)가 완전성을 위해 지정됩니다. 이는 모두 선택사항입니다. 이를 지정하지 않은 경우, z/OS Connect에 의해 로드되는 바인드 및 스키마 파일에 접미부가 있다고 예상되지 않습니다.

    z/OS Connect는 데이터 변환 관련 파일이 구성에 따라 특정 형식을 갖는다고 예상합니다.
    • 바인드 파일: <serviceName><bindFileSuffix>
    • 요청 스키마 파일: <serviceName>_request<requestSchemaSuffix>
    • 응답 스키마 파일: <serviceName>_response<requestSchemaSuffix>
    다음 zosConnectService 샘플 구성과 이전 zosConnectDataXform 샘플 구성을 사용합니다.
    <!-- z/OS Connect service definition --> 
    <zosConnectService id="zosConnectCustomer"
    	serviceName="customer"
    	serviceRef="wolaCustomerCreate"
    	dataXformRef="zosConnectXform"/>
    데이터 변환 파일의 이름은 다음과 같습니다.
    • 바인드 파일: customer.bnd
    • 요청 스키마 파일: customer_request.json
    • 응답 스키마 파일: customer_response.json

    zosConnectDataXform 요소와 연관된 구성 가능한 속성 정의에 대한 자세한 정보는 z/OS Connect 기능에 대한 문서를 참조하십시오.

  2. server.xml 구성에서 z/OS Connect 제공 데이터 변환을 사용하도록 요청할 각 서비스에 대해 zosConnectService 요소를 업데이트하십시오.
    <!-- z/OS Connect service definition --> 
    <zosConnectService id="zosConnectCustomer"
    	serviceName="customer"
    	serviceRef="wolaCustomerCreate"
    	dataXformRef="zosConnectXform"/>
  3. 선택사항: 모든 서비스에 적용할 데이터 변환기를 구성하십시오. zosConnectManager 요소의 globaDataXformRef를 글로벌 사용을 위해 구성된 데이터 변환기의 ID로 설정하십시오. 글로벌 및 서비스 데이터 변환기가 둘 다 정의되고 구성된 데이터 변환기가 있는 서비스에 대한 요청이 수신되는 경우, z/OS Connect는 해당 서비스에 대해 특별히 구성된 데이터 변환기를 사용합니다.
    <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. 선택사항: 모니터링 조치를 세부적으로 튜닝하려면 pollingRateupdateTrigger와 같은 설정을 구성하십시오. 기본적으로 데이터 전송 정의와 연관된 디렉토리가 새 파일 및 파일 업데이트에 대해 모니터링됩니다. 이러한 구성 속성에 대한 자세한 정보는 z/OS Connect 1.0z/OS Connect 1.2에 있는 zosConnectDataXform 요소 절을 참조하십시오.
    <zosConnectDataXform id="globalDataXform" 
            bindFileLoc="/zosConnect/banking/bind/"
            bindFileSuffix=".bnd"   
            requestSchemaLoc="/zosConnect/banking/reqSchema"
            requestSchemaSuffix=".json"
            responseSchemaLoc="/zosConnect/banking/respSchema"
            responseSchemaSuffix=".json"
            pollingRate="500ms"> 
    </zosConnectDataForm>      

    예에서 디렉토리 /zosConnect/banking/bind,/zosConnect/banking/reqSchema/zosConnect/banking/respSchema는 500밀리초마다 파일 업데이트를 위해 폴링됩니다. pollingRate updateTrigger 구성 속성이 구성되지 않으면 각각 기본값 polled2 seconds가 사용됩니다. 파일 모니터링이 필요하지 않으면 updateTrigger 속성을 disabled로 설정하여 사용 안함으로 설정할 수 있습니다. 특정 파일의 수동 새로 고치기를 트리거하려면 updateTrigger 속성을 mbean으로 설정하고 파일 알림 mbean com.ibm.ws.kernel.filemonitor.FileNotificationMBean을 사용하여 업데이트를 트리거하십시오. 예:

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

    예에서는 restConnector-1.0 기능을 사용하여 customer.bnd, customer_request.json, customer_response.json 파일의 업데이트를 트리거합니다. 보안 JMX 연결 작성 방법에 대한 자세한 정보는 Liberty에 대한 보안 JMX 연결 구성에서 문서를 참조하십시오.


주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_zconnect_msg_payload_conv.html