论文部分内容阅读
Web服务作为一种开放的业务提供方式,已经得到了工业界和学术界的广泛承认。然而,单一的Web服务提供的功能毕竟有限,人们希望能够定制、生成满足自身需求的业务,这点只能从Web服务的组合中得到。Web服务的组合是组件组合技术的发展,但是,与已有的基于组件的组合方法不同,Web服务的组合具有以下几个显著的特点:1.Web服务自身的分布式特性,与传统的组件系统不同,Web服务本身处于分布式的环境,服务可能随时升级和卸载,由于网络环境的影响,任何一个Web服务都可能发生异常,同时,Web服务的分布式特性也带来一些积极的影响,基于分布式的Web服务组合模型为系统性能的提升提供了可能。2.用户需求的多样性,传统的组件组合环境面对的是专业的软件开发人员,业务的开发和维护严重依赖于专业人员,这种业务开发方式无法适应快速的需求变化,故而,对于部署于Internet环境的Web服务,需要构造以用户需求为中心,能够从用户需求直接生成业务或者能够适用用户需求改变的业务开发方式适应用户需求的多样性和Web服务自身的分布式特性,是本文的研究中需要解决的主要问题,本文对Web服务组合如何面对这两种特性做了深入研究.概括而言,取得下面一系列研究成果:1.本文以信息获取类Web服务作为切入点,提出了一种基于目标距离评估的启发式算法,用于组合信息获取类的Web服务,通过该算法能够动态的调用Web服务来自动生成满足用户所需目标的Web服务组合,同时该算法还能根据Web服务组合经验对以后的Web服务组合方案进行调整。实验结果表明,该算法能够很好的适应网络上Web服务的不稳定情况,与同类算法进行性能比较也显示基于目标距离评估的算法表现出较好的性能2.对于既有信息获取类Web服务,又有改变世界状态的Web服务的混合类Web服务组合问题,本文从Web服务的分布式特性出发,提出了Web服务组合领域模板的动态更新的方法,以反映Web服务的失效和激活,同时,在领域模板的基础上,从用户的角度出发,提出了一种基于用户偏好选择的Web服务组合方法,由于用户对于组合的Web服务往往有一些软性的偏好,本文的方法利用模糊约束来表达用户的偏好,进而使用分支定界法对层次化任务网络(HTN)进行分解。实验结果表明,用户的满意程度有显著的提高。3.由于Web服务处于一种动态和分布式的环境,Web服务可能随时被部署和卸载,而网络的不稳定也会造成有较大的延时和随时的中断,而Web服务自身也可能出现故障。这些都可以定义为Web服务的运行时异常。一些通用的Web服务组合语言,如BPEL4WS对于异常处理仅仅提供了异常的捕获方法和异常的补偿机制,对于异常的处理由业务的开发者自己定义,然而,不同业务的很多异常处理方法是相通的,本文将这些相通的处理方法提取出来,成为系统级别的异常处理策略。本文提出了一种系统级别的异常处理策略定义机制和异常处理方法,不再针对每个业务编写相似的异常处理方法,减轻了业务开发的负担。4.完成Web服务组合以后,在执行阶段,Web服务组合可以以两种模式执行,一种是集中式的模式,一种是分布式的模式,分布式的Web服务组合执行模型可以带来系统吞吐量的上升,但是,将同一个Web服务组合进行不同的分布式划分也会造成系统吞吐量的差异。本文证明了将Web服务组合分布式划分到不同节点上,在不同的划分中,求得吞吐量最佳的划分问题是一个NP-Hard问题。并使用遗传算法求解该问题的较优解,实验结果表明,该方法取得了良好的效果。