基于语义的Web服务集成研究(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-12 22:51:24

点击下载

作者:蔡海尼

出版社:重庆大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

基于语义的Web服务集成研究

基于语义的Web服务集成研究试读:

前言

面向服务的计算(Service Oriented Computing,SOC)和面向服务的体系架构(Service Oriented Architecture,SOA)代表了分布式计算和软件开发的最新发展方向,其基本思想是把服务作为基础构件,支持快速、低成本的分布式甚至异构环境的应用组合开发,解决不同系统/平台间的应用整合问题。Web服务集成是构建基于SOA的企业信息框架的关键技术,其目标是实现企业现有内部软件资源和外部服务的重用,并在此基础上组合成具有一定功能的软件系统,以提高软件构造的效率,满足不断变化的用户需求。

目前的Web服务技术在服务发现效能、动态服务选择与组合方面存在局限性。语义Web服务为上述问题提供了新的解决途径,利用其良好的语义描述能力和逻辑推理能力,能自动、准确、高效地进行服务集成,动态生成和执行业务流程。目前学术界的研究成果主要集中在语义Web服务的发现、选择和组合方面,尚未提出一个完整的基于语义的Web服务集成方案。

本书从基于语义的服务描述模型、服务匹配与发现、服务选择与组合、数据服务、服务集成框架等方面进行研究,并构建了勘察设计企业协同设计平台原型。

首先,针对现有Web服务描述语言WSDL(Web Service Description Language)不能提供语义信息的局限性,建立了基于语义的Web服务描述模型。该模型将描述Web服务语义的主流规范OWL-S(Web Ontology Language for Services)和现有的WSDL,UDDI等成熟技术充分结合,用WSDL描述服务名称、服务描述,URI地址信息等具体信息,用OWL-S描述服务功能等抽象信息,同时支持基于语法和语义的匹配与发现;并在功能语义的基础上增加服务的QoS(Quality of Service)本体描述,为服务选择和组合提供支持。

其次,针对基于UDDI(Universal Description,Discovery and Integration)的传统Web服务发现机制只能提供关键字查找,不能进行语义匹配的问题,提出了一种基于语义的Web服务分层匹配模型。该模型从三个层次各层采用相应的算法,逐步缩减匹配问题的规模,改进了服务匹配的效率和精准度。在此基础上,对UDDI进行语义扩展,构建支持语义的服务发现框架,并针对实际SOA系统中服务访问规模大、频率高的特点,进行了性能优化。同时,提出了一种基于迭代学习的任务分解算法,优化服务的选择与组合过程;并针对服务组合过程中运行环境的异构性和资源负载的动态变化,设计了一种面向任务的自适应服务组合机制。

最后,从数据集成和应用集成两个方面进一步分析Web服务集成中的关键问题,构建了基于语义的Web服务集成框架,并应用于勘察设计企业协同设计平台。

本书由国家自然科学基金面上项目“基于异构服务网络分析的Web服务推荐研究(NO.61379158)”、国家“十一五”科技支撑计划重点项目“基于SOA技术的勘察设计企业应用软件架构系统(NO.2007BAF23B0302)”、重庆市科委自然科学基金“SOA中基于语义的自适应服务组合机制研究及其应用(NO.CSTC2010BB2244)”等项目资助。此外,本书的出版还得到了重庆大学软件学院的大力支持,在此一并表示衷心的感谢。

限于作者的学识水平,书中疏漏和错误之处在所难免,恳请读者批评指正。著者2014年10月第1章绪 论1.1 研究背景

面向服务的计算(Service Oriented Computing,SOC)和面向服务的体系架构(Service Oriented Architecture,SOA)代表了分布式计算和软件开发的最新发展方向,其基本思想是把服务作为基本构件,支持快速、低成本和简单的分布式甚至异构环境的应用组合开发,为软件向网络服务的转换提供了理论支持。作为其实现的主流技术,Web服务定义了应用程序如何在Web上实现互操作性,促使Web从信息共享平台演化为功能共享、资源共享的公共平台。Web服务具有平台无关性、语言无关性、松耦合性等优势,解决了不同系统/平台间的应用整合问题,为业务流程组合提供了技术基础。

随着Web服务规范的完善和相关技术的发展,互联网已成为一个Web服务资源库,为各个领域提供了大量可用的服务。出于Web服务的模块性和可重用性方面的考虑,单个的Web服务通常只能提供有限的设计逻辑和实现逻辑,复杂业务应用需要一组Web服务通过编排不同的执行顺序以及服务之间的交互协作来实现。Web服务集成的目标是实现企业现有内部软件资源和外部服务的重用,并在此基础上组合成具有一定功能的软件系统,以提高软件构造的效率,满足不断变化的用户需求。这正是SOC与SOA的核心思想。从SOA的角度看,服务集成是一个服务发现、选择和组合执行的业务流程。现行的Web服务技术在服务描述、服务发现等方面已有成熟的规范,但在服务选择、动态服务组合方面,由于涉及逻辑判断和推理,尤其是服务语义等问题,还缺乏有力的技术支撑。

语义Web服务为服务集成提供了新的解决途径。由于支撑Web服务的WSDL(Web Service Description Language)、UDDI(Universal Description,Discovery and Integration)等传统技术本身缺乏服务内容、服务能力等方面的描述,不能很好地支持服务的自动定位、智能匹配和自动组合。语义Web服务技术结合Web服务和语义Web,利用语义Web良好的语义描述能力和逻辑推理能力,以自动、准确、高效地进行服务发现、服务匹配、服务组合、服务监控和服务调用为目标,动态生成和执行业务流程,能更好地实现企业应用系统的集成。构建语义Web的主要方法是建立本体(Ontology),赋予Web服务功能性和非功能性的语义描述信息,通过过程本体(Process Ontology)和过程控制本体(Process Control Ontology)来描述服务模型。过程本体使服务能够进行规划、动态组合以及交互操作,过程控制本体使得智能代理能够监控服务请求的执行。在语义Web环境下,服务之间可以通过本体进行通信、资源共享和协同工作。目前,在基于语义和本体的服务发现、选择和组合等领域已形成了一些有价值的研究成果,但尚未提出一个完整的基于语义的Web服务集成方案。

本书研究基于SOA构建企业信息框架模型的关键技术,提出并实现了一种基于语义的Web服务集成方案,并应用于勘察设计领域。该方案以基于领域本体的服务描述、服务发现和服务组合为主要技术手段,并充分利用WSDL,UDDI等成熟的Web服务规范,封装企业现有服务,提供层次化服务构件,把人事、办公、财务、项目管理、工程设计等相关系统服务融入SOA构架中,实现勘察设计企业的服务集成、数据集成和应用集成。1.2 国内外研究现状

目前关于语义Web服务的主要研究方向有:语义描述、自动服务[1][2]发现、自动服务选择、自动服务组合和自动服务协商等。

1)服务语义描述

Web服务的语义描述是实现服务的自动发现、调用、组合和监控等功能的基础和前提。现今主流的语义Web服务描述框架是OWL-S(Web Ontology Language for Services)。OWL-S是W3C建议的基于OWL语言的Web服务上层本体,它首先用本体来表达领域内的语义信息,然后再利用本体中的概念对服务的功能信息进行描述。OWL-S不仅可以描述服务的语义,而且能够进行适当的推理,具有支持自动服务发现、组合、调用、互操作和执行监控的能力,没有提供相应的解决方案。由于OWL-S与WSDL各具优势且有互补性,考虑到方案的实用性,用OWL-S的过程模型表示服务的抽象描述,用业内公认的WSDL规范来表示服务的具体描述,重用WSDL及其支持软[3]件,是较为理想的Web服务描述模型。文献给出了一种同时支持WSDL和OWL-S描述的服务发现系统匹配方案。对于两者的结合,从研究成果的角度,常见的语义描述方式是用相关本体在Web服务的WSDL描述中加入注解,即对Web服务进行语义标注,也可在此基础上将其转换为OWL-S;Zhang Lei等人提出将从WSDL文档中抽取出[4]的隐含语义信息转换为OWL本体的格式的方案。Farrag等提出了一种将WSDL转为OWL-S的映射算法,作为服务发现机制的组成部分,[5]并进行了实验验证。从应用的角度,目前较为成熟的研究成果集中体现在半自动化语义标注的框架和工具。

与此同时,随着服务技术和需求的不断发展,单纯的功能性服务描述已不能满足用户从众多功能等价的服务中寻求最优服务的需求。QoS(Quality of Service)是描述非功能属性的主要指标集,涉及SOA协议栈的各个层次,需要扩展相应的描述模型。OWL-S等主流的语义描述框架均主要考虑功能方面,缺乏对QoS的本体描述和语义支持。在语法模型方面,常见的QoS指标包括性能、互操作性、可靠[6]性、可访问性、安全等。文献给出了本体WSMO-QoS的描述,采用[7]WSMO建模描述Web服务的QoS。文献展开对获取、存储、度量QoS等基础支持技术的研究,提出了一个可扩展的Web Service QoS信息管理框架,支持QoS模型定义、QoS度量方法、QoS信息采集。[8]文献分析QoS的特性,提出一种估算和预测服务组合QoS的方法,[9]可以对满足任何概率分布模型的QoS作出较准确的估算。文献在OWL-S的基础上扩展,提出一个轻量级的QoS本体模型,并基于此研究语义Web服务自动组合框架。语法QoS模型以系统语义完全确定为前提,注重实现细节;语义QoS模型则主要用于定义QoS的指标集合,指标的测量方法,取值范围和度量单位等,注重表示概念和概念间的关系,不强调实现。在上述研究成果的基础上,建立统一的语义描述模型,作为后继服务发现、服务选择与组合的基础,是本书首先要解决的问题。

2)服务匹配与发现

在服务发现领域,占据业界主导地位的UDDI只能实现语法层次的关键字精确匹配,搜索的查准率和查全率都不高。针对上述缺陷,基于语义的服务发现通过基于共享的领域本体,利用逻辑推理来实现Web服务的语义匹配和搜索,提高服务发现的效能,其关键技术是服务的语义匹配,即如何计算服务请求描述和已发布服务描述之间的语[10]义相似程度。文献根据请求服务与发布服务的输入输出匹配情况将匹配度分为4个等级:精确匹配、插入匹配、包含匹配及不匹配,通过建立语义分类树来判断概念间的关系,查准率高,但匹配度不能[11]得到细致的区分。文献提出一种基于OWL-S的匹配算法,利用描述逻辑推理机来判断输入输出概念之间的关系,实现服务的自动语义[12]匹配。文献将服务匹配问题转换为获取请求的最佳覆盖(BestCover)问题:给定一个请求和知识库,找出最佳覆盖的服务集合,该集合中的每个服务描述都包含与请求尽可能多的公有信息和尽可能少的多余信息。该算法能有效地在服务描述和请求之间进行灵[13]活匹配,但仍不能提供精确的等级区分。文献把服务匹配分为两个阶段:第一阶段,先根据请求服务的功能性需求(服务做什么、它的输入输出、前提及结果)返回满足基本需求的服务;第二阶段,根据非功能性需求为当前请求确定最适合的服务。

基于相似度计算的服务匹配算法根据语义距离来实现近似服务匹[14]配。文献根据词语在WordNet中出现的频率来生成概念权重,改进基于距离的语义相似度算法,使相似度计算结果更加符合实际,匹配[15]结果更加准确。文献针对传统方法计算相似度时基于同一本体和同一度量方法所带来的准确度低的问题,提出一种支持多领域本体的[16]语义相似度计算方法,从而提高匹配的准确率。文献则对概念相似度算法进行扩展,使用WordNet、常识和人的直觉来计算句子之间的相似度。

综上所述,基于推理的匹配方法精度相对较低,出现匹配程度相同结果的几率大,基于相似度的匹配算法则能对Web服务进行更准确的区分,而分阶段的匹配思想考虑的影响因素更为全面。在匹配效率方面,基于推理的服务匹配实现比较简单,可在匹配之前对本体库进行预处理,获得线性时间复杂度;基于相似度计算的服务匹配算法本身比较复杂,实现难度大,又不能进行预处理,致使在最坏的情况下算法的复杂度很高,严重影响匹配阶段的性能。因此,如何借鉴各类方法的优点,实现高效精准的服务发现,是本书的研究重点之一。

3)服务选择与服务组合

服务选择与服务组合针对单个Web服务无法满足服务请求者复杂需求的情况,从服务发现产生的若干候选服务集中分别筛选出原子服务,将这些服务按特定逻辑流程组合起来,以最优的大粒度组合服务形态达到用户需求。

随着Web服务应用和技术的发展,存在大量提供相同或相似功能的服务,单纯基于功能的服务选择显然不能达到最优服务组合的目的。因此,基于QoS的Web服务选择问题受到广泛关注,研究成果集中在服务或服务组合的QoS属性模型、QoS计算方法和服务选择算法的构造等方面。现有的Web服务体系结构未涉及QoS描述,因此不支[17]持基于QoS的Web服务选择。在QoS模型方面,文献提出一种UDDI扩展模型,Web服务提供者同时提供功能信息和QoS信息,生成包含服务质量描述的注册文档,并将QoS确认成功的服务注册到UDDI中心。上述方案充分利用现有协议框架,易于实现,但未考虑[18]服务请求者对服务QoS的评价。在计算模型和选择算法方面,文献~[21]对OWL-S进行扩展,对具有相似功能的候选服务进行最优QoS筛[22]选,具有可扩展性和可重用性。文献针对传统基于QoS感知的服务选择执行效率低的问题,提出一种可生成局部最优解的新算法,该算法能随着执行时间的增加不断自动优化解决方案。

在服务组合领域,业务流程驱动的Web服务组合方法以工作流技术为基础,为业界所推崇,如组合服务执行引擎BPEL4WS和BPWS4J,其描述能力和功能非常强大,但服务协同过程复杂且需要人工参与。因此,学术界对服务的自适应和动态组合问题进行了深入研究,也称即时任务求解的Web服务组合方法。该方法求解用户即时提交的需求,根据用户的服务需求,动态地从服务库自动选取若干服务进行组合。上述研究通常主要包含基于人工智能理论的服务组合和[23],[24]基于图搜索的服务组合两类。文献提出基于智能Agent和DAML-S的服务自动组合方法,提供用户约束和可重用的高层过程并以此实现自动化服务组合。中国科学院的史忠植等对基于主体的语义Web服务自动组合进行了研究,提出基于多Agent的Web服务组合平[25]台架构,并给出了服务的自动组合算法。总体来说,目前基于人工智能理论的服务自动组合技术使用难度较大,当规划空间规模很大[26]时,这类方法的复杂度会急剧上升。文献中基于参数推导图自动构建Web服务组合流程,并自动将参数推导图转换成以Web服务为节[27]点、以服务间依赖关系为边的服务组合流程图。文献则提出了一种多QoS属性约束下的服务组合模拟退火算法,通过对组合服务进行有向图建模,将最优服务组合问题转化为在有向图中搜索最优多约束路径问题。基于图搜索的方法不需要特定的表现形式或推理系统,易于实施,但当可用服务数量很大时时间复杂度高。因此,如何缩小搜索空间、提高服务和组合服务的重用率以实现快速组合是其要解决的[28]~[30]关键问题。

服务选择与服务组合问题是Web服务集成的关键和难点所在,相[31][39]~[38]关研究目前多处于探索阶段,缺乏公认的标准和成熟的技术。[40],[41]本书根据勘察设计企业服务集成的需求,对已有研究成果进行整合和改进,提出一种基于任务分解的服务选择与自适应服务组合机制,有效支持企业SOA信息框架模型的构建。1.3 主要研究内容

构建基于SOA的勘察设计企业信息框架模型,实现勘察设计企业的服务集成,关键在于服务描述、服务发现、服务选择和组合各阶段统一建模,合理选择和设计算法,最终形成满足需求的服务集成方案。本书的主要研究内容如下:

1)建立统一的语义描述模型

建立统一的语义描述模型是首先要解决的基本问题。WSDL是业界广泛认可的描述Web服务功能的协议,有成熟的技术框架作支撑,但仅从功能和语法层面描述Web服务,缺乏语义信息。OWL-S是描述Web服务语义的主流规范,支持自动服务发现、组合、调用、互操作和执行监控,但没有提供相应的解决方案。同时随着Web服务应用的深入,服务数量激增,单纯功能性描述已不能适应服务优化的要求,QoS作为描述Web服务非功能性属性的主要指标集,是服务选择和服务组合的重要依据。基于上述分析,本书建模的主要思想是:用WSDL表示服务的具体描述,用OWL-S表示服务的抽象描述,同时支持WSDL和OWL-S的匹配与发现,并在OWL-S功能语义描述的基础上增加服务QoS的语义描述本体,为服务选择和服务组合提供支持。

2)基于语义的服务分层匹配

基于语义的服务发现通过共享领域本体,实现Web服务的语义匹配和搜索,其关键技术是服务匹配,即计算服务请求描述和已发布服[13]务描述之间的语义相似程度。本书按照文献把服务匹配分为功能性匹配和非功能性匹配两个阶段。功能性匹配从服务类别、基本描述[36]信息和输入输出3个层次逐级进行筛选匹配,返回满足基本功能需求的候选服务集;非功能性匹配则根据非功能性需求,即QoS属性为[42]当前请求选择最适合的服务。语义Web服务分层匹配模型分为服务分类匹配、服务描述信息聚类匹配及服务功能匹配3个层次,逐层采用相应算法对服务请求和发布服务描述进行相似度计算,并设定阈值过滤匹配结果集,从而准确、高效地从大量已发布的服务中找出与用户请求最为接近的服务或服务集。

3)基于任务分解的服务选择与组合

Web服务集成的目标是实现企业内部软件资源和外部服务的重用,并在此基础上组合成具有一定功能的软件系统,以提高软件构造的效率,满足不断变化的用户需求。为适应勘查设计领域复杂多变的任务需求,提高服务选择和组合的效率,本书引入任务分解的思想,提出基于迭代学习的任务分解算法,将服务请求分解为多个子任务,充分利用Web服务组合的可重用性,从组合结果中提取伪原子服务,与服务发现阶段的结果共同组成候选服务,以此优化服务组合;服务组合过程中要调用大量外部服务,由于运行环境的异构性和资源负载的动态变化,服务执行过程中可能出现服务失效或者效率急剧下降的现象,服务组合需要具有自我调节、自我优化以适应环境变化的能力。因此,本书提出基于迭代学习的任务分解算法,并设计了面向任务的自适应服务组合机制。

4)数据服务集成

面向服务架构的目标是通过Web服务集成管理实现异构平台的信息共享,而数据服务集成是Web服务集成的信息基础。现有数据集成方式通常对不同平台的应用功能模块进行封装,通过应用服务来访问异构数据。本书针对传统异构数据访问方式不能直接对数据进行操纵处理的问题,研究数据服务集成方式,对底层数据源直接进行封装,该方式可以绕过传统服务集成总线,直接为用户提供更加灵活的数据处理功能。1.4 本书结构

本书主要研究基于本体的语义Web服务集成方法,研究内容主要包括基于语义的服务描述,语义服务分层匹配与发现机制,基于任务分解的服务选择与组合,数据服务集成和服务集成框架等。

全文分为6章,各章节具体内容安排如下:

第1章引出论题,指出课题的研究背景和研究现状,讨论了本书的主要研究内容和研究思路。

第2章对基于语义的Web服务描述模型进行分析和构建。确定构建语义服务描述模型的基本思路为:构建领域本体库,用其中的本体对Web服务进行语义标注,形成以OWL-S描述的服务抽象信息,并保留WSDL描述的服务具体信息,同时支持基于WSDL和OWL-S的匹配与发现;在OWL-S功能语义描述的基础上增加服务QoS的语义描述本体,为服务选择和服务组合提供支持。

第3章讨论基于语义的服务分层匹配与发现机制。提出一种语义服务分层匹配模型,针对服务分类、服务描述及服务输入输出3个层次的信息,分别采用单概念语义匹配、概念集合语义匹配和基于描述特征的服务聚类算法,逐层缩减问题规模,改进服务匹配的效率和精准度。对UDDI进行语义扩展,构建支持语义的服务发现框架,并对该发现机制进行优化设计。

第4章研究基于任务分解的服务选择算法和服务组合框架。提出基于迭代学习的任务分解算法,将用户的服务请求划分为多个任务,并设计全局选择算法和局部更新算法,将任务映射到服务层,选择与任务相匹配的服务或服务组合路径。在此基础上,设计了面向任务的自适应服务组合机制,当服务失效时,该机制自动实现服务热交换,并基于反馈响应机制实现组合服务的重用。

第5章从数据集成和应用集成两方面研究Web服务集成中的关键问题。提出一种基于语义的Web服务集成框架,并应用于勘察设计领域;针对传统异构数据访问方式不能直接对数据进行操纵处理的问题,研究数据服务集成方式,对底层数据源直接进行封装,为用户提供更加灵活的数据处理功能。

第6章对本书研究内容进行总结,并对需要进一步深入研究的问题进行了探讨。第2章基于语义的Web服务描述

服务描述是服务发现、调用和组合的基础。构建基于SOA的企业信息框架,重用企业现有的软件资源,首先要确立统一的服务描述模型。基于本体的语义描述为企业服务的语义共享和自动集成提供了实现途径,作为描述Web服务语义的主流规范,OWL-S通过本体赋予服务更为丰富和精确的语义,并能与成熟的Web服务描述规范WSDL相结合,为自动服务发现、组合和调用提供有力支持。

本书的服务描述模型用WSDL描述服务的具体信息,用OWL-S描述服务的抽象信息,并在OWL-S功能语义描述的基础上增加服务的QoS语义描述本体,作为服务选择与组合优化的重要依据。2.1 Web服务语义描述

语义Web服务针对目前Web服务在语义表达方面的缺陷,利用语义Web技术扩展服务描述的语义信息,使得服务的内容、属性和行为是计算机可理解和自动处理的,以支持服务发现与组合等操作的智能化。本体是语义层次上Web信息共享和交换的载体,基于本体的知识表示方法是语义Web服务的核心。2.1.1 语义Web服务

Web服务作为面向服务的计算和面向服务的架构的主要功能载体,具有强自治、松耦合、开放性及高度可集成等特点,已为业界所广泛接受。Web服务建立了一个可互操作的分布式应用程序平台,遵循开放的标准将软件资源转化为服务,支持服务的协同,并重用软件资源构建新的应用。Web服务的体系结构如图2.1所示,主要包含服务请求者、服务提供者及服务注册中心3个主体,实现服务发布、服务发现及服务绑定与调用3个基本操作。图2.1 Web服务的体系结构

服务提供者是一个可通过网络寻址的实体,通过将服务描述发布到服务注册中心的服务存储目录,或直接与服务请求者交互,为请求者提供服务功能;服务请求者是一个应用程序、一个软件模块或一个服务,在服务注册中心提供的目录中查找所需服务,根据返回的描述信息绑定并调用服务提供者提供的服务;服务注册中心汇集可用服务的描述信息,支持服务发现,在服务请求者与服务提供者之间起服务中介的作用。在实际应用中,一个Web服务既可以是Web服务提供者,也可以是Web服务请求者,或二者兼而有之。

Web服务体系结构允许在不同平台上、以不同语言编写的各种程序通过标准协议相互通信,这种服务之间的互操作性是其最重要的特点,也是SOA的基础。Web服务已形成了以服务通信、服务描述、服务发现、服务质量及服务流程为主体的Web服务协议集,其协议堆栈主要包括XML,SOAP,WSDL,UDDI,WS-BPEL等核心协议。

随着Web服务技术的逐渐成熟,其需求量和应用领域不断扩大,相关研究工作也日趋深入。现有技术在服务描述与发现以及高层应用方面亟待解决的主要问题是:如何以计算机能理解的方式有效地描述Web服务的功能以及行为特征,使计算机根据用户需求自动进行推理,并集成相关服务协作完成用户需求。就服务的基本操作而言,服务发现需按功能进行搜索,不能只依赖关键词搜索,因为服务的功能不能仅靠若干关键词完整表达;服务的自动调用和组合要求服务之间必须能够理解交互的信息,即需要基于语义的互操作。而目前大多数Web服务描述规范都是基于语法层面的,表达能力较弱,不能有效支持Web服务的自动发现、调用和组合。

语义Web服务正是应对上述问题的有效解决方案,它结合了语义Web技术和Web服务技术,通过服务的语义描述,让计算机理解Web服务的内容、属性、功能与行为,以支持服务发现与组合过程中的自动推理过程。其主要思想是利用语义Web中的本体论(Ontoloty)技术对Web服务进行解释和说明,建立服务的本体,提供服务接口、服务消息、服务结构、服务交互等方面的语义信息。

语义Web服务是服务计算的重要研究内容,目前针对语义Web服务的研究成果多处于学术理论阶段,比较有代表性的语义Web服务描述框架有OWL-S(Web Ontology Language for Services)、WSMO/MSML(Web Service Modeling Ontology)和WSDL-S 3种,其目标都是为Web服务的描述提供语义模型,以使得服务的自动发现、调用、组合与执行成为可能。其中,Web服务标记语言OWL-S在语义Web服务领域影响最大,已成为该领域研究的主要支持工具。OWL是W3C开发的一种网络本体语言,用于对本体进行语义描述。OWL-S是用OWL描述的服务本体,也是一种具有显式语义的无歧义的机器可理解的标记语言,用于精确描述Web服务的属性和功能。本体的有关概念将在2.1.2中具体阐述。在OWL-S中,服务由Service Profile,Service Model和Service Grounding 3个上层本体来描述,如图2.2所示。图2.2 OWL-S

Service Profile描述服务的基本信息,包括服务提供者的信息,服务的输入(Input)、输出(Output)、前提条件(Precondition)以及执行效果(Effect)等功能信息和服务类属、服务质量等其他特征。Service Profile具有双向性,服务发布者可用它把服务语义信息发布到注册中心,服务请求者也可用它描述服务需求;Service Model描述服务的内部流程,包括原子流程、简单(抽象)流程和组合流程;Service Grounding描述服务的传输协议、消息格式及寻址方式等具体访问细节,Grounding机制以WSDL为基础,既便于Web服务的描述,又有利于OWL-S的推广和应用。基于上述分析,本书采用OWL-S作为描述系统服务语义的基本框架,而本体作为OWL-S的核心内容,是解决语义层次上Web信息共享和交换的基础。2.1.2 基于本体的服务语义描述

本体(Ontology)的概念源于哲学领域,它在哲学中被定义为“对世界上客观存在物的系统地描述”,目的是研究客观现实的抽象本[43]质。20世纪90年代,本体的概念开始被广泛引入计算机领域,旨[44]在消除计算机系统之间的“语义鸿沟”,而今本体已成为语义Web的核心内容。目前本体尚无统一的定义,最著名并被广泛引用的定义是Gruber提出的“本体是概念的明确的规范说明”。W.N.Borst进一步把本体的定义引申为“共享概念模型的明确的形式化规范说明”,Fensel对该定义进行分析后认为本体的核心就是概式化和共享,本体的概念包括概念化(conceptualization)、明确(explicit)、形式化(formal)和共享(share)4个主要方面。[46]

本体的结构可归纳为5个基本的建模原语:类或概念(Classes or Concepts)、关系(Relations)、函数(Functions)、公理(Axioms)和实例(Instances)。类或概念可以指代任何事物,表示对象的集合。概念的定义一般采用框架结构,包括概念的名称,与其他概念之间关系的集合,以及用自然语言对该概念的描述。关系描述的是概念之间的交互作用,从语义的角度来讲,本体的基本关系有4种:part-of,表示概念之间部分与整体的关系;kind-of,表示概念之间的继承关系;instance-of,表示概念的实例与概念之间的关系;attribute-of,表示某个概念是另一概念的属性。公理表示永真断言。实例是指属于某概念类的基本元素,即对象。函数是一类特殊的关系。

本体提供了一种明确定义语义的方式,且其定义的语义是计算机可理解的,从而实现计算机系统间的语义共享。根据本体的描述对象,[45]本体可分为以下4种类型:

①领域本体——包含特定领域的相关知识,提供该领域的概念定义和概念之间的关系。

②通用本体——覆盖若干领域,通常也称为核心本体。代表性的研究成果是Cyc,SUMO等通用常识知识库的大型顶层本体库。

③应用本体——包含特定领域建模所需的全部知识。

④表示本体——不局限于某个特定的领域,提供用于描述事务的实体。

本体与本体库的建立是服务描述阶段的首要任务。本书中服务的语义描述模型基于OWL构建领域本体,对勘察设计领域的资源在语义层次上进行表述,从而有效地实现资源的智能化管理和利用。OWL本体主要由类(Class)、属性(Property)和个体(Individual)[44]3种元素及其公理组成。类对应于描述逻辑中的概念;属性为描述类之间关系提供了一种抽象机制,OWL中有两类属性:对象属性和数据类型属性,前者表示个体间的联系,后者表示个体的属性值。个体是类的成员。

OWL-S在Web本体描述语言OWL的基础上描述服务的语义,全面地刻画了Web服务各方面属性的语义信息,并可用于描述用户对服[45],[47]务的需求。本体的语义描述工具主要有描述语言、逻辑语言和过程模型3种。OWL-S的Service Profile本体描述了服务内容和属性等静态语义信息;OWL的子语言OWL DL支持描述逻辑;Service Model本体则描述了服务的行为动作,提出了基于过程模型的思路。但由于OWL-S基于描述逻辑,在表达服务的前提、影响、规则和用户偏好等方面有局限性,而这部分语义信息对于服务的自动发现和组合都很重要。因此,本书利用QoS本体扩展和完善OWL-S,补充描述服务满足消费者需求能力的信息,为服务选择和优化组合提供依据,具体的服务描述模型将在2.2节详细加以论述。2.2 基于语义的Web服务描述模型

建立统一的服务描述模型是Web服务集成要解决的基本问题。WS-DL是公认的服务描述定义语言,提供了数据类型、方法、信息格式、转换协议等信息,并有成熟的技术框架作支撑,但不能提供服务的语义信息。而OWL-S是最具代表性的Web服务语义描述框架,可以精确描述Web服务的属性和功能,但OWL-S并不能完全取代UDDI或者BPEL4WS,尤其是在应用领域需要将OWL-S和WSDL、UDDI等成熟技术充分结合。OWL-S和WSDL之间存在以下映射关系:

①OWL-S Profile中的Input和Output→WSDL中的Input消息和Output消息;

②OWL-S Process Model中的Atomic Process→WSDL中的Operation;

③OWL-S中Atomic Process的Input和Output→WSDL相应Operation中的Input消息和Output消息;

④OWL-S中Inputs和Outputs的类型定义(OWL类定义的本体)→WSDL中的XML Schema。

因此,本书的服务描述模型用WSDL描述服务的具体信息,用OWL-S描述服务的抽象信息,以同时支持基于WSDL和OWL-S的匹配与发现,并在OWL-S功能语义描述的基础上增加服务QoS的语义描述本体,为服务选择和服务组合提供支持。2.2.1 语义Web服务描述模型

完整描述Web服务需要描述信息、功能信息及非功能信息3类元信息。描述信息包括服务的具体名称和描述,URI地址信息等,用WSDL描述;功能信息主要包括服务功能相关的基于领域本体的语义描述,提供IOPE等功能信息,用OWL-S描述;非功能信息主要指描述Web服务的QoS属性,利用OWL-QoS本体对OWL-S Service Profile类的扩展来描述。相应的服务描述模型由4个部分组成,如图2.3所示。图2.3 扩展的语义Web服务描述模型

①WSDL文件:描述Web服务的基础信息,提供服务调用的具体细节。

②Profile文件:提供服务的功能描述信息和相关性能属性,包括服务提供者的联系方式,服务的IOPE等功能信息,以及服务的分类、参数和QoS信息,并将参数关联到相应的领域本体和QoS本体以标注其语义信息。

③Process文件:详细描述服务操作的过程,如操作名、参数、对应的Grounding映射文件、操作的语义信息等。

④Grounding文件:主要描述服务调用的具体细节,包括服务的WS-DL文件地址、具体的调用操作和输入输出参数类型格式等信息。Grounding是抽象描述Process到具体服务WSDL的映射过程。2.2.2 Web服务的QoS本体描述

现有的语义Web服务侧重于功能描述,缺乏对非功能属性QoS的[48]本体描述和语义支持。本书参考文献提出的语义QoS模型——OWL-QoS本体,在OWL-S基础上增加QoS的语义描述本体,从而构成完整的Web服务语义描述模型。OWL-QoS的顶层本体主要包含QoS_Profile,QoS_Attribute,Metric和Value等类,如图2.4所示。图2.4 OWL-QoS的顶层本体

1)QoS_Profile

QoS_Profile定义一个服务所有的QoS参数(QoS_Attribute)。QoS_Profile通过其hasQoSAttribute属性的hasCommonQoSAttribute和hasDomainQoSAttribute两个子属性分别与QoS_Attribute的CommonQoSAttribute和DomainQoSAttribute两个子类相关联,定义不同层次的QoS参数,如图2.5所示。常见的通用QoS属性包括性能、可用性、可靠性、可访问性、安全等。领域QoS属性是特定领域的QoS属性,与服务类别密切相关,如企业电子图档的查询频率、版本更新程度、设计者资质等。图2.5 QoS_Profile类

2)QoS_Attribute

QoS_Attribute类用于描述所有的QoS参数,表示QoS参数的名称、度量方法、作用趋势、权重等,如图2.6所示。图2.6 QoS_Attribute类

3)Metric

Metric描述QoS参数的度量方式,分别为单值度量和区间值度量。

4)Value

Value表示QoS参数的值,主要有数值型和语言型两种。2.2.3 语义Web服务描述模型的QoS扩展

关于Web服务语义描述模型中WSDL与OWL-S的实现和结合,已在前面章节中基于本体给出了相应的解决方案,本节主要讨论OWL-QoS本体在模型中的实现,即利用OWL-QoS本体对OWL-S ServiceProfile类的扩展来描述QoS属性。

OWL-S中的ServiceProfile本体通过ServiceParameter属性及Service-Parameter类提供了自定义服务的功能属性和QoS属性的可扩展机制,如图2.7所示。图2.7 OWL-S的QoS本体扩展

OWL-QoS的qosParameter和qParameter属性以子属性形式分别继承OWL-QoS的serviceParameter和sParameter属性,从而将ServiceParameter类sParameter属性的值域Thing扩展到OWL-QoS顶层本体的核心类QoSProfile。扩展后的服务描述文件符合OWL-S规范,不会因出现兼容性问题影响服务应用中对OWL-S本体的处理。2.3 语义Web服务描述模型构建

在建立领域本体库的基础上,语义标注利用领域本体对Web服务进行概念描述,实现服务描述的语义化,是Web服务语义描述的主流方案。2.3.1 建立领域本体库

本体库是本体集合的统称,它可以对本体进行管理和维护。领域本体是用于描述特定领域知识的本体,它定义了领域内实体的概念以及概念之间的相互关系,形式化地描述了领域活动和领域所具有的特性以及规律。领域本体是由属性、对象、关系和子领域本体组成,为[47]服务提供者和服务请求者提供能够相互理解的共享知识。在OWL-S中,服务的输入、输出和分类的描述都是基于领域本体的,因此,建立合理有效的领域本体是Web服务语义描述的前提。勘察设计领域现有的本体资源非常有限,几乎没有可共享的本体,但存在相应的数据标准,可据此建立本体和本体库。领域本体的构建是一个复杂的工程,受项目背景和研究范围所限,本书拟建立勘察设计企业协同设计平台涉及的部分必要的领域本体,作为语义描述模型的基础。

目前,本体的构建没有公认的标准或过程,比较成熟的本体构建方法有IDEF5方法、骨架法、TOVE法及Natalya方法。其中Natalya方[49]法给出了一种构建本体的具体过程,较为符合软件开发步骤,相对容易理解和实现,此处借鉴Natalya方法并结合项目实际按以下步骤构建本体:

①确定本体的领域与范围,列举其中的重要概念。该步骤由本体建立人员同领域专家共同完成,确保本体的概念包含了足够的信息。

②建立本体概念框架。精化①中列举的概念,对每个概念的重要性进行评估,选出关键性概念,尽可能准确而精简的表达出领域知识,形成领域本体的概念框架。

③定义类和类的层次体系。从概念中选择类,设计类的继承关系。

④定义类的属性和关系。定义属性来表示类之间的语义联系。

⑤构建实例。按照定义的类和属性,建立类的实例。2.3.2 勘察设计领域本体库实例

本书领域本体库主要根据项目需求而设计,所针对的项目背景是构建基于SOA的设计企业信息框架模型,并在此基础上研发勘察设计企业协同设计平台和项目协同管理系统,项目的总体目标是封装企业现有资源,提供层次化服务构件,集中管理建筑产品数据,实现勘察设计企业的服务集成、数据集成和应用集成。

由于项目涉及的业务众多,功能复杂,按本体对领域依赖的程度将概念划分为3个层次:顶级本体(top-level Ontologies)层、领域本体(domain Ontologies)与任务本体(task Ontologies)层、应用本[50],[51]体(application Ontologies)层。顶级本体描述通用的概念,如空间、时间、对象、事件、行为等,独立于特定领域,可在不同领域中共享;领域本体与任务本体则具体化顶层本体的术语,描述特定领域的词汇或任务、行为;应用本体描述领域实体的具体应用,通常是领域本体和任务本体的具体化。在下文中将围绕勘察设计企业协同设计平台、电子图档管理系统和多参与方项目协同管理系统等典型实例,采用Protégé3.4.4作为本体构建工具,建立相应本体。

协同设计平台是通过对我国设计单位的实际需求及现有设计院管理信息平台的整理提炼,结合国际上成熟的建筑软件设计思想,开发的面向设计过程管理和工程数据管理的软件。协同设计平台充分利用设计单位的网络资源,实现基于项目的设计团队的资源共享和协同工作,以及设计文件的全过程有效管理。协同设计服务分类本体如图2.8所示,本体描述保存在URI为http://www.ecasoft.cn/ECA-SOAware/Category.owl的相应本体文件中。图2.8 协同设计服务分类本体

电子图档管理是构建基于SOA的勘察设计企业信息框架模型的重要系统服务之一。勘察设计企业设计图纸的类型主要分为暖通、电气、建筑和结构设计图,可存储为dwg(CAD图形文件)、doc、jpg等格式。电子图档管理主要包括图档的发布、删除、检索、版本管理等操作,其中最常用的是图档检索功能。基于传统架构的电子图档管理已经比较成熟,建立了大量业务模型、数据模型和应用软件,涵盖了主要的领域知识,在此基础上,通过与专业设计人员对电子图档源模型[50]的共同分析,定义电子图档领域本体,如图2.9所示。图2.9 电子图档领域本体

通过分析基于SOA的设计企业电子图档管理系统的特点,构建图档管理服务本体,如图2.10所示。图2.10 电子图档服务本体

勘察设计企业多参与方项目协同管理系统的研发为构建协同设计综合管理架构平台提供了技术及应用支撑,也是课题的技术难点。以工程参与方对象和相关服务为主构建工程参与方领域本体,如图2.11所示。图2.11 工程参与方领域本体

用Protégé创建上述本体实例,可生成相应的.owl描述文件。在此基础上建立领域本体库,可直接将本体文件保存在Web服务器中,也可采用本体持久化的方法,即将本体存入数据库。本项目目前是直接将本体文件保存在Web服务器中,但在项目运作成熟后,将使用构建语义Web应用的Java框架Jena的API进行本体持久化操作,把本体的内容存入数据库,并在使用本体时从数据库中读取。2.3.3 Web服务语义标注

利用领域本体对Web服务进行概念描述,实现服务描述的语义化,是Web服务语义描述的主流方案。目前,互联网上所有Web服务都提供WSDL描述,却未提供OWL-S描述,这是因为从Web服务的实现程序中自动生成WSDL描述并不困难,而OWL-S是语义描述,依赖于领域本体,需人工干预,不能完全自动生成。因此,最常见的语义描述方式是用相关本体在Web服务的WSDL描述中加入注解,即采用[52]特定算法对Web服务进行语义标注,也可在此基础上将其转换为OWL-S。目前语义标注的研究成果集中体现为半自动化实现本体概念映射的框架和工具,具体算法或规则各异,没有统一标准。

根据项目背景和应用范围,本书Web服务的语义描述分为两种方式实现:(1)用领域本体库中建立的本体对系统Web服务进行语义标注

语义标注的方法主要有人工标注和机器标注两种,由于WSDL描述信息和领域本体概念的多样性与灵活性,很难实现语义标注的完全自动化,而人工标注效率低下,当服务数量大时,靠手工分析筛选信息是不可行的。折中的方案是建立一个半自动化的语义标注系统。

Georgia大学LSDIS实验室构建的METEOR-S Web服务标注框架MWSAF(METEOR-S Web Service Annotation Framework)是一个基于语义Web的图形化工具,使得用户能够半自动化地用本体对现有Web服务描述进行标注。MWSAF提供了一种在WSDL文档中加入数据、功能和服务质量语义的机制,其主要思想是在WSDL文档和本体OWL描述文档之间通过模式图进行匹配和映射,从而半自动地匹配WSDL文档中的元素与本体概念,并用相关的本体在Web服务的WSDL描述中加入注解。

在进行概念匹配时,MWSAF提供基于概念名称和概念结构两种匹配方式的算法,用户也可根据需要通过AlgorithmManager类的API加入新的匹配算法。完成Web服务的匹配后,映射面板将显示所有可能的匹配及相应的本体概念、子概念和匹配得分,供用户选择其中可接受的匹配结果,MWSAF也允许用户自定义WSDL文档元素与本体间的映射。确定可接受的映射,即可生成对应的×××Annotated.wsdl标注文档,并利用OWL-S Editor或WSDL2OWLS转换成OWL-S。此处及下文中的本体,如非特别说明,均指2.2.2节构建的领域本体。

项目在构建基于SOA的设计企业信息框架模型的过程中,规范了服务信息的命名机制,使之与本体的概念定义基本一致,因此,使用MWSAF进行语义标注时人工干预相对较少,达到了预期效果。(2)自动构建测试服务描述集

在项目开发中,为了验证服务发现、选择和组合等解决方案的可行性,通常需要在服务语义描述的基础上构建大量测试用例。由于测试的目的性强,用例数量大,并会有意针对一些特殊或极端的情况,因此对每个Web服务进行精确的语义标注不仅效率低下而且没有必要。例如,为了构建电子图档管理系统中的语义Web服务注册表测试用例,需将服务的WSDL文档进行语义标注,并转换成OWL-S。这部分语义描述主要基于服务的输入、输出和分类信息,可利用Java OWL-S API中的OWLOntology和OWLKnowledgeBase接口解析服务分类本体及电子图档领域本体文件,并借助其自带的WSDL2OWLS工具,编程自动构建100个Web服务语义描述条目形成注册表,作为服务发现的测试用例。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载