z/OS Connect REST 클라이언트 지원을 통해 z/OS Connect 사용자는 z/OS Connect를 통해
원격 REST 애플리케이션으로 요청을 라우팅할 수 있으므로 기존 인터셉터 인프라스트럭처를
이용할 수 있습니다.
이 태스크 정보
zosConnect-1.2 기능을 구성하면 이 기능을 사용할 수 있습니다. z/OS Connect REST
클라이언트 서비스는 z/OS Connect 서비스 SPI 구현입니다. 이 서비스를 호출하는 요청은
두 가지 방법으로 이루어집니다.
정의된 서비스의 서비스 호출 예는 다음과 같습니다.
https://host:port/my/custom/uri (HTTP verb: GET/POST/PUT/DELETE). z/OS Connect는
예에 정의된 invokeURI 속성과 serviceName
속성 간의 연관을 파악합니다. z/OS Connect는 z/OS Connect 연관 서비스(restClientServiceY)의
구현에서 호출 메소드를 호출합니다.
invokeURI 속성에서 제공하는 기능 및
유연성에 대한 자세한 정보는 z/OS Connect 1.2에 대한 문서를 참조하십시오.
- zosConnectServiceRestClient 요소를 구성하고 zosConnectService
요소와 연관시키십시오.
<featureManager>
<feature>zosConnect-1.2</feature>
</featureManager>
<!-- Global interceptor definition to run for all service requests -->
<zosConnectInterceptors interceptorRef="auth,audit,fileSystemLogger" id="globalInterceptorList1"/>
<fileSystemloggerInterceptor id="fileSystemLogger" logName="service1Log_%SERVERNAME%"sequence="1"/>
<authorizationInterceptor id="auth" sequence="2"/>
<auditInterceptor id="audit" sequence="3"/>
<!-- ZosConnectManager definition -->
<zosConnectManager globalAdminGroup="ADMIN"
globalOperationsGroup="OPS"
globalInvokeGroup="INVOKE"
globalInterceptorsRef="globalInterceptorList1"/>
<zosConnectServiceRestClient id="restClientServiceY"
host="remoteHostName"
port="8800"
uri="/remote/endpoint"
httpMethod="DELETE"/>
<zosConnectService serviceName="serviceY" serviceRef="restClientServiceY"invokeURI="/my/custom/uri" />
예에서 serviceY 서비스를 대상으로 하는 요청은 연관된 restClientServiceY
서비스에서 구성되고 구성된 URI 및 DELETE HTTP 메소드를 사용하는 원격 호스트
및 포트로 라우팅됩니다. JSON 페이로드는 원격 요청과 함께 자동으로 전송됩니다. zosConnectServiceRestClient
요소를 구성하는 경우 호스트 이름 및 포트 번호 속성을
지정하십시오. URI 또는 httpMethod 속성을 지정하지 않으면 serviceY
서비스를 대상으로 하는 원래 클라이언트 요청에서 온 값이 사용됩니다. 또한 예는 인터셉터가
글로벌로 실행되도록 구성되었기 때문에 serviceY 서비스를 대상으로 하는 모든 요청을 원격
엔드포인트로 라우팅하기 전에 로깅하고 권한 부여하고 감사하는 데 대한 내용을 표시합니다. 또한
인터셉터는 원격 엔드포인트에서 리턴 시 응답을 로깅하고 감사합니다. invokeURI 속성이
serviceY 서비스에 대해 구성되었으므로 요청자가 URL https://host:port/my/custom/uri를
사용하고 GET, POST, PUT, 또는 DELETE HTTP 중 하나를 사용하여
serviceY invoke 메소드의 구현을 시작할 수 있습니다. 이 경우
serviceY 서비스가 z/OS Connect REST 클라이언트 서비스의 인스턴스를 참조하므로
이 인스턴스의 invoke() 메소드가 호출됩니다. 사용 가능한 구성 속성 및 기본값에 대한 자세한 정보는
z/OS Connect 1.0 and z/OS Connect 1.2의 문서를 참조하십시오.
- (선택사항) 기본 인증을 구성하십시오. appSecurity-2.0 기능을
server.xml 파일에 추가하십시오.
<featureManager>
<feature>zosConnect-1.2</feature>
<feature>appSecurity-2.0</feature>
</featureManager>
<zosConnectServiceRestClientBasicAuth id="fredBasicAuth" userName="Fred" password="{xor}OS06Oy8oOw=="/>
<zosConnectServiceRestClient id="restClientServiceY"
host="remoteHostName"
port="8800"
uri="/remote/endpoint"
httpMethod="POST"
basicAuthRef="bobBasicAuth"/>
<zosConnectService serviceName="serviceY" serviceRef="restClientServiceY" />
구성을 사용하면 원격 REST 애플리케이션 엔드포인트에 대한 요청이
작성될 때 zosConnectServiceRestClientBasicAuth 요소에 대해 구성된
사용자 이름 및 비밀번호를 전파할 수 있습니다.
- (선택사항) 인증서 인증을 구성하십시오. appSecurity-2.0 기능을
server.xml 파일에 추가하십시오.
예는 클라이언트 키 저장소 및 클라이언트 신뢰 저장소를 구성하고
zosConnectServiceRestClient 구성과 연관시키는 방법을 표시합니다.
<featureManager>
<feature>zosConnect-1.2</feature>
<feature>appSecurity-2.0</feature>
</featureManager>
<keyStore id="clientKeyStore" password="zosConnect"
location="${server.config.dir}/resources/security/clientKey.jks" />
<keyStore id="clientTrustStore" password="zosConnect"
location="${server.config.dir}/resources/security/clientTrust.jks" />
<ssl id="sslCertificates" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore"/>
<zosConnectServiceRestClient id="restClientServiceY"
host="remoteHostName"
port="8800"
uri="/remote/endpoint"
httpMethod="PUT"
sslCertsRef="sslCertificates"/>
<zosConnectService serviceName="serviceY" serviceRef="restClientServiceY" />