论文部分内容阅读
为了解决分布式结构异构性问题提出的一种新的计算模型Web服务,目标是使不同平台的应用程序具有互操作性。分布式环境中的Web服务需要相互协同工作,保证组合服务执行结果的一致性和可靠性是Web服务面临的重要挑战之一,事务机制是解决此类问题的重要手段。由于Web服务自治、松散耦合以及长周期等特点使得传统事务技术无法直接应用到Web服务中来。Web服务事务处理规范(Web services transactions, WS-TX)描述了一个为协调分布式应用程序行为提供协议支持的可扩展框架,可被用于支持多个业务流程实例的运行。但目前的这些协调框架中都缺乏对组合服务的流程语义的刻画机制,用户在考虑事务协调时,需要手动编写复杂代码界定业务流程。标准业务流程执行语言(Business Process Execution Language, BPEL)是用来描写业务流程的编程语言,基于工作流的BPEL虽然能够灵活定义业务流程,但是在事务方面缺乏灵活性,如BPEL并不支持原子事务和跨流程事务,也不支持重试等向前恢复策略。本文通过对BPEL进行事务描述能力扩展,并将其与WS-TX规范相结合,给出一种可靠的Web服务组合协调框架,支持灵活的事务协调和流程定义。主要工作分为以下三个方面:1.针对BPEL业务流程缺乏灵活事务语义,给出了事务语义扩展机制。首先介绍了Web服务组合的事务流定义,在此基础上提出了基于BPEL语言的组合服务事务语义扩展方法。在BPEL中定义的事务语义将用于业务流程的协调。2.给出基于BPEL和WS-TX的Web服务组合事务协调框架。结合BPEL在业务流程定义方面和WS-TX在Web服务事务协调方面的优势,提出了一种基于两者的Web服务组合协调框架。研究了框架的体系结构、异常处理策略、协调算法和业务流程的执行、协调过程等。3.设计实现原型系统。基于Axis2和Apache ODE设计实现了原型系统,并通过一个Web组合服务的实例应用说明框架的可行性。