WS-PolicyWS-Policy ist eine Spezifikation des W3C im Rahmen der WS-*-Spezifikationen, die es dem Serviceanbieter ermöglicht, die Richtlinien bezüglich Sicherheit, Qualität und Version seines Services in Form von maschinenlesbaren XML-Daten für den Servicenutzer bereitzustellen. Umgekehrt kann der Servicenutzer seine Anforderungen ebenfalls in Form von XML-Daten spezifizieren. Diese Policies werden dann an entsprechenden Stellen in die WSDL-Beschreibung des Service (oder auch im BPEL-Prozess) eingefügt und gelten als Mindestrichtlinien auch für alle in der Hierarchie tiefer stehenden Elemente. Umgekehrt kann auch ein Servicenutzer seine Anforderung an einen Service in Form von Policies formulieren, so dass dann zur Laufzeit „ausgehandelt“ werden muss, was denn nun die effektive Policy wird. UnterspezifikationenZu WS-Policy gehören mehrere Unterspezifikationen: WS-Policy AssertionsWS-Policy Assertions beschreibt eine Menge an Standardrichtlinien, die innerhalb einer Policy verwendet werden können. WS-Policy AttachmentWS-Policy Attachment beschreibt, in welcher Form Policies mit bestehenden Technologien aus dem Bereich Web Services verknüpft werden können. Wahlweise können sie direkt innerhalb des Elements deklariert werden, auf das sie sich beziehen, oder auch separat und nur referenziert werden. Aufbau von PoliciesEine Policy besteht immer aus einem Element: <wsp:Policy xmlns:wsp="someURI">
Dieses Element enthält immer eine Auflistung an Alternativen, so könnte beispielsweise ein Bankwebservice vorschreiben, dass die Übertragung verschlüsselt zu erfolgen hat und dabei die konkreten Alternativen DES und AES anbieten. Ein Nutzer des Service müsste demnach, um den Service überhaupt nutzen zu können, die Daten in jedem Fall mit einem der beiden Verfahren verschlüsseln. Ein anderes Verfahren wäre nicht zulässig. Jede Alternative kann aus beliebig vielen Assertions bestehen.
Eine Auflistung von Policyalternativen besteht immer aus einem Element <wsp:Policy>
<wsp:ExactlyOne>
<wsp:All>
<!--Liste von Assertions-->
</wsp:All>
<wsp:All>
<!--Liste von Assertions-->
</wsp:All>
<wsp:All>
<!--Liste von Assertions-->
</wsp:All>
<!--beliebig viele weitere Elemente vom Typ wsp:All-->
</wsp:ExactlyOne>
</wsp:Policy>
Gibt es nur eine Alternative, so kann das Element NutzungsartenJede Assertion hat ein optionales Attribut
Effektive PolicySowohl Serviceanbieter als auch Servicenutzer können Policies spezifizieren. Dies hat zur Folge, dass die effektive Policy erst zur Laufzeit ausgehandelt werden kann. Genauere Algorithmen, die auf Basis der beiden Requirements die effektive Policy bestimmen, sind noch Gegenstand aktueller Forschung. Zunächst einmal wird es sich bei der effektiven Policy immer um den "kleinsten gemeinsamen Nenner" der jeweiligen Anforderungen handeln. Allerdings ist noch offen, wie dabei auch eine semantische Auswertung der Policy erfolgen soll, da WS-Policy nur die äußere Form einer Policy festlegt und weder etwas über den Inhalt aussagt noch darüber, wie der Inhalt codiert werden soll. Anmerkungen
<wsp:Policy>
<SomeAssertion apply="true"/>
<SomeAssertion apply="false"/>
</wsp:Policy>
Geschichte
Weblinks
|