《语义web服务发现的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
北京工业大学硕士学位论文语义Web服务发现的研究与实现姓名:陈颖申请学位级别:硕士专业:计算机应用技术指导教师:于书举20090401 摘要l!曼曼!一曼一一一.一曼!!一一m11111曼曼Web服务是近年来新兴的Web应用方式,其发展十分迅速。随着其应用范围的扩大以及Web服务动态组合需求的提出,Web服务的发布与发现,成为Web服务应用的一个关键问题之一。传统的Web服务的发布与发现通过UDDI服务注册中心实现。然而该体系的发现过程只能基于服务描述的字符串进行关键字匹配,因此发现准确度不能令人满意。语义Web服务的出现,丰富了Web服务的描述信息,为更加准确的进行Web服务的发现提供了可能。本文主要研究语义Web服务的发现问题。首先论述了该课题的研究背景以及国内外的研究现状。其次介绍了语义Web服务的相关技术。然后给出了语义Web服务发现的框架,利用tModel扩展原有的UDDI服务注册中心,使其支持语义信息存储,并描述了服务发布与发现的流程。接下来也即本文的重点,介绍了语义Web服务发现所使用的匹配算法。本文在MassimoPaolucci提出的经典算法的基础上提出了改进的多层次匹配算法,将匹配分为类别信息匹配,文本描述匹配和输入输出匹配三层,每层通过匹配的服务作为下一层的候选服务。该算法与以往的算法相比,有以下几点改进:首先,充分利用OWL—S文件中的ServiceProfile的信息,采用逐层匹配,每一层匹配都可以缩小下一层匹配的候选服务范围,提高效率。其次,文本和输入输出匹配都引入了定量的相似度算法,其中文本匹配基于WordNet,输入输出匹配基于本体,提高了匹配的准确性。另外,在计算单词相似度及本体概念语义距离过程中采取缓存机制,提高匹配算法的速度。因此该算法具有较高的效率以及查全率和查准率。最后,本文利用开源工具对语义Web服务发现系统进行了实现,并在其基础上进行了实验,取得了预期的效果。关键词语义Web服务;本体:服务发现;服务匹配 AbstractIIIW曲ServiceisanewkindofWebapplicationrisinguprapidlytheseyears.AlongwithitsextendingfieldofapplicationandthecomingupofWebServicecompoundingdynamicly,thepublishinganddiscoveryofWebServicehasbecomeakeyissueduringtheapplicationofWebService.TraditionalkindofpublishinganddiscoveryofWebServiceisimplementedbyUDDIserviceregistrationcenter.However,thediscoveryprocesscanonlybeperformedbymatchingthekeywordoftheservicedescription,SOitsaccuracyisnotsatisfactory.TheemergenceofsemanticWebServicehasenrichedthedescribinginformationofWebServiceandgiventhepossibilitytoconductWebServicediscoveryinamorepreciseway.ThepapermainlyresearchesonthediscoveryofsemanticWebService.Firstitgivesthebackgroundstudyandthepresentresearchsituationofhomeandabroad·Second,itintroducestherelatedtechnicalsofthesemanticWebService.Then,thepaperdisclosuresthearchitectureofthesemanticWebServicediscoverysystem,whichusingtModeltoextendtheoriginalUDDIsystemtomakeitsupportthestorageofsematicinformation,anddescribestheprocessofpublishinganddiscoveryofs唧aticWebService.Thenitcomestothefocalpointofthispaper,itintroducesthematchingalgorithmusedduringthediscoveryprocessofthesemanticWebService.Thepaperputsforwardthemulti.1ayermatchingalgorithmbasedontheclassicalalgorithmbroughtupbyMassimoPaolucci.Thealgorithmdividesthematchingprocessintothreepans,categorymatching,textdescriptionmatchingand10matching.Theservicesthatpasslastmatchinglayerwillbecomethecandidateservicesofnextlayer.Comparedtotheothers,thisalgorithmhasfollowingadvantages.First,itmakesfulluseoftheServiceProfileofOWL-Sfileandintroducesmulti.1ayermatching.Eachlayerwillreducethenumberofcandidateservicesforthenextlayer,whichcanspeedupthematchingsystem.Second,itusesthesimilarityalgorithmwhichCangivethequalitativeanalysisduringthetextdescriptionandIOmatch.WhiletheformeroneisbasedonWordNetandthelatteroneisbasedonontology.Finally,itintroducesthecachingmechanismduringthematching,speeduptheprocess.Forthereasonsabove,thealgorithmhasgoodefficiency,precisionandrecall.Atlast,thepaperimplementsthesystembasedonsomeopensourcessoflwaresandcarryesoutatestonit,whichigivestheexpectedrestaltIII 北京工qp大学1=学硕十学位论文KeywordssemanticWebService;Ontology;servicediscovery;servicematchingIV 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。.签名:隘纽日期:鱼益:主关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。(保密的论文在解密后应遵守此规定)签名:匦聋盈导师签名:日期:盆:茎 第1章绪论1.1课题研究背景和意义Web服务是近年来新兴的Web应用方式,其主要具有以下几大特点:(1)平台无关性。无论Web服务背后采用何种方式实现.只要服务提供者按照协议进行封装并部署,使用者就可以根据服务描述使用这种服务。(2)松耦合性。无论Web服务的实现发生任何变化,只要服务接口不变,那么就不会影响使用者。(3)有一套标准的开放的协议作为支持,如图1-l所示。。∽MⅣ^0景;;裟ⅢⅫ目_。。。。瑟:黧淼I。。】。。鼎篇嬲。 北京T业大学T学硕七学位论文定了要调用的服务并进行绑定的方式为静态组合;与静态组合不同,动态组合在设计阶段只需要给出需要调用的Web服务的需求信息,在服务执行时才确定具体的Web服务并进行绑定。相比之下,动态组合提供了更大的灵活性,不会发生像静态组合中出现的预先绑定的Web服务在执行时不可用的情况,可以适应随时变化的网络环境,并可以根据各种约束条件选择满足需求且最优的服务【31。例如在一个供应链的业务流程中,在订单生产方式中,生产厂商收到订单,需要根据库存向供应商订货。如果采用静态Web服务合成,则需要在流程定义中预先确定采用哪家供应商,如果供应商更换,则流程也需要修改。而对于动态合成,则只要在流程中给出所需的供应商的Web服务的约束条件,那么合成过程中就可以根据供应商提供的服务描述与用户需求的匹配程度得到最优的服务。动态绑定Web服务,需要在绑定前进行Web服务的发现。而Web服务注册中心的存在,使得动态的Web服务发现成为可能。服务提供者利用WSDL(WebServiceDescriptionLanguage)t刮描述自己的服务,并在UDDI(UniversalDescriptionDiscoveryIntegration)中进行发布。服务使用者可以在UDDI中查找需要的Web服务,并根据其WSDL文件进行动态绑定并调用,如图1.2。图卜2Web服务发布羽I发现Figurel一2PublishanddiscoveryofWebService然而,传统UDDI注册中心存储的Web服务的相关信息只是提供者,功能,类别等基本信息的字符串表示,并没有针对该服务的具体能力的语义描述。因此其服务发现过程,也是通过对服务类别或名称,或是服务的属性值等关键词进行精确匹配来实现的。由于服务缺乏语义描述,这种机制对所查找的服务不能准确描述,并且匹配准确度低下[5-101。语义Web的提出,为该问题提供了一种解决方案。语义Web最初由Bemers.Lee在2000一12一18的XML2000的会议上提出,他指出语义Web的目标是使得Web上的信息具有计算机可以理解的语义【l¨,有了语义W曲的帮助,互联网上的丰富信息不仅能被计算机显示,同时能够被计算机所理解。2 第1章绪论!III_II——皇一——————————I———曼I曼蔓!!!!!曼曼为了使信息能够被计算机所理解,引入了本体的概念。本体通过对概念的严格定义和概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识。在语义Web中,本体具有非常重要的地位,是解决语义层次上Web信息共享和交换的基础。有了本体,Web上的各种信息就可以利用OWL(ontologyweblanguage)112】【¨1语言来描述。而传统的W曲服务描述WSDL也被W曲服务本体描述语言OWL.s【14】(ontologyweblanguageforservices)所代替,OWL.S大大丰富了Web服务描述的内容,包含了Web服务的语义信息。通过引入含有语义信息的服务描述,服务的描述能力大大提高,并且Web服务发现过程从原有的基于字符串匹配转变成了基于语义的服务匹配。而通过研究语义Web服务的发现技术,提高服务发现的准确度和效率,是Web服务组合的关键问题之一。同时,可以在当前异构自治的网络环境中充分利用可用资源,准确定位可用服务,提高服务质量和效率,是SOA概念的一种良好体现。该技术的应用,有利于企业适应快速变化的电子商务环境,提高企业效率;并为跨组织工作流技术提供了一种途径【I51。1.2国内外研究现状在语义Web服务发现方面,国内外的研究主要包括:(1)美国卡内基梅隆大学的MassimoPaolucci等人提出了针对语义Web服务的输入输出进行基于语义的匹配,并在文献[16】[17】中给出了匹配算法的思想以及系统框架,同时基于文献中的研究成果,开发了开源系统Web服务匹配器OWL.S/UDDIMatchmaker。该系统基于原有的UDDI服务发现体系,采用DAML.S作为服务描述语言,该语言是OWL.S的前身。经过验证,提高了原有服务发现体系的效率,在准确度上有所提高。但该系统也存在一定缺陷,包括服务匹配度较为粗糙,造成匹配成功率较低,以及查询相应时间较长等等。(2)美国麻省理工学院的MarkKlein和美国纽约大学的ArahamBemstein提出基于过程本体论的服务发现方法【18】。通过定义过程本体来表述查询请求与web服务,同时定义一种过程查询语言(PQL)检索服务并通过把查询的过程本体与服务的过程本体进行语义匹配实现服务发现。但过程本体与WSDL之间无映射关系,需要花大量时间对服务建立索引,并且PQL解释器的性能没评估,因此服务发现的高效性不能完全保证。另外,近年来国内的一些高校和科研机构也开始了这方面的研究,包括清华,北航,中科院等等,并取得了一定的成果。1.3论文研究内容围绕语义Web服务发现问题,本文主要研究以下几方面内容:(1)扩展原有UDDI体系,使其支持语义Web服务发现。原有UDDI注册3 北京T业大学1二学硕二l二学位论文中心中的Web服务是不包含语义信息的,而本文希望仍然沿用原有UDDI体系,因此需要对其扩展,加入语义信息。(2)基于扩展UDDI的语义Web服务发现框架的研究。基于扩展UDDI,本文提出了一个可行的语义Web服务发现框架,并基于该框架提出了服务发现和发布的流程。(3)语义Web服务匹配算法的研究。该部分是实现语义Web服务匹配功能的核心。本文基于MassimoPaolucci等人的研究成果提出了改进的多层次匹配方法,该算法针对服务的类别信息,文本描述信息,输入输出信息进行了多层次匹配,提高了服务发现的效率和准确性。1.4论文组织结构本文共分为五章。第一章绪论,介绍了本文的研究背景和意义,并列举了国内外相关研究现状。第二章语义Web服务,介绍了Web服务的相关技术,包括其协议体系以及UDDI注册中心,然后引入了语义Web的概念,从下到上介绍了语义Web体系的组成部分,包括RDF,本体,OWL。最后介绍了语义Web服务,包括其描述工具OWL.S,并详细介绍了Web服务发现的关键部分ServiceProfile。第三章语义Web服务发现框架,首先分析了语义Web服务发现体系的新要求,然后探讨了如何改进系统,对原有的UDDI进行扩展以满足这些要求。包括对ServiceProfile和UDDI建立映射关系,以及如何在jUDDI中利用tModel支持这种扩展。然后给出了一个可行的语义Web的服务发现框架,并给出了服务发布与发现的流程。第四章语义Web服务匹配模块,详细讨论了语义Web服务匹配的算法。首先给出了MassimoPaolucci的经典语义算法,并分析了其不足之处。然后针对其不足提出了改进的多层次匹配算法框架,并详细介绍了每一个层次的匹配算法,包括分类信息匹配,文本描述信息匹配,IO匹配,并分析了后两者的时间复杂度。最后针对算法的查全率和查准率做了评价。第五章系统实现,详细描述了系统的实现。首先介绍了实现过程中使用的相关开源工具,然后依次给出了系统的概要设计,包括模块划分和各个子系统的类图。接着描述了系统的详细设计。最后对系统功能作以演示,包括服务发布和服务发现。4 第2章语义web服务第2章语义Web服务2.1Web服务We服务主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。其主要目标是跨平台的可互操作性。为了实现这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。因此使用WebService有许多用途,包括跨防火墙的通信,应用程序集成,B2B的集成,软件和数据重用等。2.1.1W曲服务相关技术Web服务的核心技术也就是其整套标准,如图1.1。其中,贯穿整个协议栈的基础是XML(eXtensibleMarkupLanguage),也即可扩展标记语言。通过提供-.种标准的,可扩展的数据格式,XML满足了Web服务的核心技术要求之一,即跨平台应用。协议栈的中间部分由下到上依次对应了W曲服务的通信,消息,描述,应用相关内容。其中W曲服务特有协议如下:(1)SOAP(SimpleObjectAccessProtoc01),简单对象访问协议。它提供了一种封装和交换XML消息的标准的、可扩展的组成框架。(2)WSDL(WebServiceDescriptionLanguage),W曲服务描述语言。定义了W曲服务提供者和服务请求者之间的消息交换机制。(3)w曲服务的发现和集成协议,而服务发现即本文的研究核心。在大多数情况下,服务调用者需要某种服务,但其对具体的服务提供者的存在并不知晓,因此,在调用之前就需要w曲服务的发现过程。在W3C的标准[1】中,对服务发现过程定义如图2.1。其中各步骤如下:1.a服务提供者向服务发现中心提供服务的描述1.b服务请求者向服务发现中心提出需要的服务的要求1.c服务发现中心向服务请求者返回符合条件的服务描述2~4则是服务的绑定和调用过程整个过程中,服务发现服务处于核心地位,具体实现机制不同,包括注册中心,索引署HP2P方式。本文的研究主要基于UDDI,属于注册中心方式。5 燮est=En。tyj/。?筘:『’B匙一Ⅻ·▲.爿....o⋯Ⅲm,≮/■¨。=:!=~H、卜产7-+_—}图2-1Web服务发现过程Figure2-1ThediscoveryprocessofWcbSer“ce21.2UDDIn&务注册中心UDDI全称为UniversalDescriptionDiscoveryandIntegration,即统一描述、发现和集成协议。其是一个广泛的,开放的行业计划,使得商业实体能够发布自己的Web服用供他人使用,同时发现他人提供的可用的Web服务并集成到自己的应用中。UDDI注册中心采用集中的方式存储所有的Web服务信息。用户可以利用SOAP消息机制(标准的XML/HTTP)与UDDI注册中心交互。服务提供者利用WSDL描述自己的服务,并在UDDI注册中心进行发稚。服务使用者可以在UDDI中查找需要的Web服务,并根据其WSDL文件进行动态绑定并调用【”】。UDDI体系的数据结构如图2-2。其中,一个busincssEnfity对应一个商业实体.每个实体可以发布多个Web服务。实体之间的关系用publisherAsscnion来描述。每个Web服务对应一个businessService。每个busincssServiee可以有多种绑定方式,即多个bindingTemplate。而tModel则提供一些扩展信息,将在后文详细介绍。6富 第2章语义Web服务IIIIIIII图2-2UDDI数据结构【19】Figure2.2Datas仃ucturcofUDDI[1912.1.3基于UDDI服务发现的缺陷传统UDDI注册中心存储的Web服务的相关信息只包括发布者,服务功能,类别等基本信息的字符串表示,并没有针对该服务的具体细节的描述,例如服务的输入输出信息等。因此其服务发现过程,也是通过对服务类别或名称,或是服务的属性值等关键词进行精确匹配来实现的。由于服务缺乏语义描述,这种机制对所查找的服务不能准确定位,并且匹配准确度低下‘5~101。例如用户想查找一个航班查询服务,该服务能根据输入的航班的日期,起始的地理位置,给出航班号码,基于传统的UDDI查询,用户只能查询关键字“航班查询”,UDDI则返回服务描述中包含该关键字的所有服务,但对于服务的输入输出是否满足用户要求,则需要用户自己手工选择。另外,查询结果可能存在遗漏,比如用“班次查询”来描述的服务,意思相同,但因为是关键字匹配,所以并不在查询结果中。为了弥补以上缺陷,需要引入语义Web服务。2.2语义Web当前,虽然互联网的信息在飞速增长,但是各种网页只是单纯的显示信息,却不能表示信息之间的关联,因此信息的利用存在很大程度的限制。例如在搜索引擎中搜索“苹果”,结果会将所有包含“苹果”两个字的网页列出,而不考虑其究7 北京In大学工学顿±学位论文竞描述的是水果,还是电脑的一个品牌。这是因为大部分Web上的信息是给人阅读的.机器只是能够对其显示,并不明白其中的内容和联系。语义Web就是想弥补这方面的不足,Berners.Lee在200012一18的XML2000的会议上提出了语义Web。指出语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理(Agent)对WWW上异构和分布信息的有效访问和检索⋯】。语义Web并不是代替传统Web,而是处于传统Web之上.传统Web仍然负责显示信息,而语义Web则为这些信息补充语义信息。在其帮助下,各种资源被人为地赋予了各种明确的语义信息,计算机可以分辨和识别这些语义信息,并对其自动进行解释、交换和处理。但是语义Web与人工智能中的语义网络是两个不同的概念.它的研究对象和所采用的方法与传统自然语言处理也是不同的.它对现有的Web进行了语义扩展.从而使其能被计算机做一定的理解和处理,从功能上看它将是一个能够“理解”人类信息的智能网络。语义Web的概念和体系结构如图2-3。在其体系结构中,第一层是Unicode和URI,它是整个语义Web的基础,Unicode(统一编码)处理资源的编码,URI(统一资源定位器)负责标识资源;第二层是XML+名空间+XML模式,用于表示数据的内容和结构:第三层是RDF+RDFschema,用于描述资源及其类型:第四层是本体词汇,用于描述各种资源之间的联系;第五层是逻辑,在下面四层的基础上进行逻辑推理操作:第六层是验证,根据逻辑陈述进行验证以得出结论;第七层是信任,在用户间建守信任关系。削2-3语义Web柴构““Figure2-3TheanhitmwofsemanticWeb【1”22lRDFRDF(ResourceDescriptionFramework),即资源描述框架,是一种描述万维网上的资源的语言,尤其用来描述Web资源的元数据.例如标题,作者,Web页的修改时间,版权以及关于Web文件的许可信息或者某共享文件的可用时间8 第2荦语义Web服务II—I—I一一III_Ill曼!曼苎曼苎曼曼曼曼!曼篡曼!曼!曼等等。然而,通过广义化Web资源的概念,RDF也可以用来表示不能直接从Web上提取,但可以识别出来的信息,例如Web用户的偏好信息。RDF的目的不仅仅是展示信息给用户看,其表示的信息需要给应用程序进行处理。RDF提供了一个表示这类信息的通用框架,这样信息可以在应用之间交换而不用担心丢失信息。RDF使用URI来标识信息,并用属性和属性值来表述资源。所以一个陈述可以用一个三元组来表示,即(资源,属性,属性值)。RDF陈述也可以用图形来表示,如图2.4,表示信息“有一个人,用http://www.w3.org/People/EM/contact#me来标识,他的名字是EricMiller,邮箱地址是em@w3.org,称谓是Dr.”。图2-4描述EricMiller的RDF图【20】Figure2-4RDFgraphdescribingEricMillert201RDF是语义Web体系中的一个重要部分。在语义Web体系中,RDF三元组用XML来表示。以上RDF用XML表示如下120】:
此文档下载收益归作者所有