Die WS-* Spezifikationen (PDF)

Autoren:
Thomas Bayer
Orientation in Objects GmbH
Andreas Spall
Orientation in Objects GmbH
Thomas Bayer
Thomas Bayer
Andreas Spall
Andreas Spall
Datum:November 2004

Abstract

Im englischen Original als WS-Specifications auf http://www.osmoticweb.com erschienen. Wir danken für die Erlaubnis der Veröffentlichung dieser Übersetzung.

Einige Hersteller wie bspw. BEA, Microsoft, IBM, SAP und RSA Security unternehmen gemeinsame Anstrengungen, damit sichere und zuverlässige Web Service Applikationen, welche unterschiedliche Technologien und Mehrbenutzer unterstützten, entwickelt werden können.

Die meisten der folgenden Spezifikationen sind heute noch in der Entwurfsphase und unterliegen beständigen Veränderungen. Es existieren auf der anderen Seite bereits einige Produkte, die die skizzierten Merkmale zuverlässig unterstützen. Deshalb hoffen wir darauf, dass dieser Überblick einen Mehrwert für Ihre Entscheidungsfindung bei einer Produktauswahl entwickeln kann. Viele der Spezifikationen werden in SOAP 1.1 oder 1.2 Einzug halten.

WS-Addressing

Die WS-Addressing Spezifikation ist für viele andere WS-Spezifikationen unverzichtbar. Eine Referenz zu einem Web Service endpoint kann unter der Verwendung von WS-Adressing ausgedrückt und bearbeitet werden. WS-ReliableMessaging und WS-Coordination verwenden beispielsweise zur Beschreibung des Web Service endpoints diese Spezifikation. Neben dem Aufbau von endpoint Referenzen beschreibt die Spezifikation den Aufbau eines Message Information Headers.

WS-Policy

WS-Policy beschreibt Anforderungen, Fähigkeiten und Zusicherungen eines Web Services aus. So kann eine Policy beispielsweise anzeigen, dass ein Web Service nur eingehende Anfragen akzeptiert, wenn diese eine gültige Signatur enthält oder die Nachricht eine bestimmte Größe nicht überschreitet. Wie eine Policy verteilt bzw. bezogen werden kann, ist außerhalb des Anwendungsgebietes der Spezifikation. Die Spezifikationen WS-PolicyAttachment und WS-MetadataExchange spezifizieren, wie eine Policy über SOAP Nachrichten oder eingeschlossen in XML und WSDL Dokumenten zugänglich gemacht werden kann.

WS-PolicyAttachment

Um die Berücksichtigung der Policy vor der Ausführung des Services sicherzustellen, muss diese mit dem Web Service verbunden werden. WS-PolicyAttachment spezifiziert wie eine Policy mit XML und WSDL verbunden oder in der UDDI Registry registriert wird.

WS-MetadataExchange

Metadaten in WSDL Dokumenten, XML Schemata und WS-Policies können nützlich sein, um einen Web Service erfolgreich anzusprechen. Wie man diese Informationen über Service Endpoints erhalten kann, ist Gegenstand der WS-MetadataExchange Spezifikation.

WS-Resource Framework (WSRF)

Das WS-Resource Framework führt Zustände, in Form von Ressourcen, für den SOAP-basierten Web Services ein. WSRF stellt ein Design Pattern vor, welches den Ressourcenzugriff beschreibt. Das WS-Resource Framework ist eine Überarbeitung der Open Grid Services Infrastructure (OGSI). Das Framework basiert auf einer Reihe von kombinierten Spezifikationen.

  • WS-ResourceProperties: Spezifiziert, wie Daten, die mit zustandsbehafteten Ressourcen verbunden sind, über Web Service Technologien abgefragt und verändert werden können.

  • WS-ResourceLifetime: Beschreibt Möglichkeiten, wie WS-Resources freigegeben werden können.

  • WS-BaseFaults: Definiert einen XML Schema Type für Basisfehler.

  • WS-ServiceGroup: Definiert ein Behelfsmittel, bei welchem Web Services und WS-Resources vereint oder für domainspezifische Absichten gruppiert werden.

  • WS-Notification: wurde als eigenständige Spezifikation ausgegliedert.

Anwendungsgebiete für das WS-Resource Framework stellen Grid Computing und Systemmanagement dar.

WS-Notification

WS-Notification spezifiziert, den zum Publih-Subscribe Prozess gehörenden Datentransfer für Web Services. Es nutzt hierzu Spezifikationen des WS-Resource Frameworks und Web Services.

WS-Inspection

Web Services die auf einer Webseite angeboten werden, können über ein WS-Inspection Dokument veröffentlicht werden. Ein WS-Inspection Dokument bietet Querverweise zu Servicebeschreibungen wie UDDI Einträgen oder WSDL an. WS-Inspection konkurriert aber nicht mit UDDI, es ist vielmehr eine Beschreibung am Punkt des Angebotes als Ergänzung zu UDDI arbeitet.

WS-Security oder Web Service Security (WSS)

Sicherheit ist eine Voraussetzung, damit Web Services in kritischen Anwendungen angenommen werden. Die Integrität und Vertraulichkeit von Nachrichten muss sichergestellt sein. Zudem muss die Identität der beteiligten Parteien geprüft werden. Die Web Service Security Spezifikation ist die Basis für eine große Auswahl von Sicherheitslösungen. Die Organization for the Advancement of Structured Information Standards (OASIS) hat die WS-Security Spezifikation am April 2004 als Standard unter dem Namen OASIS Web Services Security (WSS) bestätigt.

Das signieren und verschlüsseln von SOAP Nachrichten sowie die Übertragung von Sicherheitstoken wird von WS-Security unterstützt. Dazu setzt WS-Security die Standards XML Signature und XML Encryption des W3Cs ein. Beinahe jede WS-Spezifikation kann zudem in Verbindung mit WS-Security verwendet werden. Beispielsweise sollte ein wsp:Policy Element innherhalb des SOAP Headers signiert werden um Abänderungen während der Übertragung zu verhindern. Die Spezifikationen WS-SecureConversation und WS-Trust werden oberhalb des WS-Security Standards angesiedelt.

WS-SecureConversation

Wenn mehr als eine Nachricht ausgetauscht wird, bietet sich ein Sicherheitskontext als geeignetes Mittel an. Themen von WS-SecureConversation sind Mechanismen zum Etablieren und Teilen eines Sicherheitskontextes sowie das Ableiten von Sicherheitsschlüsseln aus einem Sicherheitskontext. Zum Ableiten eines neuen Schlüssels ist ein geteiltes Geheimnis und ein Seed notwendig.

WS-Trust

WS-Trust ist eine Erweiterung der WS-Security Spezifikation. Diese Erweiterung ermöglicht das Ausstellen, Erneuern und Bestätigen von Sicherheitstoken zwischen Web Services und einem Sicherheitstokendienst. Dadurch werden sichere Verbindungen etabliert, beurteilt und vermittelt.

WS-ReliableMessaging

WS-ReliableMessaging wird verwendet, um eine Sequenz von Nachrichten zuverlässig zu übertragen. Der Empfänger bestätigt die erhaltene Nachricht und fragt verlorene Nachrichten erneut an.

WS-Reliability

(WS-Reliability was created by Sun Microsystems, Oracle, Sonic Software and others)

Diese Spezifikation ist eine Alternative zu WS-ReliableMessaging. Die Ziele - garantierte Zustellung, zweifache Nachrichteneliminierung und geordneter Nachrichtenaustausch - sind identisch zu der WS-ReliableMessaging Spezifikation. WS-Reliability wurde von Sun Microsystems, Oracle, Sonic Software und anderen erarbeitet und bei OASIS als offener Standard vorgeschlagen.

WS-Coordination

WS-Coordination ist ein erweiterbares Framework zum Etablieren der Koordinierung zwischen Web Services und Coordinators. Verschiedene Arten von Koordinierungstypen können hierbei definiert werden. Jeder Koodinierungstyp kann mehrfache Protokolle besitzen. Kontexte, verwendet für Transaktionen oder Sicherheit können mit Nachrichten erzeugt und assoziiert werden. Ein Kontext beinhaltet eine Referenz zu einem Registrationservice. WS-Transaction erweitert die WS-Coordination Spezifikation.

WS-Transaction

Die WS-Transaction wurde von den eigenen Kindern, der WS-Atomic Transaction und der WS-BusinessActivity Spezifikation, überholt.

WS-Atomic Transaction

Die Web Service Atomic Transaction Spezifikation beschreibt Transaktionen die der Alles oder Nichts Semantik folgen. Weil die Ressourcen, die an einer Transaktion beteiligt sind, während der Transaktion gesperrt sind, sollte die Transaktion nur einen kurzen Zeitraum umfassen. Wenn mehr als zwei Ressourcen an einer Transaktion beteiligt sind, wird das two phase commit protocol (2PC) zur Koordinierung der Beteiligten verwendet.

Die Protokolle von proprietären Transaktionsmonitoren können umhüllt (wrapped) in einer Web Service Umgebung betrieben werden.

WS-BuisnessActivity

Langlaufende Transaktionen sind grundverschieden zu Kurzzeit Transaktionen. In einer Web Service Umgebung kann eine Transaktion mehrere Tage umfassen. Aus diesem Grund ist das Sperren von Ressourcen nicht empfehlenswert. Aktionen werden aus diesem Grund sofort durchgeführt und Änderungen an Daten sind permanent. Im Falle eines Fehlers werden Aktionen verwendet, um die schon durchgeführten Modifikationen auszugleichen.

Die Web Service Buisness Activity Spezifikation soll den zweiten Teil der überholten WS-Transaktion Spezifikation ersetzten. Aktuell existiert die WS-BuisnessActivity Spezifikation nicht. Teile dieser Spezifikation werden in der aktuellen Business Process Execution Language for Web Services (BPEL4WS) Spezifikation verwendet.

BPEL4WS

Die Business Process Execution Language for Web Services Spezifikation ermöglicht es, eine Menge von Web Services zu einem neuen Web Service zusammenzusetzen. Ihr Ziel ist es, Prozesse zu beschreiben, diese falls benötigt auch zu instanziieren und dadurch eine den Geschäftsregeln entsprechende Komposition von Web Services zu bewerkstelligen.

WS-Routing

Der Weg, den eine Nachricht vom initialen Sender zum endgültigen Empfänger über eine Gruppe von optionalen Zwischenhändlern nehmen kann, kann innerhalb des SOAP Headers über das Web Services Routing Protokoll ausgedrückt werden. Die Spezifikation ermöglicht etliche Nachrichtenaustausch Patterns wie request/response, Nachrichtenbestätigungen und Peer to Peer Konversationen.

WS-Federation

Fortgeschrittene Web Service Szenarien umspannen mehrere Web Services die sich in unterschiedlichen Sicherheitsdomänen befinden. Es wäre für einen Benutzer oder einer Web Service Applikation lästig, seine Identität bei jeden Service beweisen und bestätigen zu lassen. Eine virtuelle Vereinigung ermöglicht den nahtlosen Zugang über Web Services in unterschiedlichen Sicherheitsdomänen. WS-Federation unterstützt nicht nur die transparente Übertragung von Identitäten, sondern auch die Übertragung von beliebigen Attributen.

WS-Eventing

Eine Infrastruktur für asynchronen Nachrichtenaustausch ist ein Funktionsbaustein für komplexe, verteilte Applikationen. WS-Eventing ermöglicht das Verwenden des Observer Desgin Patterns bei Web Services. Das Web Services Eventing Protokoll definiert Nachrichten zum subskribieren an eine Eventquelle, zum Beenden einer Subskription und zum Senden von Mitteilungen über Events.

Fazit

Es besteht zwischen den Fähigkeiten von CORBA und SOAP basierten Web Services noch immer eine große Kluft. Es ist aber schon abzusehen, dass mit der Evolution der aktuellen und noch kommenden WS-Spezifikationen diese Kluft beständig kleiner wird.

Die unverzichtbare WS-Security Spezifikation ist ein Funktionsbaustein für die meisten Applikationen und ist mit der Version 1.0 als OASIS Standard bestätigt.

Viele große Unternehmen im Web Service Geschäft stehen hinter den hier beschriebenen Spezifikationen und so besteht eine hohe Wahrscheinlichkeit für eine endgültige Etablierung als Standard.

Bibliographie

Web Services Addressing
(http://www.ibm.com/developerworks/library/specification/ws-add/)

Web Services Metadata Exchange (WSMetadataExchange)
(http://ifr.sap.com/ws-metadataexchange/WS-MetadataExchange.pdf)

Specification: Web Services Security (WS-Security)
(http://www.ibm.com/developerworks/library/specification/ws-secure/)

Web Services Coordination (WS-Coordination)
(http://www.ibm.com/developerworks/library/specification/ws-tx/)

Specification: Web Services Policy Framework (WSPolicy)
(http://www.ibm.com/developerworks/library/specification/ws-polfram/)

Specification: Web Services Transaction (WS-Transaction)
(http://www.ibm.com/developerworks/library/specification/ws-tx/)

Business Process Execution Language for Web Services Version 1.1
(http://www.ibm.com/developerworks/library/specification/ws-bpel/)

Web Services Policy Attachment (WS-PolicyAttachment)
(http://www.ibm.com/developerworks/library/specification/ws-polatt/)

Web Services Atomic Transaction (WS-AtomicTransaction)
(http://www.ibm.com/developerworks/library/specification/ws-tx/)

OASIS
(http://www.oasis-open.org/home/index.php)

WS-ReliableMessaging Specification Index Page
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/wsrmspecindex.asp)

Specification: Web Services Secure Conversation (WS-SecureConversation)
(http://www.ibm.com/developerworks/library/specification/ws-secon/)

Specification: Web Services Trust Language (WS-Trust)
(http://www.ibm.com/developerworks/library/specification/ws-trust/)

WS-Routing Specification Index Page
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/wsroutspecindex.asp)

Federation of Identities in a Web Services World
(http://www.ibm.com/developerworks/library/specification/ws-fedworld/)

Specification: Web Services Federation Language (WS-Federation)
(http://www.ibm.com/developerworks/library/specification/ws-fed/)

Web Services Eventing (WS-Eventing)
(http://ftpna2.bea.com/pub/downloads/WS-Eventing.pdf)

Web Services Security Roadmap issued jointly by Microsoft, IBM and Verisign
(http://www.webservices.org/index.php/ws/content/view/full/1732)

WS-Reliability and WS-ReliableMessaging
(http://xml.coverpages.org/ChappellReliability20030313.html)

Zum Geschaeftsbreich Competence Center