Prise en charge Web Services Resource Framework

La prise en charge de WSRF (Web Services Resource Framework) dans WebSphere Application Server fournit l'environnement pour les applications de services Web conformes aux spécifications WSRF d'OASIS.

Présentation de WSRF

Les interfaces de services Web requièrent souvent des interactions dynamiques avec les clients du service. par exemple, une interface de services Web telle, qu'un panier d'achat, pour lequel le résultat d'une opération influence l'exécution des opérations suivantes. OASIS Web Services Resource Framework (WSRF) définit une infrastructure générique de modélisation des ressources dynamiques et d'accès à ces dernières à l'aide des services Web, afin de faciliter la définition et l'implémentation d'un service, ainsi que l'intégration et la gestion de plusieurs services.

WSRF met en oeuvre le concept de description de document XML appelé schéma de document de propriétés de ressources, qui est référencé par la description WSDL d'un service Web et qui décrit une vue de l'état de la ressource avec laquelle le client interagit. Un service décrit de cette façon est appelé WS-Resource (Ressource WS).

Une WS-Resource est la combinaison d'une ressource et d'un service Web par lequel la ressource est accessible. L'image ci-dessous illustre un service Web sur http://www.example.com/service, ainsi que trois ressources (A, B et C) accessibles via le service Web. Trois WS-Resources sont donc illustrées dans la figure :
voir la description
Une WS-Resource est référencée par une référence de noeud final WS-Addressing qui identifie la WS-Resource de façon unique, généralement grâce à un identificateur du composant de ressource de la WS-Resource à l'intérieur de l'élément EndpointReference ReferenceParameter (RéférenceNoeudFinal ParamètreRéférence). Dans l'exemple précédent, la ressource WS-Resource-C est la combinaison du service Web et de la ressource identifiée par C, et une référence à WS-Resource-C peut s'afficher comme suit :
<wsa:EndpointReference>
    <wsa:Address>
        http://www.example.com/service
    </wsa:Address>
    <wsa:ReferenceParameters>
        <tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
    </wsa:ReferenceParameters>
    ...
</wsa:EndpointReference>

Chaque WS-Resource comporte un document de propriétés de ressources (un document d'instance XML) qui décrit une vue de l'état de la ressource. Le WSDL d'une WS-Resource identifie le schéma XML qui décrit le type du document de propriétés de ressources via un attribut ResourceProperties de l'élément wsdl:PortType. En spécifiant cette extension WSDL standard pour le schéma de document de propriétés de ressources, WSRF permet la définition de messages simples génériques qui interagissent avec la WS-Resource.

Par exemple, considérons une WS-Resource d'imprimante dont le schéma de document de propriétés de ressources est le suivant :
<?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>
L'élément PortType WSDL pour cette WS-Resource déclare le type de document de propriétés de ressources comme suit :
<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">

Chaque WS-Resource a une instance de document de propriétés de ressources logique et unique qui est une vue de l'état de la ressource. La spécification WS-ResourceProperties décrit les messages de protocole interopérable qu'une WS-Resource peut implémenter pour obtenir, définir ou interroger l'état de la ressource par une action sur le document de propriétés de ressources. Certaines de ces opérations affectent le document de propriétés de ressources dans son intégralité et certaines d'entre elles agissent sur un ou plusieurs éléments au sein du document (les propriétés de ressources individuelles telles que pr:printer_name). Chaque WS-Resource peut avoir un cycle de vie limité et peut être créée et détruite ; la spécification WS-ResourceLifetime décrit les messages de protocole interopérable qu'une WS-Resource peut implémenter pour procéder à sa suppression ou à la modification de son heure de fin.

Pour plus d'informations sur le WSRF, voir le document WSRF Primer publié par le comité technique d'OASIS.

Modèle de programmation WSRF

La spécification WSRF définit uniquement les messages de protocole et le comportement sémantique attendus d'une WS-Resource lorsqu'elle traite ces messages ; les spécifications ne prescrivent pas les moyens d'implémentation des objets WS-Resource. WSRF est d'abord un protocole de niveau application et les outils d'implémentation des WS-Resources sont identiques à ceux utilisés pour l'implémentation de tout autre type de service Web. WSRF utilise les références de noeud final WS-Addressing et le modèle de programmation des WS-Resources est similaire à celui de tout service Web utilisant WS-Addressing.

WSRF étend le modèle de programmation WebSphere Application Server WS-Addressing de deux façons, ce qui différencie une WS-Resource d'une ressource générique accessible via un service Web qui utilise WS-Addressing :
  • WSRF nécessite l'attribut ResourceProperties sur l'élément wsdlPortType. Cet attribut déclare que l'élément portType est implémenté par une ressource WS-Resource et non par un service Web générique. La WS-Resource doit déclarer les opérations WSRF qu'elle prend en charge en copiant ces opérations dans l'élément portType de sa définition WSDL. La WS-Resource peut librement choisir une stratégie d'implémentation pour représenter la ressource avec état et traiter les messages WSRF. Vous pouvez implémenter une ressource à l'aide d'une simple classe Java™, d'un bean session enterprise sans état, d'un bean entity associé à une base de données relationnelle, d'un objet SDO, etc.
  • WSRF définit une hiérarchie de types Java BaseFault.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsrf
Nom du fichier : cwbs_wsrf.html