Web Services Policy 1.5

Charlton Barreto, charltonb@adobe.com
WS-Policy Working Group
Adobe Systems, Inc.
WWW2007, Banff, Alberta, Canada

Introduction

WS-Policy Model

<wsp:Policy>
<wsap:AddressingRequired />
<mtom:OptimizedMimeSerialization />
wsp:Optional="true" />
<wsp:ExactlyOne>
<sp:TransportBinding>…</sp:TransportBinding>
<sp:AsymmetricBinding>…</sp:AsymmetricBinding>
</wsp:ExactlyOne>
</wsp:Policy>

WS-Policy Model

<wsp:Policy>
<wsap:AddressingRequired />
<mtom:OptimizedMimeSerialization />
wsp:Optional="true"/>
<wsp:ExactlyOne>
<sp:TransportBinding>…</sp:TransportBinding>
<sp:AsymmetricBinding>…</sp:AsymmetricBinding>
</wsp:ExactlyOne>
</wsp:Policy>

WS-Policy Model

<wsp:Policy>
<wsap:AddressingRequired />
<mtom:OptimizedMimeSerialization />>

wsp:Optional="true" />
<wsp:ExactlyOne>
<sp:TransportBinding> ... </sp:TransportBinding>
<sp:AsymmetricBinding> ... </sp:AsymmetricBinding>

</wsp:ExactlyOne>
</wsp:Policy>

Definitions

WS-Policy Expression (Normal form)

Direct representation of the data model

<wsp:Policy>
<wsp:ExactlyOne>
(<wsp:All>
(<Assertion...> ... </Assertion>)*
(</wsp:All>)*
</wsp:ExactlyOne>
</wsp:Policy>

            Example:

<wsp:Policy>
<wsp:ExactlyOne>
<wsp:All>

<wsap:AddressingRequired />
<mtom:OptimizedMimeSerialization />
<sp:TransportBinding> ... </sp:TransportBinding>
</wsp:All>
<wsp:All>

<wsap:AddressingRequired />
<mtom:OptimizedMimeSerialization />
<sp:AsymmetricBinding> ... </sp:AsymmetricBinding>
</wsp:All>
<wsp:All>

<wsap:AddressingRequired />
<sp:TransportBinding> ... </sp:TransportBinding>
</wsp:All>
<wsp:All>

<wsap:AddressingRequired />
<sp:AsymmetricBinding> ... </sp:AsymmetricBinding>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>

WS-Policy Data Model

WS-Policy Data Model

WS-Policy Expression (Compact form)

XML representation for readability and ease of policy creation

<wsp:Policy>
<ex:RequireDerivedKeys wsp:Optional="true" />
<wsp:ExactlyOne>
<ex:WssUserNameToken10 />
<ex:WssUserNameToken11 />
</wsp:ExactlyOne>
<wsp:PolicyReference URI="Protection.wsp" />
</wsp:Policy>

Policy intersection

Policy attachment

<wsp:PolicyAttachment>
<wsp:AppliesTo>
<x:DomainExpression/>+
</wsp:AppliesTo>
(<wsp:Policy> ... </wsp:Policy>
<wsp:PolicyReference> ... </wsp:PolicyReference>)+
<wsse:Security> ... </wsse:Security>?
</wsp:PolicyAttachment>

Policy attachment to WSDL

WS-Policy attachment to WSDL

WS-Policy @ Adobe

Summary

Resources