大家好,一直在这个版潜水,学到了很多东西
这次也拿我最近在学习的东西做做贡献吧
Web服务上的事务支持系列 1
WS-C规范简介
WS-C全称为Web Service - Coordination(Web服务协调)规范,是Microsoft,IBM,BEA三者在2002年8月共同向W3C组织提交的一个基于WSDL、用于协调活动的可扩展框架,目标是解决Web服务互操作性。
WS-C规范提供的这个框架使参与者能够就分布式活动的输出结果达到一致。在这个框架中定义的协调协议能够协调各种活动,包括用于简单的短期操作的协议和用于复杂的长期业务活动的协议。
WS-C规范中的协调服务框架包含如下部分:
激活服务(Activation service),提供一个能使应用程序创建协调实例或上下文的操作。
注册服务(Registration service),提供一个能使应用程序注册协调协议的操作。
一组特定于协调类型的协调协议。
当活动在两个包含了WS-C中定义的协调服务的应用程序直接传播的时候,这两个应用程序可以使用协调服务中的注册服务、激活服务等操作来进行交互。下面是具体的交互过程:
1. App1 发送指定了一种协调类型 Q 的 CreateCoordinationContext,取回一个 Context Ca,它包含活动标识 A1、协调类型 Q 以及一个指向 CoordinatorA 的注册服务 RSa 的 PortReference。
2. 然后,App1 向 App2 发送一条包含 Context Ca 的应用程序消息。
3. App2 首选CoordinatorB作为协调者,所以它把带有 Ca 的 CreateCoordinationContext 作为输入以将 CoordinatorB 插入。CoordinatorB 创建它自己的 CoordinationContext Cb,Cb 包含与 Ca 相同的活动标识和协调类型,但是带有它自己的注册服务 RSb。
4. App2 确定协调类型 Q 支持的协调协议,然后在 CoorinatorB 上注册协调协议 Y,交换 App2 的 PortReference 和协议服务 Yb 的 PortReference。这就形成了协议 Y 可以使用的这些 PortReference 之间的逻辑连接。
5. 这个注册使 CoordinatorB 把注册转发给 CoordinatorA 的注册服务 RSa,交换 Yb 的 PortReference 和协议服务 Ya 的 PortReference。这就形成了协议 Y 可以使用的这些 PortReference 之间的逻辑连接。
目前利用WS-C规范已经提出了WS-T规范,用于解决Web服务环境下事务支持的问题
关于WS-C、WS-T规范的具体细节请参考developworks上的文章:
http://www.ibm.com/developerWorks/cn/webservices/ws-coor_spec/index.shtml
http://www.ibm.com/developerWorks/cn/webservices/ws-transpec/index.shtml
--
修改:tyloon FROM 159.226.5.*
FROM 159.226.5.*