论文部分内容阅读
Web服务(WebServices)是构造下一代分布式计算平台的基本技术。单个Web服务所能够提供的功能有限,服务复合(ServiceComposition)通过组合现有的Web服务从而创建新的、高层的Web服务以完成更复杂的任务,是构建Web服务平台应用的重要手段。
事务处理(TransactionProcessing)是保证分布式系统可靠性的关键技术,保证了服务复合获得正确的、一致的执行结果。目前对Web服务事务的研究尚处于初始阶段,主要研究成果形成了WS-Transaction、BTP、WS-TXM等事务规范,这些规范定义了事务参与者之间的消息交换协议,解决了最基本的互操作性问题。然而,对于如何基于事务机制来构造可靠的Web服务复合仍然缺乏研究。在理论上,当Web服务事务放松了原子性和隔离性后,如何为事务性服务复合提供灵活的松弛原子性,如何有效地进行并发控制和失败恢复等都缺乏系统的研究;在应用上,现有的服务复合描述语言如WS-BPEL等只定义了服务复合的功能性需求,对事务特性支持不足,与已有的事务规范族是独立的两套规范族。
针对上述问题,论文按照Web服务复合的生命周期顺序,根据事务性复合服务(TransactionalCompositeService,TCS)与传统事务的差异,对TCS若干关键技术给出了我们的解决方案,包括在设计期的静态结构描述与检查,运行期的分布式并发控制以及失败恢复等。
首先,给出了一个事务性服务复合模型TSCM(TransactionalServiceCompositionModel),一个具体的事务性复合Web服务就是TSCM模型的一个实例。TSCM刻画了Web服务的不同事务属性,计算了各个事务属性从最底层的原子服务向上的传播。TSCM模型的特色在于支持用户自定义的松弛原子性,从而可以灵活刻画各种特定应用需求与用户偏好,并给出了相应的松弛原子性标准、判定定理与算法。
其次,当前的Web服务松弛事务模型放松了TCS之间的隔离性,当多个TCS并发执行时可能产生非串行化与非持久化的调度,需要对其进行并发控制。相比传统的事务并发控制,TCS并发控制的特征在于它跨Intemet的完全分布性和自治性。我们提出了一个分布式并发控制协议TSCM-CC,并证明了该协议所产生的调度是冲突可串行化和持久的。TSCM-CC通过明确操作的持久化状态,丰富了依赖关系类型,保证了服务原有的事务属性。
然后,针对TCS执行中可能出现的故障,提出了一个松弛原子性驱动的失败恢复算法TCSM-FR。由于利用了自定义松弛原子性中蕴涵的应用语义,TSCM-FR更加准确高效,避免了不必要的失败恢复,而且在覆盖范围上涵盖了事务管理功能,有效地分离了关注点。同时,TSCM-FR充分考虑了TCS的特点,支持多绑定服务、预定义异常处理句柄等方式,尽可能地提高继续执行的可能性,降低失败恢复的代价。
最后,我们选择当前应用最广泛的Web服务复合描述语言WS-BPEL,将本文的研究应用到其中,为其扩充事务属性。扩充后的新语言我们称之为WS-BPEL/T(WS-BPEL/Transaction),它与标准的WS-BPEL语言是兼容的。我们的扩充包括语法元素扩充、部署描述符规范扩充、与原有异常处理机制的整合、与原有补偿机制的整合等,并应用在中科院软件所自行开发的Web服务复合引擎OnceBPEL中。