论文部分内容阅读
随着服务技术和云计算技术的不断发展,互联网上的Web服务数量急剧增加,但单个服务的功能有限,无法满足复杂业务的需求,因此,必须采用组合的方式来提供完整的解决方案。但是在现实中的服务组合过程中,不同类型的服务间具有明显的异构特征,即便相同类型的服务也是由不同的服务提供商开发,这些服务在接口的语法、语义和行为协议方面也存在广泛的异构性,正是这些异构性造成虽有大量的可用服务,但这些服务之间并不能无缝组合。服务之间的兼容性是服务组合系统正确交互的前提。如何判定异构服务组合是否兼容,如果不兼容,那么不兼容是什么原因引起的,对不兼容的服务如何度量其兼容的程度,这些问题是进行服务选择和适配的关键。基于上述问题,本文围绕异构服务组合中的兼容性判定和度量中的问题展开研究。首先介绍Web服务组合、判定和度量技术的研究现状,指出当前研究存在的不足,进而从异构Web服务组合兼容性判定和异构Web服务组合兼容性度量等相关方面进行深入研究。项目组前期的工作仅对SOAP类型的Web服务组合进行了兼容性判定和度量研究,未考虑到既包含REST类型Web服务又包含SOAP类型的Web服务的异构Web服务组合的兼容性判定和度量。在项目组前期基于SxSTS模型的SOAP类Web服务兼容性判定和度量的基础上,将兼容性判定和度量的工作扩展到异构服务组合方面,主要工作如下:(1)本文构建包含语法和语义协议的SxSTS模型来全面刻画RESTful Web服务。首先从Web页面中的HTML文件中提取请求服务的语法信息并用微格式h RESTS进行描述,然后对h RESTS描述的服务添加对语义注释的Micro WSMO微格式,最后用这两种微格式注释的HTML数据生成SxSTS模型,作为后续与基于SOAP的Web服务SxSTS模型交互的基础。(2)目前异构服务组合兼容性判定的研究尚不多见,并且针对语法、语义和行为三个层面的异构服务组合兼容性判定鲜少出现,本文提出了异构Web服务组合多层次、多策略、多概念的兼容性判定框架。首先在异构Web服务SxSTS模型的基础上定义了兼容性概念,包括静态兼容性和动态兼容性,然后对兼容性判定过程中的不同情况提出了四种异构服务组合兼容性判定类型,并针对这四种兼容性判定类型设计了异构服务组合兼容性判定算法,通过异构服务组合兼容性判定算法对异构服务组合进行动态兼容性判定,为服务组合系统的正确运行提供保障。(3)对于异构服务组合兼容性判定中出现的不兼容服务,提出了静态兼容性度量和动态兼容性度量相结合的兼容性度量方法,静态兼容性度量包括语义兼容性度量、消息兼容性度量和动作兼容性度量,动态兼容性度量是在静态兼容性度量结果上使用洪泛算法进行动态兼容性度量。根据会话类服务和非会话类服务的不同特性,分别提出了会话类Web服务兼容性度量方法、非会话类Web服务兼容性度量方法和异构Web服务组合兼容性度量方法。通过该兼容性度量方法,可以客观准确地度量兼容程度,为服务选择和适配提供依据。(4)根据上述提出REST类型的Web服务的SxSTS模型构建方法、异构Web服务组合兼容性判定框架和兼容性度量方法,开发了原型系统来验证方法的可行性和有效性。系统由SxSTS模型自动生成、异构Web服务组合兼容性判定和异构Web服务组合兼容性度量三个模块组成,进行了异构Web服务组合模型构建、异构Web服务组合兼容性判定和异构Web服务组合兼容性度量,为Internet环境下由第三方构件或服务组装的系统提供正确性和可靠性保证。