论文部分内容阅读
Internet的飞速发展产生了众多基于网络的复杂应用程序。这些程序基于不同的平台和标准,相互之间很难交互,不仅不利于改造和维护,而且大量重复开发浪费了有限的网络和企业资源。90年代产生的Web服务技术立足于将Internet整合成一个虚拟的、透明的、开放的计算环境,有效地解决上述诸多问题。简单的说,Web服务是一种基于XML的革新技术,服务作为一个可重用的组件,采用标准的XML描述操作接口,并且可以通过标准的网络协议进行调用。由于基于众多现有的标准,并且具有自封装,自描述,松散耦合等优点,Web服务在电子商务,系统集成等领域得到了广泛的应用,并取得了巨大的发展。
随着大量传统应用程序向Web服务的转变,多个Web服务的组合应用成为Web服务发展的必然趋势,如组合各企业提供的服务构成一个跨企业的商业流程。另一方面,Web服务基于模块的设计方式本身就使得它极易以组件的方式组合起来完成更复杂的任务。然而,缺乏公认的标准保障服务组合的一致性和可靠性阻碍了Web服务的进一步应用。
事务是构建可靠的分布式应用程序的基本概念,而Sagas事务模型则专门用于解决长时间事务问题。Web服务的松散耦合特性决定了Web服务之间不同于紧密结合的分布式系统,因此类似于Sagas模型的长时间事务的引入,能够有效地解决复杂的Web服务组合存在的可靠性问题。
工作流技术通过分解企业经营活动,从较高的层次上实现了应用的集成,从而使业务流程自动化。事务工作流则强调了与工作流密切相关的事务属性,保证组成工作流的多个任务的一致性和可靠性。本文将传统的事务工作流模型应用到Web服务的特殊环境中,提出了基于事务工作流的Web服务可靠性组合框架WebServiceTransactionalWorkflow(WSTW)。
WSTW结合了事务工作流和Web服务,实现了Web服务组合的可靠和自动完成。WSTW包括服务请求者的事务流描述,服务提供者的事务支持描述以及协调服务请求者和服务提供者的事务流中间件。WSTW在两个不同的层面为Web服务提供事务性支持,一个是单个Web服务内部满足严格事务性要求的局部事务,另一个是在服务组合中满足宽松事务性要求的全局事务。
WSTW采用已有的技术为Web服务提供者提供事务支持描述,而创新工作主要体现在事务流描述和事务流中间件,主要包括:
1)提出了事务流模型。事务流由多个子事务组成,整个事务流满足事务的原子性。本文通过扩展IBM的WebServiceFlowLanguage标准(WSFL),以支持事务流的描述。
2)设计可扩充的事务流中间件。事务流中间件主要包括工作流引擎和事务引擎。工作流引擎负责流程的控制,事务引擎保证整个事务流的事务特性。
最后本文给出了WSTW框架的一个简单实现。