论文摘要
随着现代大规模企业的组织结构、资源结构和业务流程日趋复杂多变,集中式的信息处理方式已经无法满足跨组织、大规模、复杂动态的业务需求。面向web服务的工作流技术的兴起使得企业能够透明地应用分布、异构的资源进行更便捷的合作。然而,由于网络环境开放性和动态性,构造和保障工作流的可靠执行面临巨大挑战。Web服务所处的环境是一个动态的网络环境,很多服务的可靠性可能经常发生变化,服务构建、服务组合、服务绑定和服务运行中都有可能出现失败的情况。因此,即使选取了可靠最优的路径、确定了可靠性最高的服务,运行时工作流程的可靠性仍然无法得到保证。随着网络应用的发展,网络中能完成相同任务的服务通常不止一个,而以往的工作流可靠性研究并没有充分利用这一特点。从这个角度出发,本文提出了一个基于后备服务的高可靠性工作流开发模型,引入能够完成相同任务的等价服务作为后备服务,依据可靠性与响应时间综合排序的后备服务在工作流运行时自动替换失败的服务,从而提高工作流的可靠性并尽量降低对其执行效率的影响。具体的贡献包括:1)提出了一个基于后备服务的高可靠性工作流开发模型,通过使用基于后备服务的工作流描述语言编写工作流,并对工作流应用可靠性分析与评估方法,最终得到一个具有高可靠性的可执行工作流。2)设计了一个基于后备服务的工作流描述语言,并利用工作流的异常处理机制提供了一个对该描述语言的一般化转换方法,使得通过该语言编写的工作流能在主流的工作流执行引擎上运行。3)提出了一套工作流可靠性分析与评估方法,保障工作流在开发与运行阶段的可靠性。工作流可靠性评估方法向用户提供工作流的可靠性评价;工作流子系统敏感度评估方法指导用户优先为对工作流整体可靠性影响程度更大的服务增加后备服务;后备服务优先级排序方法根据服务的可靠性与响应时间动态确定后备服务的调用顺序。4)在基于后备服务的高可靠性工作流开发模型的基础上,实现了一个基于后备服务的高可靠性工作流开发与运行平台的原型系统,初步验证上述开发模型的正确性。