论文部分内容阅读
Web服务是一种运行在Web上的自包含、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用,从而扩展了应用程序的功能,实现了软件的动态提供。随着电子商务的不断发展以及跨企业应用的规模的日渐壮大,处理的业务流程也变得越来越复杂,单个Web服务提供的功能比较有限,已经无法满足复杂业务的需求,需要通过将多个不同业务功能的Web服务按照一定的业务流程逻辑组合起来,构建复杂的Web服务,才能满足复杂的业务逻辑上的需求。Web服务组合是指为了特定的业务目标将多个独立自治的Web服务按照其语义及业务逻辑关系“拼装”起来以实现高层次的功能聚合(我们把它称之为组合服务),从而更深层次地挖掘Web服务的潜力,提供更多、功能更强大的服务。目前的web服务组合,仍采用人工参与的手动或半自动组合方法。随着对Web服务技术研究的不断深入,实现智能化的Web服务提供,出现了语义Web服务。语义Web服务是Web服务和语义结合的产物,它的目标是通过对Web服务进行语义描述,使其为机器可以理解的内容,从而支持服务查找、选择、组合等操作的自动化。随着Web服务的广泛应用,Web服务数量与日俱增,网络上常常存在很多提供相同功能的服务,如何从众多功能相同的服务中选择出质量最符合要求的服务成为服务组合过程中的一个亟需解决的问题。因此,进行基于语义和QoS的Web服务组合的研究,有利于推动Web服务组合的自动化进程,减轻服务开发人员的负担;有利于提高用户对查询结果的满意度,提高服务的查全率和查准率。Web services合成中可能会涉及多条路径同时存在的问题,也就是某个服务需要多个服务的输出才能执行,即多服务问题。另外每个输入输出节点的元素个数可能不是唯一的,这样就会产生一系列的问题,即多输入问题。而许多研究中采用的有向无环图中表示组合路径时,在表示上述两种情况时存在欠缺。为此,本文提出了采用与或图来表示组合路径的方法,该方法不但能解决多输入和多服务表示问题,还能更清晰地表示出服务组合过程中的数据流之间的关系。在认真分析人工智能可分解产生式系统特点的基础上,本文提出了一个基于可分解产生式系统的服务发现组合框架。用产生式的形式对现有服务功能进行建模,把组合服务路径的求解过程表示为Web服务输入输出参数的推导与或图。根据求与或图解图的启发式搜索策略AO*算法,给出了求最优组合路径的方法。经分析比较,该框架能够表示出所有可能的服务组合,并能高效地从中找出最优的组合方案。基于可分解产生式系统进行架构,可以用成熟的产生式推理机如JESS(JavaExpert Shell System)来实现Web服务的自动组合。在认真分析现有服务组合研究的基础上,对现有的服务注册发现机制进行改进,提出一个基于语义和服务质量扩展的UDDI注册查找框架。在该框架中,服务提供者可以为每个服务定义与服务质量相关的非功能性和语义属性并把它们注册到UDDI注册中心,通过语义推理进行服务发现。该框架能够在不改变现有web服务规范的基础上,加入一些扩展的模块如OWL-S/UDDI matchmaker等,实现新旧技术的完美结合;增加了对web服务关联关系的管理模块,采用服务关联关系索引机制,提高服务查找、组合时服务发现和匹配的效率;通过扩展OWL-S对服务质量属性的描述功能,增加对Web服务的QoS的支持;增加QoS管理模块,对不同用户需求权重下的QoS进行归一化计算、监控运行中的服务、处理用户对服务质量的反馈并及时对监控和反馈得到的服务质量信息进行更新。最后,本文详细介绍了实现扩展语义和QoS功能的框架所用工具和实验环境的搭建过程,并给出了部分实现过程。