Action-284 - Policy Vocabulary

>Action-284 - Start email thread to develop
>proposal for def 'ns of policy vocabulary
>and policy alternative vocabulary and nested
>policy vocabulary and also provide example


>From the Wednesday April 18th WG conference call [1]:


a)  WG agreed that there are four vocabularies in Ashok's example, see [2]

b)  Ashok: s/contained/contained directly/.

c)  Tom Rutt: make it clear that the nested policy vocabulary is independent of the policy vocabulary.

d)  Monica: make sure that the context of the nested policy vocabulary is captured.

e)  Maryann: a separate description for the nested policy vocabulary.


1. Policy Vocabulary

A policy vocabulary is the set of all policy assertion types of the assertions contained directly within a policy. The assertion types of the assertions that are contained directly within nested policy expressions (if any) in the assertions contained directly within the policy are not part of the policy vocabulary.

2. Policy Alternative Vocabulary

A policy alternative vocabulary is the set of all policy assertion types of the assertions that are contained directly within the policy alternative. The assertion types of the assertions that are contained directly within nested policy expressions (if any) in the assertions contained directly within the policy alternative are not part of the policy alternative vocabulary.

3. Nested Policy Vocabulary

A nested policy expression is a policy expression and is owned by its parent policy assertion. A nested policy expression is used to further qualify one or more aspects (set of qualifiers) of its parent policy assertion. A nested policy has at most one policy alternative and has its own policy vocabulary. The vocabulary of a nested policy is the same as the vocabulary of its nested policy alternative.

4. Example

Let's walk through a concrete example.


<Policy>              <!-- V1 -->

  <ExactlyOne>

    <wsam:Addressing>

      <Policy/>       <!-- V2 -->

    </wsam:Addressing>

    <wsam:Addressing>

      <Policy>        <!-- V3 -->

        <wsam:AnonymousResponses />

      </Policy>

    </wsam:Addressing>

    <wsam:Addressing>

      <Policy>        <!-- V4 -->

        <wsam:NonAnonymousResponses />

      </Policy>

    </wsam:Addressing>

  </ExactlyOne>

</Policy>



The wsam:Addressing element is a policy assertion. (The prefix wsam is used here to denote the Web Services Addressing - Metadata XML Namespace.) This assertion identifies the use of Web Services Addressing information headers.  A policy-aware requester can recognize this policy assertion, engage addressing automatically, and use headers such as wsa:To and wsa:Action in SOAP Envelopes.



In the above policy, there are four distinct policy vocabularies, V1 to V4. V1 contains the wsam:Addressing assertion type. In the V1 policy there are three alternatives. The wsam:Addressing assertion is included in ALL the three alternatives. All the three policy alternative vocabularies contain the wsam:Addressing assertion type.



The nested policy vocabulary V2 (of the nested policy) is empty, V3 contains the wsam:AnonymousResponses assertion type and V4 contains the wsam:NonAnonymousResponses assertion type.



[1] http://www.w3.org/2007/04/18-ws-policy-minutes.html#item07

[2] http://lists.w3.org/Archives/Public/public-ws-policy/2007Apr/0017.html

Regards,

Asir S Vedamuthu
Microsoft Corporation

Received on Wednesday, 25 April 2007 16:09:28 UTC