WS-MetadataExchange 요청
WS-MetadataExchange(Web Services Metadata Exchange) GetMetadata 요청을 사용하여 WS-Policy 정보로 어노테이션되는 WSDL(Web Services Description Language)을 교환할 수 있습니다. 서비스 제공자는 WS-MetadataExchange 요청을 사용하여 해당 정책을 공유할 수 있으며, 서비스 클라이언트는 WS-MetadataExchange 요청을 사용하여 제공자의 정책을 적용할 수 있습니다. 전송 레벨 또는 메시지 레벨 보안을 사용하여 WS-MetadataExchange 요청을 보안할 수 있습니다.
WS-MetadataExchange 스펙은 엔드포인트에서 메타데이터를 검색하는 메커니즘을 정의합니다. WebSphere® Application Server는 응답에서 메타데이터를 리턴하기 위한 WS-MetadataExchange 1.1 GetMetadata 요청 사용을 지원합니다. 서비스 제공자는 이 메커니즘을 사용하여 WS-Policy 정보로 어노테이션되는 WSDL을 사용 가능하게 만들 수 있습니다. 즉, 서비스 제공자가 그의 정책을 공유할 수 있습니다. 서비스 클라이언트는 이 메커니즘을 사용하여 서비스 제공자로부터 WS-Policy 정보로 어노테이션되는 WSDL을 얻은 후 해당 정책을 적용할 수 있습니다. 정책 구성은 서비스 제공자의 WSDL에서 WS-PolicyAttachments 형식이어야 합니다.
WS-MetadataExchange 요청을 HTTP GET 요청 사용의 대안으로 사용할 수 있습니다.
기본적으로, 서비스 제공자 또는 서비스 클라이언트는 WS-MetadataExchange를 사용하여 WS-Policy 정보를 공유하거나 얻지 않습니다. 그의 정책을 공유하도록 서비스 제공자를 구성하거나, 서비스 제공자의 정책을 적용하도록 서비스 클라이언트를 구성할 수 있으며, WS-MetadataExchange 요청이 정책 구성을 공유하거나 얻는 데 사용되도록 지정해야 합니다. 애플리케이션 또는 서비스 레벨에서 WS-Policy 정보를 공유하거나 얻을 수 있습니다. 관리 콘솔을 사용하거나 wsadmin 명령을 사용하여 서비스 제공자나 서비스 클라이언트를 구성할 수 있습니다.
애플리케이션 개발자는 웹 서비스가 생성될 때 Rational® Application Developer 도구를 사용하여 서비스 제공자나 서비스 클라이언트를 구성할 수 있습니다. 자세한 정보는 Rational Application Developer 문서를 참조하십시오.
서비스 제공자가 WS-MetadataExchange를 통해 그의 정책을 공유하도록 구성될 때, 서비스는 WSDL 통용어로 제한되는 수신 WS-MetadataExchange GetMetadata 요청을 지원합니다. 서비스가 그런 요청을 수신할 때, 서비스의 WSDL이 준수하는 WS-MetadataExchange 응답을 통해 인라인으로 리턴됩니다. 서비스의 WSDL은 현재 정책 구성을 표시하는 WS-PolicyAttachments 어노테이션을 포함합니다. 웹 서비스 정책(WS-Policy) 스펙 및 WS-MetadataExchange GetMetadata 요청을 지원하는 기타 클라이언트, 서비스 레지스트리 또는 서비스에 사용 가능하도록 정책 구성은 WSDL에서 WS-PolicyAttachments 형식입니다.
서비스 클라이언트가 WS-MetadataExchange를 사용하여 서비스 제공자의 정책을 얻도록 구성될 때, 서비스 클라이언트는 제공자의 정책을 얻거나 새로 고쳐야할 때마다 WSDL 통용어를 지정하는 WS-MetadataExchange GetMetadata 요청을 전송합니다.
WS-MetadataExchange 보안
GetMetadata 요청이 보안되어 효과적인 인증, 권한 부여, 무결성 및 기밀성이 있도록 보장해야 합니다. 권한 부여되지 않은 당사자가 이 정보에 액세스할 수 있는 경우 보안 신임 정보가 신뢰하지 않는 엔드포인트로 전송될 수 있기 때문에 엔드 투 엔드 인증은 보안 메타데이터(SecurityPolicy)의 교환을 위해 특히 중요합니다.
GetMetadata 요청은 애플리케이션 엔드포인트와 동일한 포트를 대상으로 하므로, 애플리케이션이 전송 레벨 보안을 사용하는 경우 GetMetadata 요청은 보안 포트를 대상으로 하며 기본적으로 애플리케이션의 동일한 전송 레벨 보안 구성을 사용합니다.
추가로, 메타데이터 교환에 메시지 레벨 보안(WS-Security)을 적용할 수 있습니다. 전송 레벨 보안이 애플리케이션 엔드포인트에서 사용 불가능한 경우 또는 전송 레벨 보안이 사용자 요구사항에 충분하지 않은 경우 메시지 레벨 보안을 적용하기 원할 수 있습니다. 메시지 레벨 보안의 장점은 SOAP 메시지의 헤더에 보안 기능을 통합하여 엔드 투 엔드 보안을 제공한다는 점입니다.
메시지 레벨 보안을 제공하려면 정책 구성을 교환하기 위해 서비스 제공자 또는 서비스 클라이언트를 구성할 때 시스템 정책 세트 및 일반(이름 지정된) 바인딩을 엔드포인트에 첨부합니다.
시스템 정책 세트는 비즈니스와 관련되지 않은 시스템 메시지에 사용되는 반면, 애플리케이션 정책 세트는 비즈니스 관련 메시지에 대한 정책 어설션을 설정합니다. 예를 들어, 시스템 정책 세트는 서비스 품질(QoS)을 적용하는 메시지에 사용되는데, 여기에는 WS-MetadataExchange 프로토콜에서 정의되는 메시지가 포함됩니다. GetMetadata 요청에 대한 메시지 레벨 보안을 제공하려면, 웹 서비스 보안(WS-Security) 또는 웹 서비스 주소 지정(WS-Addressing) 정책만 포함하는 시스템 정책 세트를 첨부해야 합니다. 글로벌 도메인 또는 서비스의 보안 도메인 중 하나가 범위인 일반 바인딩을 지정할 수 있습니다.
메시지 레벨 보안을 적용할 때, 애플리케이션의 모든 전송 정책이 항상 사용됩니다.