WSRF-Unterstützung

Die WSRF-Unterstützung (Web Services Resource Framework) in WebSphere Application Server stellt die Umgebung für Web-Service-Anwendungen bereit, die auf der Grundlage der OASIS-WSRF-Spezifikationen ausgeführt werden.

Übersicht über WSRF

Web-Service-Schnittstellen müssen häufig statusabhängige Interaktionen mit den Clients des Services bereitstellen. Ein Beispiel hierfür ist ein Web-Service-Schnittstellen, z. B. ein elektronischer Warenkorb, bei dem das Ergebnis einer Operation die Ausführung der nachfolgenden Operationen beeinflusst. Das OASIS Web Services Resource Framework (WSRF) definiert ein generisches Framework für die Modellierung und den Zugriff auf statusabhängige Ressourcen mittels Web-Services und vereinfacht dadurch die Definition und Implementierung eines Services und die Integration und Verwaltung mehrerer Services.

WSRF führt das Konzept einer XML-Dokumentbeschreibung ein, das sogenannte Schema des Ressourceneigenschaftendokuments, das von der WSDL-Beschreibung eines Web-Service referenziert wird und eine explizite Beschreibung einer Sicht des Status der Ressource enthält, mit der der Client interagiert. Ein Service, der auf diese Art und Weise beschrieben wird, ist eine WS-Resource.

Eine WS-Resource ist per Definition eine Kombination aus einer Ressource und einem Web-Service, über den auf die Ressource zugegriffen wird. Die Abbildung unten zeigt einen Web-Service auf http://www.example.com/service sowie die drei Ressourcen A, B und C, die über den Web-Service zugänglich sind. Folglich werden in der Abbildung drei WS-Resources dargestellt:
Siehe beschreibenden Text.
Eine WS-Resource wird durch eine WS-Addressing-Endpunktreferenz referenziert, die die WS-Resource eindeutig angibt. Normalerweise enthält sie eine Kennung der Ressourcenkomponente der WS-Resource im EndpointReference-Element ReferenceParameter. Im Beispiel oben ist WS-Resource-C die Kombination aus dem Web-Service und der durch “C” angegebenen Ressource, und eine Referenz auf WS-Resource-C kann wie folgt dargestellt werden:
<wsa:EndpointReference>
    <wsa:Address>
        http://www.example.com/service
    </wsa:Address>
    <wsa:ReferenceParameters>
        <tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
    </wsa:ReferenceParameters>
    ...
</wsa:EndpointReference>

Jede dieser WS-Resources hat ein Ressourceneigenschaftendokument (ein XML-Instanzendokument), das eine Sicht des Status der Ressource beschreibt. Die WSDL für eine WS-Resource gibt das XML-Schema an, das den Typ des Ressourceneigenschaftendokuments über ein ResourceProperties-Attribut des Elements "wsdl:PortType" beschreibt. Durch Angabe dieser Standard-WSDL-Erweiterung für das Schema des Ressourceneigenschaftendokuments ermöglicht WSRF die Definition einfacher generischer Nachrichten, die mit der WS-Resource interagieren.

Betrachten Sie z. B. eine Drucker-WS-Resource, die folgendes Schema des Ressourceneigenschaftendokuments verwendet:
<?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>
Das WSDL-Element PortType für eine solche WS-Resource würde den Typ des Ressourceneigenschaftendokuments wie folgt deklarieren:
<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">

Jede WS-Resource verfügt über eine eindeutige logische Instanz des Ressourceneigenschaftendokuments, die eine Sicht des Status der Ressource ist. Die Spezifikation WS-ResourceProperties beschreibt die interoperabeln Protokollnachrichten, die eine WS-Resource implementieren kann, um den Status der Ressource mittels des Ressourceneigenschaftendokuments abzurufen, festzulegen oder abzufragen. Einige der dazu ausgeführten Operationen betreffen das Ressourceneigenschaftendokument als Ganzes, während andere nur für ein oder mehrere Elemente im Dokument ausgeführt werden (für die individuellen Ressourceneigenschaften, z. B. pr:printer_name). Jede WS-Resource kann einen abgeschlossenen Lebenszyklus haben und kann erstellt und gelöscht werden. Die Spezifikation WS-ResourceLifetime beschreibt die interoperablen Protokollnachrichten, die von einer WS-Resource zum Löschen oder zum Ändern ihrer Ablaufzeit implementiert werden können.

Nähere Informationen zu WSRF finden Sie in der WSRF-Einführung, die vom OASIS Technical Committee veröffentlicht wurde.

WSRF-Programmiermodell

Die WSRF-Spezifikationen definieren nur die Protokollnachrichten und das semantische Verhalten, das von einer WS-Resource erwartet wird, wenn sie diese Nachrichten verarbeitet. Die Spezifikationen geben jedoch nicht die Mittel zur Implementierung der WS-Resource vor. WSRF ist primär ein Protokoll auf Anwendungsebene und die Tools zum Implementieren von WS-Resources sind dieselben, die auch zum Implementieren jeder anderen Art von Web-Service verwendet werden. WSRF verwendet WS-Addressing-Endpunktreferenzen, und das Anwendungsprogrammiermodell für WS-Resources ist dem Modell für alle Web-Services ähnlich, die WS-Addressing verwenden.

WSRF erweitert das WS-Addressing-Programmiermodell von WebSphere Application Server in zwei Punkten, die eine WS-Resource von einer generischen Ressource, die mittels WS-Addressing über einen Web-Service aufgerufen wird, unterscheiden:
  • WSRF benötigt das Attribut ResourceProperties im Element wsdlPortType. Dieses Attribut deklariert, dass der portType von einer WS-Resource und nicht von einem generischen Web-Service implementiert wird. Die WS-Resource muss deklarieren, welche WSRF-Operationen sie unterstützt, indem sie diese Operationen in das Element portType in ihrer WSDL-Definition kopiert. Die WS-Resource kann jede gewünschte Implementierungsstrategie zur Darstellung der statusabhängigen Ressource und zur Verarbeitung der WSRF-Nachrichten wählen. Sie können eine Ressource implementieren, indem Sie eine einfache Java™-Klasse, eine Stateless-Session-EJB, eine von einer relationalen Datenbank gestützte Entity-Bean, ein SDO (Service Data Object) oder eine andere Implementierungsstrategie wählen.
  • WSRF definiert eine Hierarchie von Java-BaseFault-Typen.

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_wsrf
Dateiname:cwbs_wsrf.html