论文部分内容阅读
Web服务作为一种新的分布式计算技术,近年来在学术界和工业界引起了广泛的重视。它具有良好的互操作性,能够为不同实现标准和通信机制下的软件系统的交互和集成提供有效的支持,因此具有广泛的商业应用前景。为了简化和分散应用逻辑,提高服务的可重用性,单个Web服务都不可能做的非常复杂。然而现实中的应用一般都非常复杂,所以需要组合多个简单的Web服务形成一个复杂的服务来完成应用需求。这样的复杂服务通常称之为业务流程。由于业务流程的松耦合性,以及Web服务的异质性和自治性,对于Web服务驱动的业务流程来说,错误是经常发生的。如何减少错误发生的可能性以及发生错误后如何处理是业务流程成功应用亟待解决的问题。本文针对Web服务驱动的业务流程的特点,对相关的容错技术,包括异常处理、事务、服务选择和QoS预测开展了以下工作:1.提出了一种基于规则的异常处理机制。该机制将正常业务逻辑和异常处理逻辑分开,从而简化业务流程的开发和维护。该机制使用ECA规则来描述异常处理逻辑。这些ECA规则又建立在一套具有明确语义的异常处理模式之上。在业务流程部署之前,这些ECA规则自动转换成标准的WS-BPEL代码,并集成至正常业务逻辑中,从而形成具有容错能力的业务流程。实验表明该机制是可行的,能够帮助业务流程开发人员有效开发出具有容错能力的业务流程。2.提出了一种约束感知的补偿机制。给定一个业务流程,该机制能够以最小的代价确保它的执行原子性。定义了业务流程的可补偿性和可补偿级别,给出业务流程的可补偿性的判定算法。分析了补偿代价和调度之间的关系,并使用回溯法和遗传算法产生最优调度使得保证执行原子性的补偿代价最小。实验结果表明,生成的调度能够减少保证执行原子性所需的补偿代价,从而在一定程度上提高了业务流程的QoS。3.提出了一种利润驱动的服务选择机制。该机制能够帮助业务流程在可靠性和伙伴服务使用费用之间做出权衡。提出业务流程的业务模型,利用该模型分析业务流程的利润和伙伴服务的QoS之间的关系,根据该关系提出优化业务流程利润和可靠性的服务选择方法。实验证明服务选择机制帮助业务流程取得高可靠性的同时也极大提高了利润。4.提出了一种业务流程的QoS预测机制。针对Web服务特有的事务属性,给出了不同流程结构下事务属性的约简规则,这样就能根据伙伴服务的事务属性推理出业务流程的事务属性。此外,分析了业务流程的容错结构对业务流程QoS的影响,特别是对执行时间、执行费用和可靠性的影响。