论文部分内容阅读
Web服务是近年来发展迅速的一种分布式计算技术,能够实现跨平台、跨技术地互操作。许多大型的企业越来越多的将自己的应用封装为Web服务发布,但随着跨企业应用的日益复杂,单个服务越来越难以满足实际的要求,需要将多个不同业务功能的Web服务按照一定的业务流程组合起来,构建复杂的组合服务,通过对组合服务的执行,来满足复杂业务逻辑上的需求。现在BPEL已经成为服务组合描述语言的国际标准,它能够将分布在网络上的服务按照特定的业务逻辑组合在一起形成面向服务流程的组合Web服务。但是由于BPEL流程内在的松耦合性、运行环境的动态复杂性以及没有提供强有力的异常处理机制,如何确保组合服务流程执行的稳定性和可靠性是组合Web服务(以下简称组合服务)必须要解决的问题。本文以组合服务异常处理为应用背景,对现有的组合服务异常处理技术做了深入研究。结合现在的各种研究成果同时根据自主计算的自主管理机制,从支持组合服务异常处理和恢复的角度出发,提出了一种基于自主管理的组合服务异常处理模型,论文重点探讨了通过在模型中引入自主计算的基本元素以实现异常处理的自主管理机制。基本的工作过程是如果BPEL流程产生异常则会执行内部定义的异常处理活动,这个活动其实只是调用一个监视服务(相当于自主元素的监视部分功能),同时把异常的信息传递给此服务,此服务在收到异常的信息后,接着经过诊断会给出异常的具体类型(相当于自主元素的分析部分功能),然后根据异常的具体类型选择处理策略(相当于自主元素的计划部分功能),最后执行所选择的策略以达到异常处理的目的(相当于自主元素的执行部分功能)。此模型的核心是异常自主管理部分,通过这一部分实现对异常的处理,减轻了BPEL流程定义中异常处理的复杂性,经过最后的系统实现证明该模型增强了组合服务异常处理的自主性,同时降低了异常处理的复杂性。