웹 서비스 자원 프레임워크 지원
WebSphere® Application Server에서 WSRF(Web Services Resource Framework) 지원은 OASIS WSRF 스펙을 따르는 웹 서비스 애플리케이션의 환경을 제공합니다.
WSRF 개요
웹 서비스 인터페이스가 서비스 클라이언트와의 stateful 상호작용을 제공해야 하는 경우가 많습니다. 예를 들어 장바구니와 같은 웹 서비스 인터페이스이며, 여기서 하나의 조작 결과는 다음 조작에서의 실행에 영향을 줍니다. OASIS WSRF(Web Services Resource Framework)는 웹 서비스를 사용한 stateful 자원 모델링 및 액세스를 위한 일반 프레임워크를 정의하므로, 서비스 정의와 구현 및 다중 서비스의 통합과 관리가 더 용이해집니다.
WSRF는 자원 특성 문서 스키마라는 XML 문서 설명의 개념을 소개하며, 웹 서비스의 WSDL 설명에서 참조되며 클라이언트가 상호작용하는 자원의 상태 보기를 명시적으로 설명합니다. 이 방법으로 설명된 서비스를 WS-Resource라고 합니다.

<wsa:EndpointReference>
<wsa:Address>
http://www.example.com/service
</wsa:Address>
<wsa:ReferenceParameters>
<tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
</wsa:ReferenceParameters>
...
</wsa:EndpointReference>
이러한 각 WS-Resource에는 자원 상태의 보기를 설명하는 자원 특성 문서(XML 인스턴스 문서)가 있습니다. WS-Resource용 WSDL은 wsdl:PortType 요소의 ResourceProperties 속성을 통해 자원 특성 문서의 유형을 설명하는 XML 스키마를 식별합니다. 자원 특성 문서 스키마에 대한 이 표준 WSDL 확장기능을 지정하여, WSRF는 WS-Resource와 상호작용하는 단순, 일반 메시지의 정의를 사용합니다.
<?xml version="1.0"?>
<xsd:schema ...
xmlns:pr="http://example.org/printer.xsd"
targetNamespace="http://example.org/printer.xsd" >
<xsd:element name="printer_properties">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="pr:printer_name" />
<xsd:element ref="pr:queued_job_count" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
</schema>
<wsdl:portType xmlns:pr="http://example.org/printer.xsd"
xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"
name="Printer" wsrf-rp:ResourceProperties="pr:printer_properties">
각 WS-Resource에는 자원 상태의 보기인 고유, 논리적 자원 특성 문서 인스턴스가 있습니다. WS-ResourceProperties 스펙은 WS-Resource가 자원 특성 문서에서 조작하여 자원 상태를 가져오거나, 설정하거나 또는 조회하도록 구현할 수 있는 상호운용 가능한 프로토콜 메시지를 설명합니다. 이 조작의 일부가 자원 특성 문서에 전체적으로 영향을 미치며 일부는 문서 내 하나 이상의 요소에 대해 조작합니다(개별 자원 특성, 예를 들어 pr:printer_name). 각 WS-Resource에는 유한 라이프사이클이 있으며 작성되거나 영구 삭제될 수 있습니다. WS-ResourceLifetime 스펙은 WS-Resource가 자체 영구 삭제하거나 종료 시간을 변경하도록 구현할 수 있는 상호 운용 가능한 프로토콜 메시지를 설명합니다.
WSRF에 대한 자세한 정보는 OASIS Technical Committee에서 공개된 WSRF Primer 문서를 참조하십시오.
WSRF 프로그래밍 모델
WSRF 스펙은 이 메시지를 처리할 때 WS-Resource의 예상된 시맨틱 동작 및 프로토콜 메시지만 정의합니다. 스펙은 WS-Resource 오브젝트를 구현하는 방법을 규정하지 않습니다. WSRF는 기본적으로 애플리케이션 레벨 프로토콜이며 WS-Resources를 구현하기 위한 도구는 다른 유형의 웹 서비스를 구현하기 위해 사용되는 동일한 도구입니다. WSRF는 WS-Addressing 엔드포인트 참조를 사용하며 WS-Resources에 대한 애플리케이션 프로그래밍 모델은 WS-Addressing을 사용하는 웹 서비스에 대한 모델과 유사합니다.
- WSRF는 wsdlPortType 요소에서 ResourceProperties 속성을 필요로 합니다. 이 속성은 portType 요소가 일반 웹 서비스가 아닌 WS-Resource에서 구현됨을 선언합니다. WS-Resource는 이 조작을 WSDL 정의의 portType 요소로 복사하여 지원하는 WSRF 조작을 선언해야 합니다. WS-Resource는 stateful 자원을 표시하고 WSRF 메시지를 처리하는 구현 전략을 마음대로 선택할 수 있습니다. 단순 Java™ 클래스, stateless 세션 엔터프라이즈 Bean, 관계형 데이터베이스에서 지원되는 엔티티 Bean, SDO(Service Data Object) 등을 사용하여 자원을 구현할 수 있습니다.
- WSRF는 Java BaseFault 유형의 계층을 정의합니다.