WS-Policy

WS-Policy

WS-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.

Inhaltsverzeichnis

Unterspezifikationen

Zu WS-Policy gehören mehrere Unterspezifikationen:

WS-Policy Assertions

WS-Policy Assertions beschreibt eine Menge an Standardrichtlinien, die innerhalb einer Policy verwendet werden können.

WS-Policy Attachment

WS-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 Policies

Eine 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:ExactlyOne> oder einem Element <wsp:All>. Ersterer Fall bedeutet, dass von allen darin enthaltenen Alternativen genau eine gelten muss, zweiterer bedeutet, dass alle darin genannten Alternativen erfüllt sein müssen. Diese beiden Elemente können auch weiter in sich verschachtelt werden. Allerdings hat man sich zur leichteren Verarbeitung von Policies auf eine Normalform geeinigt, so dass sich folgende Struktur ergibt:

<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 <wsp:ExactlyOne> natürlich entfallen; gleiches gilt für <wsp:All>, wenn eine Alternative nur aus einer Assertion bestehen würde.

Nutzungsarten

Jede Assertion hat ein optionales Attribut wsp:Usage, was angibt, wie diese Assertion zu verwenden ist. Dabei unterscheidet man folgende mögliche Werte:

  • Required: Die Assertion wird in jedem Fall angewendet. Sollte sie verletzt werden, wird ein Fehler ausgelöst.
  • Rejected: Die Assertion wird explizit nicht unterstützt. Sollte sie dennoch gefordert werden, wird ein Fehler ausgelöst.
  • Optional: Die Assertion muss nicht angewendet werden, wird es aber, wenn sie vorhanden ist.
  • Observed: Die Assertion wird in jedem Fall angewendet.
  • Ignored: Die Assertion wird verarbeitet, aber ignoriert, d.h., sie kann angegeben sein, hat aber keinerlei Einfluss auf die Weiterverarbeitung. Sowohl Serviceanbieter als auch -nutzer werden darüber informiert, dass sie ignoriert wird.

Effektive Policy

Sowohl 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

  • Eine Policy kann auch leer sein (keine Alternativen enthalten).
  • Die Alternativen sind ungeordnet.
  • Alternativen in einer Policy können sowohl sehr ähnlich sein als auch völlig verschieden (d.h. die gleiche Assertion kann in mehreren Alternativen vorkommen).
  • WS-Policy schreibt vor, wie Policies von Anbieter und Nutzer verbunden werden sollen. Dabei wird die Semantik allerdings ignoriert, bspw. wäre folgende effektive Policy möglich:
<wsp:Policy>
    <SomeAssertion apply="true"/>
    <SomeAssertion apply="false"/>
</wsp:Policy>

Geschichte

  • Dezember 2002 vorgestellt von BEA, IBM, Microsoft und SAP
  • Mai 2003 aktualisiert
  • September 2004 aktualisiert unter Mitarbeit von Sonic und Verisign
  • März 2006 erneut aktualisiert
  • April 2006 bei W3C eingereicht, so dass eine Arbeitsgruppe einrichtet werden konnte
  • September 2007 als W3C-Recommendation veröffentlicht

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • policy — pol‧i‧cy [ˈpɒlsi ǁ ˈpɑː ] noun plural policies 1. [countable] also inˈsurance ˌpolicy INSURANCE a contract with an insurance company, or an official written statement giving all the details of such a contract: • She did not realize that her… …   Financial and business terms

  • Policy analysis — can be defined as determining which of various alternative policies will most achieve a given set of goals in light of the relations between the policies and the goals [Nagel, Stuart S. (Ed.), 1999, Policy Analysis Methods. New Science Publishers …   Wikipedia

  • Policy-based design — Policy based design, also known as policy based class design or policy based programming, is a computer programming paradigm based on an idiom for C++ known as policies. It has been described as a compile time variant of the strategy pattern, and …   Wikipedia

  • Policy of Truth — Saltar a navegación, búsqueda «Policy of Truth» Sencillo de Depeche Mode del álbum Violator Lado B «Kaleid» Publicación 7 de Mayo de 1990 en Inglaterra 24 de J …   Wikipedia Español

  • Policy of Truth — Single par Depeche Mode extrait de l’album Violator Face A Policy of Truth Face B Kaleid Sortie 7 mai 1990 Enregistrement …   Wikipédia en Français

  • Policy appliances — are technical control and logging mechanisms to enforce or reconcile policy rules (information use rules) and to ensure accountability in information systems. [The use of policy appliances in this context was first described in K. A. Taipale,… …   Wikipedia

  • Policy Exchange — is a British think tank based in London. The Daily Telegraph has described it as the largest, but also the most influential think tank on the right . [ [http://www.telegraph.co.uk/news/main.jhtml?xml=/news/2007/10/02/nosplit/nlist102.xml The… …   Wikipedia

  • Policy of Truth — «Policy of Truth» Сингл Depeche Mode …   Википедия

  • Policy exchange — ist eine britische Denkfabrik (Think Tank) mit Sitz in London, die der Conservative Party nahe steht. Vorsitzender ist der Journalist Charles Moore. Gegründet wurde Policy Exchange im Jahr 2002 von Nicholas Boles, bis heute Direktor von Policy… …   Deutsch Wikipedia

  • Policy Network — is a London based centre left international think tank. It is leading platform for long term strategic thinking, policymaking and international best practice, influencing policy debates in the UK, Europe and internationally. Its President is… …   Wikipedia

  • Policy reform — Policy reform, in addition to its more general meanings, has been used to refer to a future scenario which relies on government action to correct economic market failures and to stimulate the technological investment necessary for sustainable… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”