Suporte do Web Services Resource Framework

O suporte do Web Services Resource Framework (WSRF) no WebSphere Application Server fornece o ambiente para aplicativos de serviços da Web que seguem as especificações do OASIS WSRF.

Visão Geral do WSRF

As interfaces de serviço da Web precisam, geralmente, fornecer interações com preservação de estado com os clientes do serviço. Por exemplo, uma interface de serviço da Web como um carrinho de compras, em que o resultado de uma operação influencia na realização de operações bemsucedidas. O OASIS Web Services Resource Framework (WSRF) define uma estrutura genérica para modelagem e acesso de recursos stateful usando os serviços da Web, para facilitar a definição e implementação de um serviço e a integração e o gerenciamento de diversos serviços.

O WSRF apresenta o conceito de uma descrição de documento XML, chamada esquema de documento de propriedades do recurso, que é referida pela descrição do WSDL de um serviço da Web e que descreve explicitamente uma exibição do estado do recurso com o qual o cliente interage. Um serviço descrito dessa maneira e chamado de WS-Resource.

Um WS-Resource é definido como a combinação de um recurso e um serviço da Web por meio do qual o recurso é acessado. A figura a seguir ilustra um serviço da Web, em http://www.example.com/service, e três recursos, A, B e C, que são acessados por meio do serviço da Web. Portanto, existem três WS-Resources ilustrados na figura:
Consulte o texto descritivo
Um WS-Resource é referido por uma referência de terminal do WS-Addressing que identifica exclusivamente o WS-Resource, geralmente contendo um identificador do componente de recurso do WS-Resource dentro do elemento EndpointReference ReferenceParameter. No exemplo anterior, o WS-Resource-C é a combinação do serviço da Web e do recurso que é identificado por C e uma referência ao WS-Resource-C pode ser como a seguir:
<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 possui um documento de propriedades de recurso (um documento da instância XML) que descreve uma visualização do estado do recurso. O WSDL para um WS-Resource identifica o esquema XML que descreve o tipo do documento de propriedades de recurso por meio de um atributo ResourceProperties do elemento wsdl:PortType. Especificando essa extensão padrão do WSDL para o esquema do documento de propriedades de recurso, o WSRF ativa a definição de mensagens simples e genéricas que interagem com o WS-Resource.

Por exemplo, considere um WS-Resource de Impressora que tenha o seguinte esquema do documento de propriedades 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>
O elemento WSDL PortType para esse WS-Resource declararia o tipo de Documento de Propriedades de Recurso conforme a seguir:
<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 possui uma instância exclusiva do documento de propriedades de recurso lógico que é uma visualização do estado do recurso. A especificação WS-ResourceProperties descreve as mensagens de protocolos interoperáveis que um WS-Resource pode implementar para obter, configurar ou consultar o estado do recurso, operando no documento de propriedades de recurso. Algumas dessas operações afetam o documento de propriedades de recurso inteiro e algumas operam em um ou mais elementos no documento (as propriedades de recursos individuais, por exemplo pr:printer_name). Cada WS-Resource pode ter um ciclo de vida finito e pode ser criado e destruído; a especificação WS-ResourceLifetime descreve as mensagens de protocolo interoperável que um WS-Resource pode implementar para destruí-lo ou para alterar seu tempo de término.

Para obter informações sobre o WSRF, consulte o documento WSRF Primer publicado pelo OASIS Technical Committee.

Modelo de Programação do WSRF

As especificações do WSRF definem apenas as mensagens do protocolo e o comportamento semântico de um WS-Resource quando ele processa essas mensagens; as especificações não prescrevem o meio para implementar objetos WS-Resource. O WSRF é antes de tudo um protocolo de nível do aplicativo e as ferramentas para implementação do WS-Resources são as mesmas que são usadas para implementação de qualquer outro tipo de serviço da Web. O WSRF usa referências de terminal do WS-Addressing e o modelo de programação de aplicativos para WS-Resources é semelhante ao modelo de qualquer serviço da Web que utilize o WS-Addressing.

O WSRF estende o modelo de programação do WebSphere Application Server WS-Addressing de duas maneiras, que diferenciam um WS-Resource de um recurso genérico que é acessado por meio de um serviço da Web usando o WS-Addressing:
  • O WSRF requer o atributo ResourceProperties no elemento wsdlPortType. Esse atributo declara que o elemento portType é implementado por um WS-Resource em vez de um serviço da Web genérico. O WS-Resource deve declarar quais operações do WSRF ele suporta, copiando essas operações para o elemento portType de sua definição WSDL. O WS-Resource é livre para escolher qualquer estratégia de implementação para representar o recurso com preservação de estado e processar as mensagens do WSRF; é possível implementar um recurso utilizando uma classe Java™ simples, um enterprise bean de sessão sem estado, um bean de entidade auxiliado por um banco de dados relacional, um SDO (Service Data Object), etc.
  • O WSRF define uma hierarquia de tipos Java BaseFault.

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsrf
Nome do arquivo: cwbs_wsrf.html