Web服务策略框架 ( WS Policy Framework )

来源:互联网 发布:antlr python 编辑:程序博客网 时间:2024/05/18 01:08
  WS-Policy 的目标是提供使Web 服务应用程序能够指定策略信息所需的机制。具体说来,该规范定义了以下内容:
一个称为策略表达式XML 信息集合,其中包含特定于域的Web 服务策略信息。
一组核心结构,用于指示如何在Web 服务环境中应用选择和/或特定于域的策略断言集合。
 
 
术语
策略 Policy 策略是策略替换选项的集合。
策略替换选项 Policy Alternative策略替换选项是策略断言的集合。
策略断言 Policy Assertion 策略断言表示行为的个别要求、功能或其他属性。
策略断言类型 Policy Assertion Type策略断言类型表示一类策略断言,并隐式地为断言的实例和特定于断言的语义指定了一个架构。
策略词汇表策略的策略词汇表是该策略中使用的所有策略断言类型的集合。
策略表达式策略表达式是策略的XML 信息集表示形式,它可以是标准形式,也可以是等效的简约形
式。
策略主体策略主体是可以将策略与其相关联的实体(例如,终结点、消息、资源、交互)。
策略范围策略范围是可以将策略应用于的策略主体的集合。

策略附件策略附件是一种用于将策略与一个或多个策略范围相关联的机制。 

一个可能的策略示例如下所示:

<wsp:Policy
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://www.w3.org/ns/ws-policy" >
<wsp:ExactlyOne>
<wsp:All>
<sp:SignedParts>
<sp:Body/>
</sp:SignedParts>
</wsp:All>
<wsp:All>
<sp:EncryptedParts>
<sp:Body/>
</sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
 
其中<wsp:policy>表示该描述为一个策略
而<wsp:ExactlyOne>与<wsp:All>为策略可替代项,他们描述了一组策略断言之间的组织关系。这两个标签都可以以孩子的形式包含策略断言。在本例中<sp:EncryptedParts>和<sp:SignedParts>分别表明了一种断言。
 
<wsp:ExactlyOne>与<wsp:All>不同的地方在于<wsp:ExactlyOne>表示该可替代项包含的断言中,只有一个被采用。而<wsp:All>表示该可替代项包含的断言中,所有都必须被采用。
 
<wsp:ExactlyOne>与<wsp:All>之间可以嵌套,如本例所示。