WS-CDL所在的协议栈位置

 
这个协议栈的图比较少见,有几点特别之处
UDDI所涵盖的层次,从描述层到协调层,表示了UDDI的作用域很广
特别是引入了Other Languages的概念,编程语言能完成从传输层,交互层,描述层,和业务过程层的所有任务,这个提法新颖且符合实际,客观的评价了编程语言在Web服务应用中的作用。
WSDL的长度是SOAP的两倍,也表示SOAP只是WSDL描述的交互方式的其中一种。
WS-Policy在服务交互的过程中起到很重要的作用。我也是刚知道Policy的翻译是——策略,策略覆盖了SOAP这个消息格式层。
Web 服务策略框架 (WS-Policy) 规范为服务请求者和服务提供者定义了语法和语义来描述他们的需求、首选项和性能,(需求引出服务聚集,性能是服务选择,首选项?)WS-Policy对以下领域的需求进行简单灵活的描述:
  • 安全
  • 隐私
  • 应用程序优先权
  • 用户帐户优先权
  • 传输控制
  • 规范还描述了这些策略的处理模型,处理模型是独立于领域的。对于处理策略定义了 3 种操作: 标准化, 融合交集

    规范所用术语:断言,替代

    断言:

    断言是策略的基本单元。对于策略处理基础架构来说,可以将其看作一条指令。例如,断言可以声明消息是被加密的。这种断言的实际定义将包含在 WS-Security 策略域规范中。

    因此,每个断言的意义是特定于各领域的,可以通过它们自己单独的规范来识别,各特定领域断言的详细信息都超出了 WS-Policy 框架的范围。但是,WS-Policy 框架将每个断言看作 opaque。

    每个断言可以通过它们的 限定名 ( QName) 来识别。断言可以是一个简单的字符串或带多个子元素和属性的复杂对象。但是,任何 WS-Policy 框架处理中只涉及到 XML 的根元素 QName

    替代(就是能进行相互替换的多个断言的组合称为替代)

    策略是由断言和操作符 <wsp:All>(能有0个或多个)<wsp:ExactlyOne>(只能有一个) 的嵌套组合以及 可选 属性构成的。对于给定的 Web 服务调用,利用该策略语法来描述可接受的断言组合,最终形成策略处理基础架构的完整指令集。每组断言集在术语上称为 替代

    注意,只有包含 可选属性或 <wsp:ExactlyOne> 操作符的策略才有多个替代。换句话说,只包含一个断言和 <wsp:All> 操作符的策略可以解析为一个替代。

    标准化处理就是进行断言XML描述的过程

    空策略:是目前没有合适替代但已经给出了位置,符合的替代可以随时插入

    null策略:表示这里没有替代位置

    标准化过程:对策略进行标准化处理,直到只剩一个外部 <wsp:ExatclyOne> 操作符。标准化的格式是:有一个包含 <wsp:All> 操作符的 <wsp:ExactlyOne> 操作符。

    融合:对两个标准化的策略进行乘操作。

    交集: 交集 是比较用于公用替代的 2 个 Web 服务策略的过程。只有双方至少对一个策略替代达成一致,才会产生交集。当请求方以策略的形式表述性能和需求时通常采用这种操作。请求方策略可能断言本地运行基础架构能够进行处理。两个策略的交集给出 0 或多个双方一致同意的替代。

    请求方与提供方互相对策略采用一样的标准,当策略的标准化结束后就能知道互相的策略有几个替代,两个策略的所有替代求交集就能知道双方是否有一致的替代,也就是一致的性能和需求。

    交集的难点就在于领域决定断言的性质。独立于领域之外的策略问题交互只能处理一部分问题。

     

    策略旁边的那个红色块应该是MANAGEMENT,少个字母E,管理覆盖从描述层到协调层的三层,SOAP消息的传递不需要管理,属于没有什么管理策略的意思。(如果涉及到缓冲的话也有相应的成熟缓冲策略,属于完全对管理透明的一层)

     

    关键的是WS-CDL,协调层只能又CDL完成编排任务,包括程序设计语言和BPEL在内都无法完成这个任务,CDL也渗透到了地址层和流程层,表示CDL有流程管理和location的功能。

     

    最后,这张图片是CDL语言介绍PPT中的一张http://www.w3.org/2005/Talks/1114-hh-ecows/WS-CDL_ECOWS2005/img1.html 

    posted @ 2010-05-13 19:31  帮主  阅读(460)  评论(1编辑  收藏  举报