论文部分内容阅读
Web Services作为一种新的应用模式及远程访问标准,很好地解决了异构平台上数据的应用和整合。它利用开放标准(WSDL,UDDI,SOAP)把不同组织开发的软件实体以服务的形式加以使用,并且可以把已有的服务进行服务组织编排,以完成更复杂的业务功能,因此,如何组合Web Services以提供更有价值的“组合服务”成为目前研究的热点和重点。WS-BPEL 2.0是一种基于XML的语言,目前已经成为服务组合语言的事实标准。它具有高互操作性、跨平台和松耦合的特点,但对服务的描述仅限于语言层级,不能表达语义信息,且该标准没有提供任何手段来监控Web服务的QoS。本文对于采用BPEL进行服务组合进行了深入的研究。为了解决BPEL只能进行静态服务组合、不带语义、缺少QoS支持的缺点,引入了OWL-S,用它来描述Web服务属性和功能,并扩展了QoS属性,提出了一种基于本体和QoS的三级服务匹配算法。该算法用服务轮廓、服务的输入输出和QoS进行服务匹配,在保证准确度的前提下大大提高了服务匹配的速度;针对目前存在的服务请求不容易找到合适服务的状况,提出了一种递归反向搜索链算法。该算法可以进行语义转化,在已有的服务中进行推理,尽力构造出满足需求的服务链以代替目标服务。Apache ODE是一款开源工作流引擎,它支持业界标准WS-BPEL 2.0,同时兼容老的BPEL4WS 1.1标准,但它只能被动地执行用BPEL语言描述的业务流程,不能主动发现服务而且缺乏对语义的支持。OWL-S可以描述Web服务语义,从而进行语义Web服务的自动推理、组合和执行。本文为Apache ODE扩展了语义匹配代理,在Apache ODE基础上实现动态、带语义的Web服务组合支撑环境,最后通过原型系统的运行实验证明了本文的工作是可行的和有效的。