Soporte de WSRF (Web Services Resource Framework)

El soporte de WSRF (Web Services Resource Framework) de WebSphere Application Server proporciona el entorno para las aplicaciones de servicio web que siguen las especificaciones OASIS de WSRF.

Visión general de WSRF

Las interfaces de servicios web necesitan proporcionar interacciones con estado con los clientes del servicio con frecuencia. Por ejemplo, una interfaz de servicio web como, por ejemplo, un carro de la compra, donde el resultado de una operación influye en la realización de las operaciones subsiguientes. WSRF (Web Services Resource Framework) de OASIS define una infraestructura genérica para modelar los recursos con estado y acceder a ellos mediante los servicios web, de modo que la definición e implementación de un servicio y la integración y gestión de varios servicios se realice con mayor facilidad.

WSRF introduce el concepto de una descripción de documento XML denominada esquema de documento de propiedades de recurso, a la que hace referencia la descripción WSDL de un servicio web y que describe explícitamente una vista del estado del recurso con el que interactúa el cliente. Un servicio describe descrito de este modo se denomina WS-Resource.

Un WS-Resource se define como la combinación de un recurso y un servicio web a través del cual se accede al recurso. La siguiente figura ilustra un servicio web, obtenido en la dirección http://www.example.com/service, y tres recursos, A, B y C, a los que se accede a través del servicio web. Se ilustran, por lo tanto, tres recursos WS-Resources en la figura:
Consulte el texto con la descripción
Una referencia de punto final de WS-Addressing hace referencia a un WS-Resource identificándolo de forma exclusiva, generalmente mediante un identificador del componente de recurso del WS-Resource incluido en el elemento EndpointReference ReferenceParameter. En el ejemplo anterior, WS-Resource-C es la combinación del servicio web y el recurso identificado por C y una referencia a WS-Resource-C será similar a la siguiente:
<wsa:EndpointReference>
    <wsa:Address>
        http://www.example.com/service
    </wsa:Address>
    <wsa:ReferenceParameters>
        <tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
    </wsa:ReferenceParameters>
    ...
                 </wsa:EndpointReference>

Cada WS-Resource de este tipo tiene un documento de propiedades de recurso (un documento de instancia XML) que describe una vista del estado del recurso. El WSDL de un WS-Resource identifica el esquema XML que describe el tipo de documento de propiedades de recurso a través de un atributo ResourceProperties del elemento wsdl:PortType. Mediante la especificación de esta extensión WSDL estándar del esquema de documento de propiedades de recurso, WSRF habilita la definición de mensajes genéricos sencillos que interactúan con el WS-Resource.

Por ejemplo, considere un WS-Resource de impresora que tenga el siguiente esquema de documento de propiedades de recurso:
<?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>
El elemento PortType de WSDL para este tipo de WS-Resource declararía el tipo de documento de propiedades de recurso del siguiente modo:
<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">

Cada WS-Resource tiene una instancia de documento de propiedades de recurso lógica y exclusiva que es una vista del estado del recurso. La especificación de WS-ResourceProperties describe los mensajes de protocolo interoperativos que puede implementar un WS-Resource para obtener, establecer o consultar el estado del recurso mediante operaciones en el documento de propiedades de recurso. Algunas de estas operaciones afectan al documento de propiedades de recurso en su totalidad y otras actúan sobre uno o más de los elementos del documento (las propiedades de recurso individuales, por ejemplo pr:printer_name). Cada WS-Resource puede tener un ciclo de vida finito y puede crearse o destruirse. La especificación de WS-ResourceLifetime describe los mensajes de protocolo interoperativos que puede implementar un WS-Resource para destruir su ciclo de vida o alterar la hora de finalización.

Para obtener más información sobre WSRF, consulte el manual básico de WSRF publicado por OASIS Technical Committee.

Modelo de programación de WSRF

Las especificaciones de WSRF definen los mensajes de protocolo y el comportamiento semántico que se espera de un WS-Resource cuando procesa estos mensajes. Las especificaciones no prescriben el modo en que se deben implementar los objetos de WS-Resource. WSRF es principalmente un protocolo de nivel de aplicaciones y las herramientas para implementar los WS-Resources son las mismas que se utilizan para implementar cualquier otro tipo de servicio web. WSRF utiliza las referencias de punto final de WS-Addressing y el modelo de programación de aplicación para WS-Resources es similar al modelo para cualquier servicio web que utilice WS-Addressing.

WSRF amplía el modelo de programación de WS-Addressing de WebSphere Application Server de dos modos, lo que permite diferenciar un WS-Resource de un recurso genérico al que se acceda a través de un servicio web mediante WS-Addressing:
  • WSRF requiere el atributo ResourceProperties en el elemento wsdlPortType. Este atributo declara que portType se implementa mediante un WS-Resource en lugar de un servicio web genérico. El WS-Resource debe declarar las operaciones de WSRF a las que da soporte copiándolas en el elemento portType de su definición WSDL. El WS-Resource puede elegir libremente cualquier estrategia de implementación para representar el recurso con estado y procesar los mensajes WSRF. Puede implementar un recurso utilizando una clase Java™ sencilla, un bean enterprise de sesión sin estado, un bean de entidad respaldado por una base de datos relacional, un SDO (Service Data Object), etc.
  • WSRF define una jerarquía de tipos BaseFault Java.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsrf
File name: cwbs_wsrf.html