RE: Action-284 - Policy Vocabulary

On Wednesday's call, Chris did not seem happy with the definition from Asir below.

Here is an attempt to define the Policy Vocabulary in Infoset terms:

 

If you take a normalized WS-Policy and generate an Infoset model from it you will get:

 

1 Element Information Item (EII) with local name = "Policy".

This will have a single EII child with local name = "ExactlyOnce"

This, in turn, will have one or more EII children with local name = "All"

Let us call this set of EIIs "Alternatives" 

 

Each EII in the Alternatives set will have 1 or more child EIIs.  Let us call this set of EIIs "Assertions"

 

The vocabulary of the Policy is the union of the QNames of the Assertion EII sets for the set of  Alternatives for a Policy.

 

All the best, Ashok 

________________________________

From: public-ws-policy-request@w3.org [mailto:public-ws-policy-request@w3.org] On Behalf Of Asir Vedamuthu
Sent: Wednesday, April 25, 2007 8:55 AM
To: public-ws-policy@w3.org
Subject: 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 Friday, 27 April 2007 12:29:19 UTC