论文部分内容阅读
Web服务自其出现以来,由于其具有互操作性、跨平台性和松散耦合性等特点,已经得到了学术界和工业界的广泛关注和深入研究。单个Web服务由于功能有限,很难满足用户日益增长的功能需求。为此,需要将多个服务按照其功能及它们间的逻辑关系组装起来以提供具有增值功能的服务,服务组合已经成为了一种重要的应用构建模式。然而,组合服务在满足用户功能性需求的同时,其执行效率问题日益突显出来,成为用户关心的另一个主要问题。如何满足用户对组合服务执行效率的要求,保证组合服务执行效率成为了目前研究的一个热点。 针对上述问题,本文提出了一种基于控制流数据流全集中(CCCD)执行模式和控制流集中数据流分散(CCDD)执行模式的组合服务混合执行机制,通过执行模式间的动态切换以保证组合服务执行效率。本文首先从对目前多个组合服务执行模式的分析入手,研究了组合服务执行模式的优点和缺点以及执行模式的执行效率与服务业务特性和环境特性间的关系,建立了组合服务混合执行机制。该机制包括组合服务流程实例调度执行层、服务执行模式选择层和集成交换层。接下来,提出了以该机制为支撑的组合服务执行系统的体系结构,研究并给出了其中执行引擎和代理服务的结构,建立了面向执行模式灵活切换的引擎与代理服务间的交互协议。其中组合服务执行引擎的结构包括流程解析模块、引擎内核模块和集成交互模块,服务代理的结构包括服务注册模块、协议消息模块、服务调用模块和持久化模块。然后,针对于执行模式的选择问题,研究了执行模式选择方法,分别提出了基于服务特征的执行模式预选择和基于执行时间的执行模式动态选择。其中基于服务特征的执行模式预选择给出了预选择的判定规则和判定结果的表示形式,并给出代理服务部署范围的确定算法;基于执行时间的执行模式动态选择首先给出了基于执行时间的执行模式选择评价模型,并给出了该模型在组合服务不同结构下的计算公式,然后给出了基于执行时间的执行模式动态选择算法。本文最后给出了支持混合执行机制的组合服务执行系统的实现细节并通过实验验证了所提出的组合服务混合执行机制的有效性。