




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘摘 要要 web 服务和对等 (peer-to-peer, p2p) 计算都是近几年国内外非常热门的研究领域。 研究人员尝试把这两种技术相融合,试图解决传统 web 服务机制中存在的可靠性、 扩展性等方面的不足。 另外, web 服务的特性使得它非常适合于当今的商务应用集成, 然而一个单独的 web 服务很可能受限于其所拥有的服务能力,所以工业界和学术界 都希望能够通过组合现有的 web 服务来创造出新的服务功能,以满足更高要求的服 务需求。这使得 web 服务组合成为 web 服务领域的一个重要研究方向,也使得研究 p2p 环境中的 web 服务组合问题成为 web 服务和 p2p 计算相结合领域研究的必然趋 势。 所谓 web 服务组合,指的是从互联网中选取相对简单可用的 web 服务并将它们 组合成新服务的技术。研究表明,web 服务组合过程中存在许多关键性问题,诸如动 态服务发现技术、复合服务执行技术和复合服务事务处理技术,而采用具有丰富语义 信息的服务描述语言是解决这些 web 服务组合关键问题的重要环节。利用基于语义 的 web 服务本体语言(web ontology language for service, owl-s)描述 web 服务, 使 web 服务成为机器可理解的。采用映射不同 web 服务的 owl-s 文档之间的关系 的方法来完成 web 服务组合,解决 web 服务组合过程中产生的问题,如输入输出参 数之间的异构问题。针对服务组合中的时间限制冲突问题可以通过扩展描述 web 服 务的 owl-s 本体来解决。 为了有效利用 p2p 网络的分布式特性,提出了 p2p 环境中基于语义的 web 服务 组合模型,在该模型中可以实现具有语义信息的 web 服务的发布、组合和调用。实 现了基于 jxta 的 web 服务组合原型系统 webpeer 系统,加入了 owl-s 文档的生成 和发布功能,利用第三方软件 protg 和 owl-s editor 插件实现基于语义的 web 服 务组合操作以及组合完成后的调用工作。 关键词:web 服务组合,语义 web 服务,web 服务本体语言,对等网,服务发布, 服务调用 ii abstract web services (ws) and peer-to-peer (p2p) computation are both hotspots in computer science all over the world. some researchers have successfully leveraged ws and p2p to solve the problems such as the reliablity and scalability of the traditional ws mechanism. in addition, the characteristics of ws make itself very suitable for the integration of busyness application, but one alone ws is very easily restricted to its capability, so both the industry and academe hope to realize some new services for the complex requirements by composing the existing wss. this makes web services composition (wsc) becomes the hotspot in ws, and the trend of wsc within p2p environment is inescapable in the research area combining wsc and p2p. wsc means that selecting some simple and usable wss in the internet and composing them in order to generate some new wss. research work indicates that there are many key issues in the process of wsc, such as dynamic service discovering, composed service execution and composed service transaction processing, all of which are based on service description language. using web ontology language for services (owl-s) to describe web services improves the machine-understandability of ws. in order to complete wsc, the method of creating maps between owl-s documents of different wss is adopted, solving the problems in the process of wsc. and besides, expanding the ontology of owl-s could solve the available time conflict problem in wsc. in order to benefit from the p2p network, a semantic-based wsc model in p2p environment is presented, in which the web services publication, compostion and invocation could be realized. a prototype named webpeer based on this model is implemented in jxta platform, realizing the service publication by publishing owl-s document and implementing the service composition and invocation by using some third-party softwares, such as protg and owl-s editor plugin. key words: web services composition, semantic web services, web ontology language for services (owl-s), peer-to-peer (p2p) network, service publication, service invocation 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集 体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中 以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名:柯 锋 日期:2006 年 5 月 8 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名:柯 锋 指导教师签名:李 瑞 轩 日期:2006 年 5 月 8 日 日期:2006 年 5 月 8 日 本论文属于 1 1 概述概述 1.1 引言引言 从上个世纪 90 年代到本世纪初,web 服务1-3(web services)极大地引起了工 业界和学术界的关注。由于 web 服务的特性,使得它非常适合于当今商务应用的集 成。然而一个单独的 web 服务很可能受限于其所拥有的能力,所以工业界和学术界 都希望能够通过组合现有的 web 服务来创造出新的服务功能,web 服务组合问题也 就应运而生。同时,b2b(business-to-business)商务的发展也使得 web 服务组合获 得了空前的关注,通过集成多个服务从而得到增值的新服务,这将是一个不容错过的 商机。 到目前为止,已经出现的 web 服务组合技术主要是采取与工作流模型相结合的 方式,例如微软的交换语言(exchange language, xlang)4以及 ibm 发布的 web 服务流语言(web services flow language, wsfl)5-6和 web 服务的商业流程执行语 言(business process execution language for web services, bpel4ws) 7,这些方法能 够较好的完成 web 服务组合的任务, 但是在自动组合 web 服务方面还有很大的不足。 在传统的 web 服务架构中是采用 web 服务描述语言(web services description language, wsdl) 描述web服务的, wsdl是基于xml (extensible markup language) 的 web 服务描述语言,它不包含语义,还不能使 web 服务成为机器可理解的 web 服 务。于是,研究者们提出了语义 web 服务(semantic web services)的概念,使 web 服务具有语义信息,语义 web 服务已成为现在 web 服务领域的研究热点,它的目标 是实现自动地、动态地 web 服务发现、执行、组合和互操作8。 与此同时,对等网(peer-to-peer, p2p)9-11技术的出现与发展为传统的客户端/ 服务器(c/s)计算模式下的一些难点问题提供了新的解决方案。p2p 网络是一种高 度分布化的系统,p2p 上的对等体(peer)具有高度自治性,每个对等体既能提供服 务又能接受服务,p2p 的动态发现机制有利于在网络中搜索和定位资源,有助于普及 网络边缘计算和边缘服务,提高数据的访问速度,较好地利用现有存储空间,增强应 用的服务能力。 p2p 技术的分布式特性为正在发展的 web 服务提供了良好的实现环境。 国内外的 研究人员在针对 p2p 环境下建立 web 服务的实现机制等相关领域进行了较深入的研 2 究,并取得了一定的研究成果。但是目前关于在 p2p 环境下实现语义 web 服务12的 研究还处于起步阶段,p2p 网络作为一个现在越来越受到关注和重视的网络架构,在 其上进行关于语义 web 服务的相关研究肯定是有很重要的实际意义的。 1.2 web 服务体系结构服务体系结构 web 服务体系结构由三种角色和三种基本操作构成1,如图 1.1 所示。三种角色 包括: 服务注册中心 (service registry) 服务提供者 (service provider) 服务请求者 (service requesotr) 发现 (find) 绑定 (bind) 发布 (publish) 图 1.1 web 服务体系结构 1. 服务请求者。它是一个应用程序,一个软件模块或需要服务的另一种服务。它 发起对注册中心中服务的查询,通过绑定服务来执行服务功能。服务使用者根据接口 契约来执行服务。 2. 服务提供者。 它是一个可通过网络定位的实体, 接收和执行来自使用者的请求。 将自己的服务和接口契约发布到服务注册中心,以便服务使用者发现和访问该服务。 3. 服务注册中心。它是服务发现的支持者,包含一个可用服务的存储库,并允许 感兴趣的服务使用者查找服务提供者接口。 web 服务体系结构中的每个实体都扮演着服务提供者、 使用者和注册中心这三种 角色中的某一种或多种。web 服务体系结构中的三种操作包括: 1. 发布。为了使服务可访问,需要发布服务描述以使服务使用者发现和调用它。 2. 发现。服务请求者定位服务,查询服务注册中心来找到满足其需求的服务。 3. 绑定和调用。 检索完服务描述之后, 服务使用者根据服务描述信息来调用服务。 web 服务体系使用一系列标准和协议来实现相关的功能。使用 web 服务描述语 言(web service description language, wsdl)来描述服务,使用统一描述发现集成 (universal description, discovery, and integration, uddi)来发布、查找服务,使用简 单对象访问协议(simple object access protocol, soap)来调用服务13。 3 1.3 p2p 环境中的环境中的 web 服务服务 p2p 是一种基于对等网络的架构,是计算机系统的结构从传统的集中式发展为浏 览器/web 服务器/数据库服务器的新模式。p2p 具有如下的特征: 1. 节点之间通过直接的交互而实现资源共享; 2. 资源分布在各个节点中,而不是集中在一个服务器中管理; 3. 节点具有动态性和即时性; 4. 纯粹的 p2p 系统没有任何集中控制机制,系统中各节点运行的 p2p 系统软件 功能相同,各节点之间的交互对称。 从 web 服务提供者来看,它们分布在松散耦合的网络节点上,某些服务提供者 相对于另一些服务提供者而言也是服务的请求者。 web 服务和 p2p 计算环境本身具有 较多的相似之处和共同特征,所以,在 p2p 计算平台上建立 web 服务是一种较理想 的 web 服务实现方案,可以有效利用 p2p 本身的优势高效地实现服务的集成及资源 的自治。 在 p2p 环境下实现 web 服务应该考虑如下几方面的问题14-20: 1. 定义在节点上的服务及节点上装载的服务数据源是什么; 2. 节点上的 caching 机制怎样充分发挥作用,如何对节点上 web 服务的备份信 息进行一致更新; 3. 如何在 web 服务中应用 p2p 相应的良好机制解决节点间的通信和路由、服务 注册和查找等问题; 4. 如何在 p2p 对等计算环境中进行 web 服务基本架构中三个参与者的功能划分 及分类管理; 5. 如何分类管理各个节点, 并采用相应的消息分发机制, 以避免由于服务请求发 送而带来的广播风暴。 1.4 web 服务组合技术服务组合技术 所谓 web 服务组合,指的是从互联网中选取相对简单可用的 web 服务并将它们 组合成新服务的技术。组合后的新服务被称为复合服务;用于合成复合服务的子服务 称之为构件服务、组件服务或基本服务。 4 1.4.1 web 服务组合的分类服务组合的分类 web 服务组合大致可以分为两种类型:静态组合和动态组合8。 在静态组合中,复合服务在设计阶段就被定义。组合过程对于服务请求者来说并 不可见; 服务请求者可以像调用基本服务那样调用复合服务。 比如一个飞机订票系统, 它应包括可用机票查询、信用卡信息查询、更新数据库并将机票预定给顾客这三个功 能截然不同的服务。由于这项复合服务的使用频率会很高,服务提供者若将这三个服 务事先集成在一起要比在每次客户请求时都创建一次复合服务更符合应用的需要。 动态组合指的是, 在运行时刻选择和调用所需服务并将它们组合为一个复合服务 的过程。例如一个商务旅行管理系统,它通过与机票管理、酒店管理、路线管理、租 车管理等系统的协作为客户安排旅行事宜。 像这样一个复合服务不可能事先就定义好 所需的构件服务以及它们之间的工作流, 而是应该依赖特定的需求来选择相应的构件 服务并与之交互。 将一个复合 web 服务设计成动态的还是静态的,这取决于复合服务的性质及其 应用领域。如果复合服务本身是希望与商业伙伴之间有一个相对固定的关系,并且它 的构件服务很少进行改动,那么静态组合就会比较合适。相对地,动态组合就适合于 那些对特定复合服务请求较少,同时它的构件服务也不十分稳定的情况。不过,动态 组合可以更好地利用构件服务的当前状况,并根据实时参数(如带宽、执行花费等) 在运行时进行优化。 1.4.2 web 服务组合语言服务组合语言 在工业标准中,wsdl 被用来描述单个 web 服务的详细信息。然而 wsdl 并不 支持序列化多个web服务的调用或指定某个web服务不同操作的调用次序。 目前ibm 发布的 wsfl 以及微软的 xlang 是两个最早定义 web 服务组合的语言,两者都建 立在 wsdl 之上。 wsfl 描述了如何组织或协调一系列的 web 服务调用, 使它们成为一个整体的工 作流或业务流程。wsfl 可以被认为是基于图论的过程建模的方法,它既支持复合服 务的静态配置,也支持在 web 服务注册中心内动态查找构件服务。 xlang 是微软 biztaik 项目用于定义业务流程的语言。 xlang 主要描述了一个 角色收发讯息的内容和顺序,以及整个系统中所有角色之间的交互,但是 xlang 要 求复合服务是静态配置的。 5 bpel4ws 是又一种指定业务流程和业务交互协议的语言。它吸取了 wsfl 与 xlang 两者的长处,将 wsfl 基于图论的流程描述和 xlang 基于结构化的构造过 程结合在一起,力图成为 web 服务合成的统一化标准。 web 服务组合的工业标准着重于构件服务之间业务逻辑的描述和控制, 通过过程 建模的方法来实现构件的重用和服务的合成。与工业标准相对应,学术界的研究工作 也在不断进行。web 服务本体语言(web ontology language for service, owl-s)就 是其中的一项研究成果。owl-s 的前身是 daml-s(darpa agent markup language for service) ,它是 web 本体语言(web ontology language, owl)的应用,是 daml+oil(darpa agent markup language + ontology interface layer)本体中专门 用来描述 web 服务的高层本体语言,受到美国军方 darpa 项目的支持。owl-s 包 含一整套本体,提供描述 web 服务的词汇表,描述服务的语义,能够根据服务的要 求(requirements)和效果(effects)进行推理(inference) 。owl-s 使得 web 服务 具备机器可理解性和易用性。 web 服务组合语言属于服务描述栈最高层次的规范。它们的优越之处在于:它们 能够组合或协调其他 web 服务,从而创建新的、高层的 web 服务。创建更多的 web 服务也就意味着可以采用更多的方式将它们组合成为功能更为强大的 web 服务,实 现 web 服务的组合。这样就实现了网络效应,使得 web 服务成为网络应用研究的一 个新的领域。 1.5 国内外的研究状况国内外的研究状况 self-serv21-24是目前较为著名的采用对等服务协调模型的服务合成系统。它利用 状态图来表达复合服务操作的业务逻辑;该方案有效利用了 p2p 计算平台的优点,提 出组合服务的执行、构件服务的合理调度、通信协调和消息传递机制以及动态 web 服务的增量式注册和发布策略。 其中, 协调器组件 (coordinator) 、 容器组件 (wrapper) 及 xml 格式的状态路由表(routing-table)在 p2p 平台上进行通信。无论是复合服 务还是构件服务,每个服务对应了一个协调器组件和一个容器组件,协调器组件实现 了各服务间状态的通信,容器组件实现了相应 web 服务的执行,服务执行完成消息 被送回协调器以判断该协调器组件对应的服务是否还需等待其他服务的执行。 同时也 提出了服务社区化(service community)管理的基本框架,用来构建大规模动态的复 合服务。 6 根据目前我们所搜集到的资料显示,目前国内外关于 web 服务组合与对等计算 相融合的研究还是以偏重研究 web 服务组合的方法为主。我们采用按组合方法的抽 象层次由低到高来逐一介绍。现有的服务组合方法可分为四个层次:硬编码模式、用 特定服务组合语言组合服务模式、模型驱动模式、根据目标推理服务组合方案模式, 如图 1.2 所示。 根据目标推理服务 组合方案模式 硬编码模式 特定服务组合语言 组合服务模式 模型驱动模式抽 象 层 次 高 低 图 1.2 web 服务组合方法分类 1. 硬编码模式 硬编码模式将服务组合以硬编码的方式来实现,是组合服务最原始的方法,也最 不灵活,形成的复合服务适应性差。web 服务是动态变化且自治的,当某一服务组件 产生错误时,需要修改形成的复合服务工作量大,另一方面该方法也不能适应应用需 求的动态变化。 2. 基于 bpel4ws 的 web 服务组合 bpel4ws7是专为整合 web 服务而制定的一项规范标准。 bpel4ws 的作用是将 一组现有的服务整合起来,从而定义一个新的 web 服务。它能够将 web 服务调用、 操作数据、 抛出故障或终止一个流程等不同的活动连接起来, 从而创造出复杂的流程。 这些活动可以嵌套到结构化活动中,结构化活动定义了活动的运行方式和控制流程。 bpel4ws 可将一组现有的服务整合起来,从而定义一个新的 web 服务。 bpel4ws 流程是一个流程图,用来表达特定业务的处理逻辑和算法,流程的每 一步称为一个活动。bpel4ws 主要利用 wsdl 使得服务的动态绑定成为可能,但它 没有提供具体方式来选取动态绑定时需要调用的服务,并且 bpel4ws 不支持在应用 运行时的流程模型的调整。 查找 web 服务时需要搜索巨大的服务空间来比较、匹配满足条件的服务,因此 用来组建复合服务的方法复杂,难以手工处理。为了自动地开发组合服务,需要同软 件开发方法一样的系统的方法来分析需求,将需求所涉及的活动模型化。 7 3. 模型驱动的 web 服务组合 在用特定语言组合服务的基础上,提出用模型驱动的方法来开发、管理动态服务 组合,模型驱动方法25将软件开发方法学应用到服务组合中。该方法最大的特点是将 组合逻辑与组合规范分离开,使用 uml 描述服务组合,使得能在更抽象的层次上将 web 服务组合模型化,该组合定义随后可自动地映射到特定的规范如 bpel4ws 上, 进而再关联到具体的 web 服务上。模型驱动 web 服务组合分以下五步: (1) 定义抽象组合。定义抽象组合包括指定复合服务的需求信息、约束条件、组 成复合服务的 web 服务构件及执行中可能发生的意外行为。 (2) 调度组合。决定怎样、何时运行服务,通过信息关联来表达数据间的依赖性, 赋予各 web 服务组件活动的执行优先级。该阶段产生供选择的组合调度方案,由应 用开发者来选择。 (3) 创建组合。创建可执行的 web 服务组合,输入调度组合的方案,输出可执行 的模式,如由 bpel4ws 表示的可执行流程。 (4) 映射为可执行的组合。系统将可执行的流程转变成编程语言中具体的对象, 运行 web 服务组合。 (5) 监视组合的执行。系统监视执行流程,确保上述步骤的正确性。 模型驱动法描述业务流程建立在 uml 基础之上,不依赖特定的规范,适用范围 广。其缺点是该方法需要集成规划工具和服务组合服务器等子系统,较为复杂,难以 实现。 4. 基于 ai 规划的 web 服务组合 owl-s 的出现为基于 ai(artificial intelligence)规划的组合方法提供了可能, 将 web 服务看成 ai 中的动作,通过输入输出参数、前提和结果等来描述 web 服务。 在服务组合时,只要将 web 服务的这些描述映射为动作形式化描述,在 web 服务空 间中以构造 web 服务组合为目标,通过形式化的推理来得出 web 服务的组合序列, 动态形成服务组合方案,同时也能够保证规划结果的正确性和完整性。基于 ai 的规 划方法包括:情景演算规划法、层次任务网规划法和基于规则的规划法。 (1) 情景演算规划法是一种形式化的规划方法。它是一种一阶逻辑语言,主要用 来表示动态变化的世界,是一种关于状态、动作和动作作用于状态结果的形式化谓词 演算。在状态演算中,世界上的所有变化都是动作执行的结果。我们把知识表达为关 于状态和动作的公式,然后用一阶谓词演算的演绎系统来回答这样的问题: “存在满 8 足一定目标属性的状态吗?如果存在, 现在的状态如何通过动作才能被转换为目标状 态呢?” 。对这样的一个询问的回答是构造一个到达目标状态的计划,这个计划可以 简单地表示为动作的序列。mc ilraith26-27将 golog 作为自动构建 web 组合服务的语 言,golog 是一种建立在情景演算基础之上的逻辑编程语言,通过提供更高层次的过 程和用户定制的约束描述来解决 web 服务组合问题。 (2) 层次任务网规划法28(hierarchical task network planning)利用 owl-s 作为 web 服务的描述语言,通过任务分解的方法来组建组合服务。与其他规划方法不同的 是:htn(hierarchical task network)的核心不是状态,而是任务。一个基于 htn 的规划系统将目标任务分解为子任务的集合,这些子任务再分解成更小的子任务,一 直循环这个过程,直到所有的子任务仅包含原子 web 服务,即现有的 web 服务。在 每一轮任务的分解过程中,都会检验是否违反给定的条件(如子任务数不能超过一定 数目) 。如果目标任务在不违反任何给定的条件下,能够被成功分解成原子任务集, 则规划问题成功求解。shop229就是利用 htn 方法实现 web 服务组合的系统。 (3) 基于规则的规划法源于 medjahed30提出了一种从高层次声明描述产生组合 服务的技术,这一方法使用组合规则来决定两个服务是否可以组合。组合方法包括以 下四个阶段: 使用组合服务说明语言描述目标服务; 利用组合规则匹配服务组合规划; 如果在匹配阶段产生多于一个的规划方案, 则服务请求者在组合质量参数的基础上选 择一个规划方案;产生一个详细描述组合服务的方案并提交给服务请求者。sword31 就是利用基于规则服务组合方法的一个组合服务的开发工具集。 基于 ai 的服务组合方法能动态地生成 web 服务组合方案、动态地链接具体的 web 服务,能适应 web 服务的动态变化,更能满足业务不断变化的需求。但如何高 效、准确地在 web 服务空间中查找适合的 web 服务,如何评价生成的 web 服务组合 方案与需求的吻合度等一系列问题都是亟待深入研究的问题,以便使基于 ai 的 web 服务组合能更好地为应用需求服务。 1.6 本课题的研究内容本课题的研究内容 web 服务和 p2p 计算都是近几年国内外非常热门的研究领域,web 服务和 p2p 计算本身具有较多的相似之处和共同特征, 把它们的特长相互结合加以利用是我们的 研究目标,这不仅在学术上,而且在工业领域都有很好的研究价值。我们知道仅仅提 供简单的 web 服务是远远不够的,实现简单的 web 服务的目的是为了能够得到功能 9 复杂,用处广泛的复合 web 服务,这使得 web 服务组合成为 web 服务领域一个非常 重要的研究方向。 文献32提出了面向 web 服务的 p2p 模型,实现了 p2p 环境中 web 服务的发布 及发现机制,并实现了原型系统 webpeer32的开发。但是该模型仅仅是在 p2p 环境中 实现了 web 服务的发布与部署, 即描述 web 服务的 wsdl 文档在 p2p 环境中的分发 与获取,对于 p2p 环境中 web 服务组合的研究涉及的不多。所以,本课题的研究目 标是在面向 web 服务的 p2p 环境中如何实现 web 服务的组合。 具体研究的问题涉及: 1. 由于参于组合的组件服务来自不同的服务提供者, 不可避免地存在不兼容的问 题,即 web 服务的异构性问题,这给 web 服务组合带来了很大的障碍。传统 web 服 务中描述服务的 wsdl 文档对于解决这个问题显得能力不足。我们希望借助基于本 体的 owl-s 语言描述 web 服务,使服务成为机器可理解的,以利于解决服务的兼容 性问题。其中,怎样从已有的描述 web 服务的 wsdl 文档灵活方便地生成 owl-s 文档,也是我们需要研究的内容。 2. 为了解决 web 服务组合中存在的兼容性问题,我们引入了 owl-s 语言描述 web 服务,但是具体的组合过程怎样进行,owl-s 怎样解决兼容性问题呢?我们提 出通过在参与组合的不同 web 服务之间进行一系列的映射, 利用 owl-s 具有语义信 息的特点,解决兼容性的问题。 3. 在获得参与服务组合的组件服务的owl-s描述后, 怎样利用p2p环境的优势, 将加入语义信息的 web 服务发布出去,成为另一个需要解决的问题。我们在已有的 面向 web 服务的 p2p 体系结构的基础上, 提出了 p2p 环境中 web 服务组合体系结构, 实现具有语义信息的 web 服务在 p2p 环境中的发布。同时,由于 p2p 环境中服务组 合不同于传统的集中式条件下的服务组合, 在组合过程中应有效利用 p2p 环境的优势 以解决组合过程中产生的问题,对此我们也进行了一定的分析与研究。 4. 在原型系统 webpeer 中如何加入实现 web 服务组合的模块,实现描述 web 服 务的 wsdl 文档向 owl-s 文档的转化,怎样比较简易地完成 owl-s 文档之间的映 射,实现 web 服务之间的组合,并在组合过程完成之后实现对复合服务的调用。这 些问题都是我们需要解决的问题。 针对上述问题,第二章分析了 web 服务组合中的关键问题,指出解决这些问题 的重要环节是采用语义清楚的描述语言来描述 web 服务,这里我们采用基于本体的 owl-s 语言;第三章讨论了 owl-s 如何描述 web 服务,使 web 服务成为机器可理 10 解的,并分析说明了如何映射 owl-s 之间的关系来完成构件服务之间的组合,最后 还指出了 owl-s 的局限性,提出了扩展 owl-s 本体的方法来解决所遇到的问题; 第四章着重阐述了 p2p 环境中基于语义的 web 服务组合体系结构,指出加入语义信 息后 web 服务在 p2p 环境中的组合方法以及过程,分析了如何利用 p2p 环境的优势 更好地组合 web 服务;第五章给出了加入了服务组合模块的原型系统 webpeer 的具 体实现。最后进行了全文总结并指出进一步研究方向。 11 2 web 服务组合中的关键问题服务组合中的关键问题 web 服务组合作为 web 服务研究领域的一个研究热点,国内外学者和研究机构 对其做了大量的研究。从中我们可以发现 web 服务组合涉及的问题非常广泛,除了 动态服务发现技术,复合服务执行技术和复合事务处理技术是 web 服务组合的关键 之外,直观的、易于表达的、语义清楚的描述语言可以简化建模,降低匹配服务的复 杂度,是 web 服务组合领域中非常重要的环节。 2.1 动态服务发现技术动态服务发现技术 动态的服务组合能够充分利用网络资源,实时地为服务请求者搜索满足需求的 web 服务,同时它可以为人们提供更加灵活的应用环境,为其创造出更好的商机。自 然地,动态服务组合就成为了人们所关注的重点。与静态服务组合相比,动态服务组 合具有更高的复杂性。 动态的服务组合取决于服务发现过程是否能够自动实现。自动发现的 web 服务 不仅要在功能上满足要求,还有一些其他特殊的服务要素,例如成本、花销、运行时 间等都有可能需要被考虑在内。 当服务请求需要满足一定要求的时候,服务双方必须达成一定的共识。比如服务 提供者应该保证在最终期限之前执行完成复合服务, 并且只有满足条件的数据才是正 确的。然而当服务提供者将自己的服务的一部分代理给第三方的时候,问题就由此产 生了。因为服务提供者必须保证其代理者也能够在规定期限内完成服务的执行,但是 在实际情况中很有可能做不到这一点。 解决这个问题的一种方法是让服务提供者和服 务请求者双方以及代理者和被代理者之间达成双边协议。 他们在合同中要指定合同参 数,即条件,例如满足什么样的价格、期限、质量的服务才能被调用。为了使整个过 程更加容易地进行,服务提供方可以事先准备好他愿意接受的合同类型。在这样的一 个合同模板中,有些合同参数是可以协商的,而有些合同参数则是固定的33-34。 因此,为了促使服务的自动发现,服务提供者应该提供合同模板来描述他们的服 务。模板不仅要写明服务功能方面的信息,还要有技术方面的情况,例如所要求的文 档格式等。同时,服务请求的描述也应包括控制流和数据流,以便用于查找合适服务 的过程。接着可以根据比较模板和服务请求的结果来决定哪一个 web 服务是最佳服 12 务。那些被选中的服务模板将被返回给请求者,然后服务请求者可以与服务提供者商 议服务调用条件。 另一种实现动态服务发现的思想是借助于包含语义的标记语言来统一描述异构 服务,例如采用 owl-s 描述 web 服务。一个好的服务发现架构是应该有能力对 web 服务描述进行语义层上的推理,进而找到合适的 web 服务。 当前工业上对 web 服务检索的方法只有关键字查询和分类查询这两种,基于这 些方法的服务检索可能会返回过多的结果以致于无法对所需的 web 服务进行有效地 选择。 因此研究者们希望通过在服务描述中引入包含上下文信息的语义描述来提高服 务检索的能力,使得服务请求者和提供者具有共同的语义理解,从而驱动服务的动态 发现和调用35-36。 为 web 服务添加语义信息的方法一般有两种: 1. 通过扩展工业标准的 wsdl 来添加相应的语义信息。这种做法主要是把 wsdl 中扩展描述操作的描述、前置条件和后置条件的元素及属性映射到 daml+oil 本体上。 2. 直接使用资源描述框架 (resource description framework, rdf) 和本体对网络 服务接口和注册信息进行描述,例如使用 owl-s 语言37。和 wsdl 相比,owl-s 不仅说明了构件服务之间,服务与客户之间是如何发送信息的,还说明了发送什么, 为什么发送等语义方面的内容。 这两种方法各有其优缺点。通过扩展 wsdl 包含语义的方法可以较为方便地应 用到当前的工业标准中去。wsdl 灵活的扩展性使服务提供者可以根据自身的需要, 选择在服务接口描述中添加或删除语义信息。它的缺点是仅能提供部分的语义描述, 因此不能很好地支持自动服务合成。owl-s 描述解决了 wsdl 不具有或通过扩展 wsdl 后只是部分具有语义信息的问题。但是由于 owl-s 对服务的描述是抽象的, 目前的 uddi 机制还不能有效地处理这种抽象的语义信息,所以必须把 owl-s 的描 述映射到具体的服务描述上,服务才能被使用。 2.2 复合服务执行技术复合服务执行技术 复合服务的执行是指按照事先定义好的顺序逐个调用构件服务的过程。 一般有两 种模式实现这个过程:中央调度和分布式调度。 中央调度模式是在服务提供者的控制之下执行 web 复合服务的。在这种模式中, 13 服务提供者持有一个复合服务调度程序。它根据复合服务的定义指导自己的行为。当 复合服务调用时,一个调度程序的实例就被创建,它按照一定的顺序和一定的条件调 用各构件服务。运行中的调度程序将接收和处理与服务实例相关的事件(特别是终止 服务信号和错误信号) 。为了使服务实现和服务接口分离,调度程序可以使用外部交 互网关(external interactions gateway, eig)来处理进出的服务请求。这样,远程过 程调用和其他相关问题都将被代理给这个软件实体。至于复合子服务(即指构件服务 是复合服务)将会由另外一个调度程序来执行它。目前 eflow38,agflow39等系统都 采用中央调度的模式来执行复合服务的。 中央调度程序把所有的复合服务的执行控制权交给了服务提供者, 这是个非常简 单并且直观的方法。然而,中央处理的模式会带来许多新问题。例如,当每一个构件 服务被调用的时候,调度程序至少要处理一组请求/确认信息。当巨大数量的服务同 时需要控制的时候,调度程序与构件服务之间的通信将成为一个瓶颈。 消除这个瓶颈的方法是以最少的通信方式来执行复合服务。在分布式调度模式 中,复合服务仍旧由自己的调度程序来控制。所不同的是,为了能够在分布式环境下 执行复合服务,系统将使用协调程序来包装每个构件服务。协调者能够接收从其它协 调者发来的消息并在必要的时候调用它的构件服务。 复合服务的完成或中断将依赖于 所有相关的协调者, 同时协调者还应该有能力为每个构件服务定义前置条件和后处理 行为。当且仅当前置条件被满足时,协调者才会调用该构件服务,并且通知所有负责 后继服务的协调者,让它们做好准备。 分布式服务执行的确大大降低了消息交换的数量,然而这会引起另外的一个问 题:协调者必须是事前建立好的,但是由于服务驻留在不同的服务提供者的站点上, 因此只能采取静态绑定的方式执行复合服务。此外,例如在 self-serv 中,服务注册 中心将持有所有被发现服务的协调者,这样一来就又几乎重新集中控制服务了。目前 的一种解决方法是通过构件服务之间的消息传递来定义复合服务。 然而这样做的结果 将导致消息的增长,从而抵消了原先减少的消息数量。 还有一个值得考虑的问题:协调者如何自主决定是否执行它的构件服务。设想有 这样的一个情况, 一组分散的协调者希望能够保证在某一个时刻只有一个构件服务被 执行,这时候可以尝试将中央调度和对等服务执行的方法结合起来使用。 14 2.3 复合服务事务处理复合服务事务处理 web 复合服务由多个构件服务组成,这些构件服务被分别调用,倘若其中有些服 务被顺利执行,而有些则以失败告终,那么对于复合服务的提供者来说这就会造成数 据的不一致。所以 web 复合服务应被视作一项事务来执行40-41。 传统的事务处理模型需要满足原子性,一致性,独立性,持久性,也就是众所周 知的 acid 特性。 这些特性可以用来验证事务的正确性。 但是, 传统事务模型的 acid 特性并不能完全应用在 web 服务的事务处理模型中。 1. 原子性:一个事务流程中的多个执行步骤要么执行成功,要么就不执行。这种 严格的限制对于 web 服务并不完全适用。web 服务组合的事务处理复杂性在于 web 服务的提供者及与其语义等价的其他 web 服务的存在。比如,一个 web 服务的执行 失败可以由与其语义等价的其他 web 服务的执行来补偿。因此,在一个复合 web 服 务的执行流程中的某些步骤的失败并不能确定整个流程执行的失败。 2. 一致性: 事务必须确保系统从一个稳定的状态进入另一个稳定的状态。 为了确 保一致性,那么整个系统的运行必须能够被本地子系统完全监控。但是由于 web 服 务严格的自治性及大量 web 服务的存在使得上述的监控方法无法使用。因此一个研 究的关注点就是在 web 服务严格自治条件下如何监控 web 服务的一致性。 3. 独立性: 就是控制事务的并发执行以提供某种措施使得事务的并发处理能以一 种序列化的方式执行。通常情况下是使用锁定机制解决这个问题。但是不同的 web 服务可能支持不同的事务,同时,可能某些 web 服务不支持和根本不允许通过 web 服务访问方式的锁定机制。 4. 持久性:传统的持久性在 web 服务组合中完全需要被支持。也就是说当事务 完成其执行过程以后,即便某些步骤执行失败,它的结果也必须被持久的保存下来。 这一点在 web 服务组合中也是如此。 那么如何保持 web 复合服务的 acid 的性质呢? 目前的一个解决办法是在一个分布式事务的上下文中调用构件服务。 当且仅当所 有的构件服务顺利结束它们的工作时,系统才会提交所有产生的变更。一旦有一个构 件服务失败并且无法进行补偿时, 其他所有正在运行或是己经结束的构件服务将必须 撤消所有的变化并退回到原来的状态。这样,复合服务的 acid 属性才能被保证。全 局事务管理器(global transaction manager, gtm)可以实现所谓的分布式事务处理, 15 假设构件服务提供局部事务管理器(local transaction manager, ltm)的功能,gtm 就能够通过使用显式提交协议方式与 ltm 进行合作。 然而另一方面,事务处理的需求可能会导致可用服务的附加约束,从而影响服务 组合的效率。在这种情况下通过引入不严格事务处理的概念可以简化这个问题,即如 果有一个构件服务执行失败, 系统并不停止所有的工作而是想办法寻找一个可替代的 构件服务来完成请求的复合服务。 2.4 服务描述语言服务描述语言 由于 web 服务来源于不同的服务提供者,web 服务之间不可避免地存在着各种 各样的异构问题,为 web 服务组合中的组合服务处理流程中的信息传递、最佳服务 查找、等价服务的动态替换等都带来了一定的挑战,其合成困难远大于传统的工作流 42。为保证动态服务发现技术的可行性,复合服务正确地、可靠地执行,便于完成复 合服务的事务处理,必须保证组合服务组件间数据流的同构和语义等价的 web 服务 的同构。在 web 服务组合中,服务提供者不能事先确定其转换规则以及对其实现静 态维护,因此一个可行的方法是:定义一个通用的领域规范,所有参加者实现自治规 范到通用规范的转换,达到同构的目的。 目前,具有丰富语义表示能力的本体是描述全局规范的一个好的选择43-44。语义 web 描
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源经济专业题库- 煤炭资源开发管理对经济的影响
- 2025年大学国内安全保卫专业题库- 社会治安管理与预防
- 2025年山东省事业单位招聘考试综合类专业能力测试试卷(化工类)模拟试题
- 2025年大学科学教育专业题库- 科学教育专业的课程创新设计
- 2025年小学英语毕业考试模拟卷(语法专项突破)作文教学论文试题
- 2025年调酒师职业资格考试模拟试题集:饮品制作创新思维
- 2025年病毒学病毒感染的免疫学应对策略试题答案及解析
- 2025年小学英语毕业考试模拟卷:语法专项突破倒装句试题
- 2025年大学科学教育专业题库-、高校科学教育课堂教学实践
- 2025年大学武术与民族传统体育专业题库- 武术与武器的应用与演练
- CCP与备货0403 (华为培训)课件
- 小学数学西南师大四年级上册二加减法的关系和加法运算律简便计算综合练习PPT
- ASCVD时代总体心血管风险评估工具的更新ppt参考课件
- 人工智能导论-课件-第2章知识图谱
- 华中8型数控系统设备连接与参数配置
- 防突管理制度汇编
- 江苏省教育科学规划课题开题报告
- 医疗器械GMP文件PUR-OP-001 Rev 01采购控制程序
- 精选商务礼仪情景模拟情景
- 男生青春期健康教育(我)
- 重载铁路知识及我国重载铁路发展情况PPT通用课件
评论
0/150
提交评论