Web服务组合的相容性技术概述

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web服务组合的相容性技术概述

摘要:web服务的出现为商业流程的自动化提供了有利的条件。该文分析了web服务组合的相容性技术,包括web服务组合技术、qos感知的服务组合方法、以及基于服务行为的替换技术。希望本文的研究能为相关领域的发展带来一定的启示和作用。

关键词:web;服务组合;技术

中图分类号:tp393 文献标识码:a 文章编号:1009-3044(2013)12-2780-02

1 web服务组合技术

web服务组合是通过增值服务的方式向客户提供相对比较完善的商业功能体系。web服务组合的业务逻辑一般来自于实际操作的商业逻辑内容,其中服务组合的每一个web服务组件完成每一个相应的服务任务。所以,web服务组合的实现一般包含web服务描述、web服务发现和web服务匹配,以及web服务执行控制等方面的内容。

1.1 web服务描述与匹配

web服务是对一定的业务逻辑进行封装、完成一定功能的处理单元服务。在web服务平台上会出现一些异构的平台,想要让这些平台上的服务来共同完成任务,就需要各个服务之间进行协作,以及服务信息进行交换,服务提供者需要以标准的方式描述服务的多个侧面信息:服务功能,服务性能(服务质量),服务的语义和服务行为。

关于服务功能的描述语言,wsdl以一种实现语言无关的抽象方式将web服务定义为一组服务访问点,利用这些访问点,应用客户端可以实现对服务的访问。wsdl支持soap/http或mime/smtp等传输协议的绑定方式。

关于服务质量的描述语言,虽然w3c于2003年提出了关于web

服务的qos需求,但迄今为止,实际的标准并没有出现。工业界和学术界的研究也在进行中,hp公司提出的wsmf c web services management framework),ibm提出的w sla语言(web service level agreement language),wsol(web services offer language),ws-policy,d’ambrogio提出的q-wsdl cqos-enabled wsdl)以及胡建强提出的qwsdl(qos-baseded wsdl)。

关于服务语义的描述语言,daml-s, owl和wsdl是近年来国际标准化组织提出的语义web服务的描述规范。在学术,界daml-s

语言获得了大多数学者的认可,daml-s是由bbn、斯坦福大学、以及卡耐基梅隆大学等机构在daml+oil基础上进行研究的,它是对web服务的本体进行定义。

1.2 服务发现与匹配机制

为了提高web服务的利用率,降低开发成本,基于web应用的企业逐渐把已有的应用包装成web服务的形式,提供给客户。这些服务可能具有不同的功能,分布于不同的地点,负责组合服务的客户要能够从其中找到想要的服务,这就是web服务发现。因为,web 服务发现是服务组合中的一个重要技术,它也是web服务系统架构

中的一个重要组成部分。

1)基于关键词的web服务发现

在早期的研究中,主要是针对基于关键词(keyword的web服务发现与匹配方法,通过在服务查找中包含服务属性的关键词,与服务的描述进行匹配来发现符合要求的服务。如uddi c universal description, discovery and integration)就是把服务提供方发布的服务描述映射为uddi数据模型后保存起来,服务使用方以查询关键词的方式来获取服务描述。但此种方式只能实现语法层次上的匹配,不能发现需要语义匹配的服务,使得服务召回率很低。于是,出现了基于语义的服务发现方法。

2)基于语义的web服务发现

基于语义的web服务匹配可以通过两种方法来实现。一种方法是通过本体概念之间的逻辑关系(等价、包含等)来实现服务匹配,主要应用于单个本体环境;另一种方法则是以本体概念之间的相似性为基础,通过计算服务描述之间的相似性来实现。相对于第一种方法,后者多应用于多本体环境。

3)基于网络拓扑的web服务发现

web服务发现系统是服务请求者和服务提供者联系的纽带,由一个或多个注册节点连接成一定的系统拓扑来存储和维护发布的服务描述信息。根据注册节点的连接关系,web服务发现系统可以分为集中式web服务发现系统和分布式web服务发现系统。由于集中式拓扑(如uddi存在可扩展性差和单点失效的问题,因此,构造

可扩展和灵活的分布式系统是学术界普遍关注的热点问题。

1.3 服务的执行控制模式

web组合服务的执行是按照预先定义好的顺序调用组件服务的过程,这个过程的实现模式可分为集中(orchestration与点对点(choreograp)控制两种。

1)集中控制

集中控制是通过集中的服务协同引擎的控制,参与服务组合的各成员服务实例之间实现的控制流和数据流传输。由集中的服务协同引擎负责每个成员服务的调用,在服务完成后,都会将执行结果返回给服务协同引擎,接下来再由引擎决定下一个调用的服务。此外,服务协同引擎还负责与终端用户交互、流程的监控和异常处理等工作。

2)点对点控制

相对集中式的运行模式而言,点对点的运行模式可以有效地提高组合服务的运行效率,同时也能较好地避开潜在的流程引擎瓶颈和可能存在的安全问题。在点对点运行模式下,流程的控制流与数据流可以在不流经流程引擎的情况下,在成员服务间直接地传递。于是,点对点的控制模式要求每个服务节点都要有一个协调器,负责服务运行前的初始化、运行过程中消息的处理(如中止服务和向后续服务发送通知)和运行完成后的收尾工作(如向后续服务发起调用、传递相关参数)。

1.4 服务组合方法

目前针对服务组合问题的研究已经非常广泛,广义上可以分为静态组合、半自动组合和动态组合。静态服务组合,是指在设计或编译阶段,根据应用需求列出所有功能,然后根据功能列表,按照一定的策略,从预先建立的服务组件库中选择出合适的服务组件来提供相应的功能。由静态服务组合产生的服务,在提供给请求者后就不再变化。但web服务的动态性,其服务质量或行为的变化,或服务与网络连通性的变化,都会使组合服务的空间随时发生变化。因此,静态组合方式不能适应web服务的动态性。半自动组合方式能适应部分的动态性,它根据固定的过程或流程,自动地从服务集合中选择合适的服务来完成给定的目标。流程的固定性和执行流程中服务的可变化性体现了半自动的特点。静态与半自动组合方式主要包括基于业务流程服务组合方法。而动态组合方式能够全面地适应web服务的动态性,它根据系统运行过程中的需求来自动创建服务组合流程模型的过程。所以,动态组合要能够支持自动发现、自动选择和自动绑定web服务,展现出整个web服务生命周期的动态性。与静态组合方式相比,动态服务组合更能够充分地利用网络资源,实时地为服务请求者提供满足其需求的web服务。根据描述方法的不同,动态组合又可以分为基于规划和图搜索的方法。

2 qos感知的服务组合方法

基于qos的服务选择可以分为全局优化策略局部优化策略。

首先是基于qos的全局优化策略,需要在满足用户提出的全局qos 约束条件下,考虑所有活动的候选服务集,而且每个服务通常对应

相关文档
最新文档