Web服务原理和技术Web服务的注册与发现_第1页
Web服务原理和技术Web服务的注册与发现_第2页
Web服务原理和技术Web服务的注册与发现_第3页
Web服务原理和技术Web服务的注册与发现_第4页
Web服务原理和技术Web服务的注册与发现_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学计算机学院第6章:Web服务的注册与发现山东大学计算机学院目录服务注册服务发现UDDI:统一描述、发现和集成山东大学计算机学院服务注册为充分发挥电子商务的作用,不同的企业必须能彼此发现、了解各自的需求和所能提供的功能,还能将不同企业的Web服务组合成新的服务和业务流程这一解决方案使得不同企业之间能够发现和利用彼此的业务、合作伙伴所能提供的功能,并能不断发现新的潜在合作伙伴,了解这些潜在合作伙伴所能提供的功能,以及将电子商务与这些潜在合作伙伴进行无缝对接该解决方案需要创建一个服务注册体系结构,使得企业可以采用一个全球的、平台独立的、开放的业务框架,从而使得这些企业能够发现彼此的业务定义这些业务如何通过互联网进行交互共享全球注册资料库中的信息,从而加快电子商务在全球范围的推进山东大学计算机学院服务注册通过在服务注册库中发布一个Web服务,其他的应用将能发现该服务,这需要两个同样重要的操作:Web服务的描述和注册服务发布需要从业务、服务和技术方面对Web服务进行合适的描述注册则涉及在Web服务注册库中持久化存储在Web服务的描述服务注册主要关于服务的辨别和控制在最简单的层次,服务注册记录企业所能提供的服务,以及那些服务的特性5UDDI消息在客户机和注册中心之间的流动UDDI工作原理下面我们通过图示来讲述UDDI的工作方式该图说明了企业如何往UDDI注册中心送入Web服务数据,企业又如何能发现和使用这些信息的7UDDI工作原理教材:图6-28UDDI具体工作步骤第1步,在软件公司和标准组织定义关于在UDDI中注册的行业或企业的规范时,开始向注册中心发布有用的信息。这些规范叫做技术模型或者更常见的说法是tModel。第2步,公司还会注册关于其业务及其提供的服务的描述。第3步,UDDI注册中心会给每个实体指定一个在程序中唯一的标识符,叫做唯一通用标识符(UniqueUniversalIdentifier,UUID)键,从而能随时了解所有这些实体的情况。UUID键必须是唯一的,并且在一个UDDI注册中心中从来都不会变化。这些键看上去象格式化好的十六进制随机字符串(例如C0B9FE13-179F-413D-8A5B-5004DB8E5BB2)。可以利用这些键来引用与之相关联的实体。在一个注册中心中创建的UUID键只在该注册中心的上下文中有效。9UDDI具体工作步骤第4步,诸如电子交易场所和搜索引擎等其它类型的客户机与商业应用程序使用UDDI注册中心来发现它们感兴趣的服务。接着,客户就可以调用这些服务,简便地进行动态集成。山东大学计算机学院电子商务的注册电子商务注册通常有两类山东大学计算机学院基于文档的服务注册基于文档的服务注册通过在注册库中存储基于XML的服务文档,诸如业务概况或技术规范(包括服务的WSDL描述),客户端可以发布信息服务提供者也必须以服务元数据的形式提供每一个文档的描述信息元数据可用来描述不同系统和流程中的信息结构,所以元数据是任何集成解决方案中的关键元素之一元数据:XML模式结构、接口定义、跨网络的端点位置、整个流程的详细描述元数据存储在服务注册库中,描述文档也持久化存储服务注册库本身不关心服务文档的具体内容山东大学计算机学院基于元数据的服务注册在基于元数据的服务注册中,采用了不同的方法来处理与服务相关的一些信息服务提供者提交包含服务信息的文档注册库不会原样存储这些文档,而是获取服务文档中所包含的信息,然后创建元数据,这些元数据从本质上反映了所提交文档的内容元数据按内部格式存储在服务注册库中元数据可以包含对于注册库没有注册的内容的引用注册库不会管理这些文档,而是提供这些文档的链接山东大学计算机学院目录服务注册服务发现UDDI:统一描述、发现和集成山东大学计算机学院服务发现服务发现是SOA的一个重要基础服务发现的实质是确定Web服务提供者的位置,并获取已经发布的Web服务的描述Web服务发现需要确定Web服务的位置以及了解Web服务的定义,这是访问Web服务的一项基本工作Web服务客户端可以了解是否存在所需的特定Web服务,以及了解相关Web服务的能力和如何与Web服务进行合适的交互山东大学计算机学院服务查询服务查询在注册库中查询满足服务请求者需求的Web服务查询由一些搜索条件组成所需的服务类型、首选价格、返回结果的最大数量查询将对服务提供者所发布的信息进行搜索在进行发现处理之后,服务开发者或者客户端应用将了解到Web服务的具体位置(所查找到的服务的URI)、Web服务的能力,以及如何与其进行交互对于服务发现返回的Web服务集合,服务选择将决定从中选择调用哪一个服务山东大学计算机学院服务发现静态服务发现通常发生在设计阶段确定了服务实现细节,并从服务注册库中检索服务设计者需要分析检索操作的结果,并将检索操作所返回的结果合并动态服务发现发生在运行时,设计时并不确定具体的服务实现细节Web服务请求者必须指定首选项应用将在服务注册库上进行检索操作,以确定与应用所使用的服务接口定义相匹配的一个或多个服务实现定义山东大学计算机学院目录服务注册服务发现UDDI:统一描述、发现和集成UDDI数据结构WSDL到UDDI的映射模型UDDIAPIUDDI模型的查询UDDI用例模型与部署的多样性山东大学计算机学院通用描述、发现和集成规范为实现服务注册和发现,创建通用描述、发现和集成(UDDI)规范UDDI是一个跨行业的注册标准草案基于该规范以及支持服务发布和发现处理的注册工具,可实现Web服务的描述和发现UDDI利用了W3C的一些标准,如XML、HTTP和DNS协议UDDI的目的是供开发工具以及使用Web服务标准的应用使用UDDI提供一个全球的、平台独立的、开放的框架,使得企业更容易开展业务、发现合作伙伴以及与这些合作伙伴在互联网上进行互操作山东大学计算机学院UDDIUDDI是一个包含轻量级数据的注册库目的是提供它所描述的资源(例如模式、接口定义和跨网络的端点)的网络地址核心概念是UDDI业务注册库,用来描述业务实体和它的Web服务的XML文档UDDI业务注册提供的信息包含三个相关的组成部分白页:地址、联系方式以及其他的一些联系信息

◦企业可以发现潜在的合作伙伴以及有关这些合作伙伴的基本信息黄页:基于行业分类法对信息进行分类

◦可以发现按照具体行业进行分类的公司绿页:关于服务的业务能力和相关信息

◦如何与提供服务的企业进行联系山东大学计算机学院UDDI用例模型通用业务注册库是免费的,IBM、微软、SAP和NTT运营这些公共注册库驻留UDDI全球注册库中的公司成为运营者节点可以在Web上发布业务信息以及业务所提供的服务的相关信息,并且这些运营者都遵循良定义的复制模式UDDI用例模型产业联盟、标准化组织、服务提供者(发布服务类型定义)UDDI注册库(构建和发布遵循服务类型定义的服务)服务提供者服务客户端(基于不同的标准发现服务类型定义和服务)UDDI注册库服务客户端(获取服务类型定义细节)产业联盟、标准化组织、服务提供者服务客户端(调用所发现的服务)服务提供者山东大学计算机学院UDDI数据结构UDDI的主要目的是Web服务的数据和元数据表示无论是在公共域还是在防火墙后使用,UDDI注册库都提供了对Web服务分类、编目和管理的机制,从而可以发现和使用那些Web服务发现Web服务实现:基于公共的抽象接口定义发现Web服务提供者:按照分类模式或标识系统进行分类基于常规的关键字搜索服务确定一个特定的Web服务所支持的安全性和传输协议存储Web服务的技术信息,并在运行时更新那些信息山东大学计算机学院UDDI数据结构对于表示公司和服务描述信息,UDDI定义了一个数据结构标准在XML模式中定义了UDDI注册库所使用的数据模型XML提供一个平台中立的数据视图,并可以以中立方式来描述层次关系UDDIXML模式定义了提供白页、黄页、绿页功能的四类核心信息类型业务实体业务服务绑定模板服务规范(技术或tModel)UDDI数据结构类型

UDDI的数据类型从概念上讲,UDDI注册中心里的数据可以分为以下四类:1.商业实体信息(businessEntity)2.服务信息(businessService)3.绑定模板(bindingTemplate)4.技术模型(tModel)24UDDI数据结构businessEntity表示商业实体的主要信息,如联系信息、根据特定分类法或者分类机制分类的公司类别、标识与其他商业实体之间的关系和特定业务的说明。businessService表示商业实体提供的服务,通过商业服务标识、商业实体标识、名称、描述、绑定模板等元素,对特定企业所提供的特定服务进行描述。一个businessEntity可以有多个businessService。bindingTemplate,对于每一个businessService,存在一个或多个技术实现方式,这些方式的技术描述通过bindingTemplate来实现。bindingTemplate包括应用程序连接远程Web服务并与之通讯所必须的信息,例如绑定标识、服务标识、接入地址等。1.商业实体信息商业实体信息即发布服务信息的商业实体的详细信息,包括企业名称、关键性的标识、可选的分类信息和联络方法等。这个数据结构在商业机构专属信息集中是最高管理者,位于整个信息结构模型的最上层商业实体信息中的信息都支持"黄页"分类法,顾客可以从行业类别、产品类型、地域范围等定位企业或Web服务。2.服务信息

服务信息即一组特定的技术服务的描述信息。

该信息是“绿页”数据的重要组成部分,是对Web服务技术和商业描述。

服务信息是商业实体信息的子结构。

服务信息结构组合了一系列的有关商业流程或分类目录的Web服务的描述信息。技术人员可以对这些服务信息的信息集合进行分类,使Web服务的描述可以按不同的行业、产品、服务类型或是地域范围划分为几类。

每个服务信息都包括一个或多个Web服务的技术描述。在这些技术描述中,规定了应用程序连接远程Web服务并与之通讯所必须的技术信息细节(例如Web服务的地址和调用服务前必须调用的附加应用服务)。3.绑定模板绑定模板即关于Web服务的入口点和相关技术规范的描述信息。调用一个服务所需要的信息(包括规范描述的指针和技术标识)是在绑定模板结构中定义的。当需要调用某个特定的Web服务时,技术人员必须根据实际应用要求,在得到了充足的调用规范等相关信息之后,才能保证调用的正确执行。

4.技术模型(tModel)即Web服务或分类法的规范描述信息,也就是关于调用规范的元数据,包括Web服务名称、注册Web服务的企业信息和指向这些规范本身的URL指针等。这四类数据中的每一类表示UDDI中的一种实体。任何一个这样的实体在UDDI注册中心都指定有自己的UUID(通用唯一ID号)。利用这个标识符人们可以在UDDI注册中心的上下文中找到它所代表的实体。当企业需要使用合作伙伴所提供的Web服务时,上述四类数据是技术人员必须了解的技术信息。30UDDI数据模型businessEntitybusinessServicebindingTemplatetModelpublisherAssertion3132businessService数据结构描述业务实体提供的webserviceprovidedbythebusinessentity.如何绑定?什么类型?属于什么行业?33anexampleofabusinessservicestructurefortheHelloWorldwebservice34bindingTemplate数据结构Bindingtemplates是webservice的技术描述.一个服务可有多个bindingtemplates.bindingtemplate描述了webservice的具体实现35anexampleofabindingtemplateforHelloWorld36tModel数据结构tModel:technicalmodel.如果你定义了一个新的WSDLporttype,就有一个tModel在UDDI表示该接口.然后,通过关联该tModel和业务服务的bindingtemplates指定一个businessservice实现该接口。37tModel一个webservice定义包含了抽象的可复用的信息和具体的实现信息.假设另外一家公司想实现同一个服务,就不应重复注册抽象的服务信息,因为仅仅服务的endpoint地址不同.抽象的服务接口定义就是一个tModel.38anexampleofAtModelrepresentingtheHelloWorldInterfaceporttype39tModel属性tModelKey—tModel唯一标识.一旦赋值,不能修改operator—拥有UDDI节点的运营商authorizedName—注册tModel的鉴定用户tModel元素name—必须.tModel的名字.description—可选.tModel的文字描述.overviewDoc—可选.tModel概述以及使用意愿identifierBag—可选.关联tModel到一个预先定义的名字空间categoryBag—可选.通过各种各样的分类法进行的分类40publisherAssertion数据结构publisherAssertion由三个元素组成:fromKey(thefirstbusinessKey),toKey(thesecondbusinessKey)keyedReference.keyedReference指派断言关系类型.山东大学计算机学院服务提供者信息企业服务的合作伙伴或者潜在客户需要了解服务的位置信息以及服务提供者的相关信息businessEntity元素和businessKey属性作为顶层结构,包含了特定业务单元(服务提供者)的白页信息在UDDI中,可使用businessEntity结构对业务和提供者进行建模包含businessKey属性,具有唯一性的业务标识符businessKey的属性值是UUID第一次创建businessEntity,UDDI注册库自劢生成该UUID,并赋给businessKey山东大学计算机学院一个<businessEntity>结构的实例山东大学计算机学院服务提供者信息discoveryURL元素这是一个可选元素,包含一些URL,执行其他的可Web寻址的发现文档<discoveryURLuseType=“businessEntity”>

?businessKey=uddi::registry:sales:55</discoveryURL>name元素:包含了业务实体表示的组织的通用名称description元素:对业务的简短的叙述性说明contacts元素:主要关于组织的联系信息,是一个可选元素businessServices元素:描述业务实体所提供的业务服务山东大学计算机学院Web服务描述信息businessEntity实体可以依次包含一个或多个businessServices数据结构,其中每个businessService构成都是一个businessEntity的逻辑后代businessService结构是一个描述性的容器对于一系列与业务流程或服务类别相关的Web服务,可以使用businessService结构对这些Web服务进行分组一个businessService包含一个或多个bindingTemplate实体两者之间的关系类似于WSDL的service和port元素之间的关系包含在businessService元素中的信息映射到有关公司的黄页信息山东大学计算机学院一个<businessService>结构的样例山东大学计算机学院Web服务访问与技术信息每个bindingTemplate表示了一个不同的Web服务port或binding描述了调用服务所需的所有访问信息,提供了应用绑定Web服务所需的技术信息,以及与所描述的Web服务进行交互所需的技术信息businessEntity和businessService结构提供有关提供者和服务的辅助信息bindingTemplate元素必须包含下列两者之一一个特定服务的接入点通向接入点的间接途径绿页数据是Web服务的技术描述,它驻留在bindingTemplate元素中山东大学计算机学院一个<bindingTemplate>结构的样例设计者声明<accessPoint>或<hostRedirector>,但不能同时声明这两者accessPoint是一个指向服务进入点的属性指针有一个URLType属性,可帮助搜索与特定服务类型相关的进入点hostingRedirector标识了实际的bindingTemplate元素,该元素指向最终提供所需的绑定信息的另一个bindingTemplate山东大学计算机学院Web服务访问与技术信息tModel提供了描述服务的技术细节的绿页信尤其对于包含服务的WSDL描述信息的文件,tModel包含一个指向该文件的指针当描述Web服务如何与它的客户端进行交互时,tModel的主要作用就是提供一个技术规范当在UDDI注册库中发布数据时,使用分类法是非常重要的tModel定义一个抽象的命名空间引用,可用它对业务实体、业务服务甚至tModel进行标识和分类tModel结构的tModelKey属性唯一标识了一个特定的tModel结构山东大学计算机学院一个<tModel>条目的样例山东大学计算机学院最佳做法使用UDDI注册库存储WSDL服务的信息的最佳做法是bindingTemplate包含两个不同的tModelKey属性,它们指向一个具体的Web服务的两个不同的tModel正如WSDL一样,UDDI也对抽象和实现进行了明显的区分tModel提供技术指纹、元数据的抽象类型、接口山东大学计算机学院发布者断言结构因为许多企业的描述和发现很可能是不一样的,所以有时单个的businessEntity并不能有效地表示许多企业可以发布多个businessEntity,每个表示企业的一个部分或一个子公司使用publisherAssertion结构可以实现这一目标山东大学计算机学院WSDL到UDDI的映射模型UDDI和WSDL都清晰地、系统地刻画了接口和实现,它们可以相互补充、相互协作WSDL到UDDI的映射模型可帮助用户发现那些实现了标准定义的服务。映射模型描述了WSDLportType元素和binding元素规范如何变成tModelWSDLport如何变成UDDIbindingTemplate每个WSDL服务如何注册为businessService对于UDDI业务和服务条目中的信息,WSDL文档中定义的服务信息是对其的一个补充。UDDI的目标是提供多种类型的服务描述,不直接支持WSDL山东大学计算机学院WSDL到UDDI的映射模型一个完整的WSDL服务描述是服务接口、服务绑定和服务实现文档的组合山东大学计算机学院发布服务接口与服务绑定当发布服务时,第一步就是创建服务接口定义服务接口定义包括服务接口和协议绑定,需要能够公开访问它们山东大学计算机学院发布服务的实现UDDIbusinessService元素表示了一个WSDL服务,并且WSDL端口实体映射到bindingTemplate假如WSDL服务表示了一个已有服务的Web服务接口,则可以有一个相关的、现有的UDDIbusinessService假如尚没有合适的服务,则可以创建一个新的UDDIbusinessService必须部署这个新的服务,并将该服务注册到UDDI注册库中根据WSDL服务实现文档中的服务名生成businessService名对于每个服务访问端点创建一个bindingTemplate对与所描述的服务端点相关的tModel,在bindingTemplate中创建tModelInstanceInfo山东大学计算机学院WSDL服务实现创建businessService山东大学计算机学院WSDL到UDDI的映射模型小结从wsdl:portType到uddi:tModel的映射山东大学计算机学院WSDL到UDDI的映射模型小结从wsdl:binding到uddi:tModel的映射山东大学计算机学院WSDL到UDDI的映射模型小结山东大学计算机学院UDDIAPI对于分类、编目和管理Web服务,UDDI注册库提供了一个标准方式,以便于能够发现和使用这些Web服务业务和提供者可以按标准方式使用UDDI来表示Web服务信息UDDI使用SOAP作为它的传输层UDDIAPI是一个接口,可以接受封装在SOAP信封中的XML消息所有的UDDI交互都使用请求/响应模式可以使用出查询API来搜索和读取UDDI注册库中的数据,并可使用发布API来添加、更新和删除UDDI注册库中的数据山东大学计算机学院查询APIUDDI查询API有两类使用模式浏览开发者可以使用浏览模式(发现API调用)来获取满足比较宽泛的查询标准的进入点、服务或者技术特性浏览模式中,可以使用find_business、find_relatedBusiness、find_service、find_bindin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论