毕业设计(论文)-基于UDDI的Web服务注册中心的设计.doc_第1页
毕业设计(论文)-基于UDDI的Web服务注册中心的设计.doc_第2页
毕业设计(论文)-基于UDDI的Web服务注册中心的设计.doc_第3页
毕业设计(论文)-基于UDDI的Web服务注册中心的设计.doc_第4页
毕业设计(论文)-基于UDDI的Web服务注册中心的设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着网络技术的崛起、计算机应用程度的不断提高扩大,原先系统的时效性、数据是否正确、操作是否方便性,这些都存在着不同程度的缺陷,这已影响到系统日常的使用。经过深入研究比较,决定利用最新的研发技术对基于uddi的web服务注册中心的设计进行重新设计开发。使系统能不断地适应新的需求,带给人们更多的便利。本文对基于uddi的web服务注册中心的设计进行整个的讨论,确定了系统的可执行性和可应用性;我对该项目进行分析,最后按照模块化原理,布局设计了系统的各个功能模块;对于数据库详细解释了系统数据库的结构完整性,并对他的安全性进行设计;程序设计则采用面向对象java语言的程序设计方法,从而提出系统的程序设计的整体思路,对程序功能前端与后端进行了具体论述;测试,主要是对设计分析过程中出现的一些问题进行分析,并提出可以解决的方案,完成该系统的功能。最后,我们对该设计进行客观、全面的评价,并对进一步改进提出了建议,致谢。关键词:计算机;系统;uddiiii1引言web服务技术,它是一种面向服务的技术。面向服务的计算,相对来说是一个比较新的计算规范,它将服务作为构件,成本低,可用于支持分布式应用快速开发。服务是一种自包括的模块,他们安置在规定的核心平台上,可以在网络上利用一些xml的技术来实现描述、定位、编配和编程。安排在系统上的任何代码段或应用程序组件都能转换为网络上的服务。在学习和掌握面向服务的计算的相关的概念,以及uddi协议的分析。同时通过uddi服务实现api服务和web服务的描述功能,部署一个web服务注册中心;完成一个简单web服务的发布与调用 ,uddi客户端通过调用uddi服务api协议提供简单易用的操作界面,通过此界面实现web服务的统一描述,开发1,以及web服务注册中心的界面设计和完成。 该项目设计从需求分析出发提出了该系统的整体设计思想与框架,简明扼要的引见了系统各功能模块及数据库的设计,并详细介绍了数据流图,在详细设计里给出了部分实现功能的讲解、代码,注释。此系统的开发初衷就是为了解决之前旧版本在操作管理方面的不足及缺陷,运用新的设计理念及模式进行重新发开设计,使其在利用方面得到更大的作用。2 web服务的原理分析2.1 开发意义web服务是一项正在发展的技术,可以使运行在各种机器上的各种应用无需寻找额外的、专业的第三方软件或硬件,就可以彼此交流数据、集成。按照web服务的标准实施的运用之间,无论它们所利用的言语、平台或内部准则是什么,都可以彼此交流数据。web服务是自描述、自包含的可用网络模块,能够执行的业务性能。web服务也很容易布置,由于它们基于一些惯例的产业规定以及已有的一些技术,诸如xml和http。web服务把应用接口的费用变少了。web服务是一个通用机制,为各种企业的组织之间的业务流程的集成所提供。web服务技术的远期目的是完成分布式应用,根据不停地变化的业务需要动态组装和配置应用程序,也可以依据设备(如pc、便携式计算机、wap手机、pda)、网络(如有线电视线缆、移动通信系统、各种数字用户线路、蓝牙等)和用户访问的情况制定详细的的分布式应用,保障所需之处都可任意运用任何业务逻辑的具体片段。一旦布置了一个详细的web服务,其它的应用和web服务都能能发现和调用这个web服务。2.2 国内外发展现状时代在发展,计算机技术的使用也越来越深入到各行各业,这使得人们的生活更加简便化。目前各行各业都在利用公用计算机系统,它的范围横跨教育、科研、文化、金融、商业、新闻出版、文娱、体育等各个领域,其用户群十分巨大,因此,设计开发好一个计算机系统对一个机构(或部门)的业务开展非常重要。这几年以来,随着用户要求的不断提高及计算机行业的深入应用,尤其是数据库技术的广泛运用,使得用户提供的办事能力也将越来越多样化,越来越人性化。 基于uddi的web服务注册中心的设计在目前来说是非常有用的。国外在web 服务方面的研究相对来说已经很成熟了,我国的技术目前还处于发展初期,很多设施以及能力都没有发展到先进水平,所以咱们在这方面更需要时间去加大投入力度,并进行深入化的研究设计。2.3 主要概念2.3.1 web服务 web服务是一个平台独立的、松耦合的、自包含的、基于可编程的web的应用程序2。它是由uri标识的软件系统,web服务作为一种特殊的服务继承了服务的自治性、开放性、自描述性和实现无关性。另外,web服务使用(基于xml的)标准化的因特网语言,标准化的协议在因特网的内部网上展示他们的可编程功能部件,并通过自描述接口实现web服务。这些自描述接口基于开放的因特网标准。web服务是面向服务的体系结构。如图21所示:图21面向服务的体系结构2.3.2 uddiuddi这一名词最初出现在2000年,由ariba,ibm,microsoft和其他33家公司创建.uddi registries 提供了一个机制,以一种有用的方式来阅读,发现web服务以及它们之间的相互作用.uddi是一个包括轻量级数据的注册库,作为注册库,它的主要目的是提供他所描述的资源的网络地址。uddi草案的核心概念是uddi业务注册库(ubr),这是一个用来描述业务实体和他的web服务的xml文档。从概念上说,uddi业务注册所提供的信息包括三个相干的组成部分:“白页”、“黄页”、“绿页”3。白页包括地址、联系人的联系方式,以及其余的一些相关信息。黄页基于行业分类法对信息加以分类。绿页的内容则主要关于服务的业务能力和相关信息,包括对web服务规范的引用和指向各种基于文件和基于url的发现机制的指针。使用uddi注册库,企业能够发现潜在的合作的同伴以及有关这些合作伙伴的基本信息(通过白页);能够发现依据具体行业进行分类的公司(通过黄页);以及如何与提供服务的企业进行联系(通过绿页)4。基于存储在uddi注册库中的信息,应用和开发者可以确定:业务实体代表谁;他们做什么;所提供的服务位于哪里;以及如何访问这些服务。 uddi是按标准化的模式进行设计的,它不受任何技术的限制。换句话说,uddi注册库中的条目可以包含任何类型的资源,无论这些资源是否基于xml。例如,在uddi注册库中,可以包含企业电子文档(edi)系统的有关信息、dcom或corba接口的有关信息。他们的相关信息也可以包含在uddi注册中。这意味着,虽然uddi使用xml表示他所存储的数据,但是也可以注册其他类型的技术。因为uddi使用soap作为他的传输层,所以无论在设计的时候还是运行时,企业都可以使用基于soap的xml api调用与uddi进行交互,从而发现企业服务的相关数据。因此,企业能与服务提供者连接,并调用和使用服务提供者所提供的服务。uddi注册库与目录的主要不同点在于:uddi提供了按照分类法对业务和服务进行分类的一种机制。例如,服务提供者可以使用分类法来表明:服务实现了一个具体的领域标准,或者对于一个具体的地点提供了服务,由于uddi采用了标准的分类系统,因此可以基于分类法来发现相关信息。基于分类,客户可以更容易地发现与他们的具体需求相匹配的服务。一旦完成web服务的开发并将其部署后,在诸如uddi这样的注册库中发布该服务就变成了一项重要的任务,以便一些潜在的客户和服务开发者能够发现该服务。开发人员经过uddi机制查找散布在互联网上的web服务,在取得其wsdl文件后,就可以在本人的编程中以soap调用的格式申请相应的服务了。各种规模的各个行业或企业都将得益于 uddi。uddi 标准能够帮我们处理一些问题:1使得在数百万的在线的企业中发现正确的企业成为可能;2定义一旦首选的企业被发现后如何启动商业;3扩展新客户并增加对客户的访问;4扩展销售并延伸市场范围;5满足用户驱动的需要,为在全环球 internet 经济中迅速协作的进入,并肃清阻碍。3 需求分析本章从系统开发的可行性分析,需求分析方面对系统开发的初期工作进行介绍3.1可行性分析uddi是按标准化方式进行设计的。并不受限于任何技术。换句话说,uddi 注册库中的条目可以包含任何类型的资源,无论这些资源是否基于xml。而基于uddi的web服务注册中心的设计主要是在myecilipses 开发环境中完成web服务的注册中心的模型。为了确定该设计具备的可行性,对本次设计进行了以下四个方面的分析讨论。(1) 经济可行性。经济可行性主要是对本设计的经济方面做出评价。本系统对系统开发者来说并不需要太高的成本支出,支出在可控范围之内,并且开发周期又不是非常长,故而省了人力、物力、财力资源,所以本设计在经济上是可行的。(2) 技术上的可行性。技术上的可行性研究主要是剖析技术条件能不能顺利完成开发任务,硬、软件能不能满足开发者的需要等。在软件方面,本系统采用的是java语言,利用myeclipse开发平台。经过剖析,在软件和硬件方面以及现有的设备和环境能够完成系统的设计,因而具备技术上的可行性。(3) 时机可行性。时机可行性是剖析系统开发的时机,现在到底是成熟还是不成熟。目前越来越多的应用程序都在逐渐的转向面向web的开发,而且internet也在普遍的运用,因而系统的设计具备机遇上的可行性。(4) 管理上的可行性:主要是管理人员到底支不支持现在的管理制度和办法科学不科学,规章制度齐全与否,原始数据正确与否等。系统的开发最重要的就是为了便于服务的管理,增补如今当前服务管理方式的缺点,因而,具有了管理上的可行性。经过对于经济、技术和操作等方面的进行的分析,我们得出这样一个结论:基于uddi的web服务注册中心的设计建设系统是目前各个行业所需要的,具有很大的发展空间,因此可以确定本系统的开发是完全有必要的,而且是可行的,是可以立项开发。3.2功能分析该系统在功能上应做到操作简便、界面清晰、完全控件式的页面规划,使得web服务的设计更加简单化。 系统运行会更迅速、更巩固、更高效和可靠。在结构上应具备很好的可扩充性,以便于未来的功能扩充和保护。图31系统框架图3.3 模块结构图图32 注册中心系统模块图4 总体设计经过需求分析之后,进入系统设计阶段,系统设计一般又称总体设计或初步设计。根据需求分析阶段的任务,我们对于该系统的了解,以及“做什么”应该明白,现在是决定“怎么去开始做”的阶段,同时确定系统中的每个程序应该由哪些模块组成以及他们之间的相互关系。4.1 系统结构我们经常使用的数据库分为两种结构:c/s和b/s。c/s又称client/server或客户/服务器模式。b/s是brower/server的缩写,客户机上只要装置一个浏览器(browser),如netscape navigator或internet explorer,服务器安装oracle、sybase、informix或 sql server等数据库。浏览器通过web server 链接数据库来使数据交互。 本系统采用无终端b/s的结构设计而成,基于web即可实现管理,优点如下。 方便性:无论你在哪儿?什么时候?只要能与因特网连接,您就可以进行工作。 易用性:不需要任何复杂和繁杂的操作学习,没有任何模糊和难懂的操作指令,用户舒服的界面使初次使用者通过帮助文档就能够掌握使用此系统的方法。4.2 开发及运行环境本系统采纳无终端b/s结构设计而成,基于web即可完成管理。在此基础上配有myeclipse ,jdk,apache-tomcat等相关软件构成。4.2.1 jspjsp即java server pages,是由sun micro system公司于1996年6月推出的新技术,是基于java servlet以及整个java体系的web开发技术5。其好处就是能够将内容的生成和显示进行区分、生成可反复使用的组件、采纳标识简,方便化页面进行开发。jsp能提供所有servlet的功能6。jsp的基本语法jsp的脚本元素主要包括:注释、表达式、声明、scriptlet(小脚本)。jsp的注释包括html注释和隐藏注释两种。声明就是在jsp程序中声明合法的变量和方法,并且将这个声明用在表达式或scriptlet(小脚本)中。声明的基本语法格式如下:script(小脚本)用于在jsp源文件中嵌入一个有效的java程序段,当页面被请求时这个java程序段被执行。而且,scriptlet还能够和页面中的静态元件组合起来建立动态生成的页面。4.2.2 servlet概述java servlet(或称服务器小应用程序)是一种用来提供动态内容服务的技术,是用java语言编写的、协议和平台都独立的服务器端组件。servlet可以像cgi脚本一样扩充web服务器功能,但是servlet占用的密集资源很少,不像那些用cgi脚本编制的站点那样,由于访问量急剧上升,性能急速下降。同时,因为servlet在服务器内部运行,图形用户接口根本用不上。servlet api为servlet提供了相同的编程接口。servlet程序是用java servlet api开发的一个准则的java扩展,但不是java中心框架的一部分。编写servlet已经没有必要像cgi脚本一样,不需要关注servlet是如何装载的;servlet运行在什么样的服务器环境中;或者用什么协议来传输数据的等。此时因为servlet是用java编程写的,具备良好的跨平台性能,servlet能够嵌入到各种各样的web服务器中。servlet可以相当有效率地替代cgi脚本:它可以方便地产生容易编写而且运行较快的动态文本,可以很方便地调试寻找出程序出错的问题所在6。servlet的工作流程图如图4.1所示。图41 servlet工作流程图servlet工作流程:a)客户端发送申请信息至服务器。b)服务器将申请信息发送至servlet。c)servlet生成反映的内容并将其传给servlet。内容动态生成,经常决定于客户端的请求。d)服务器将反映的信息前往至客户端7。4.2.3 javabean概述在java模型中,经过javabean可以无限制的扩展java程序的性能,经过javabean的组合可以迅速生成新的应用程序。javabean具备以下特点6:a) 能够完成代码的多次使用。b) 无论在java的哪个平台上都可以开始任务,不需要从新编译。c) 可维护性、可应用性、可编辑性。d) 能够以其它部件的方式进行运行。e) 能够在内部网或者网络之间运行传输。javabean在jsp程序中被来封装事务的逻辑和数据库操作等,能够很好的实现业务逻辑和前端程序的分隔,使得系统具备更好的健壮性和灵活性8。4.3 体系结构4.3.1 web的服务技术架构web服务技术是在应用程序间基于标准的因特网协议进行协作,不需要人的直接干预。借此,许多业务操作将变得自动化,业务开展方式是创建新的功能效率及新的更有效的。web服务范式对基础架构的要求并不高,他的目标就是保证无论在什么平台上什么技术和编程语言都可以完成web服务的访问。事实上,web服务的访问方式并不是唯一的,它是代表了好多类相关的技术。web服务的一个被广泛接受的定义基于如图42所示,一套具体的补充标准。同时,如图42所示,这些工作也导致了大量的新准则,新术语的诞生。为了使问题简便化,我们对web服务技术架构的一些重要准则进行了分类,并作简要介绍。图42 web服务技术架构4.3 .2 jsp网站开发模式 目前,jsp技术已经成为了一种受各种企业喜欢的动态网页开发技术。越来越多的技术人员也渐渐成为jsp技术的支持者。jsp技术正是利用了java的“一次性开发,多次使用”的性能,也变成了网站开发技术人员的最认可的技术。当然,jsp技术的最大好处在于可以将页面的表现形式和页面的商业逻辑间隔开。jsp网站开发技术标准提供了两种开发形式:一种是jsp +javabean开发模式;一种是jsp +servlet +javabean开发模式。jsp +javabean模型图如图4.3所示。图4.3 jsp +javabean模型图在这种模型中,当我们解决大型业务时,页面程序将变得十分地复杂,这也给设计和保护带来艰难的任务。jsp + servlet+ javabean模型图如图4.4所示。图4.4 jsp +servlet +javabean模型图servlet技术是一种采纳java技术来完成cgi功用的一种技术。servlet是运行在web服务器上,用来生成web页面。servlet技术十分适于服务器端的解决和编程。在此种开发方式中,jsp技术用来显示页面,该页面中没有任何的商业解决逻辑,经过servlet技术来实现大批的事物解决工作。4.4 eclipse,tomcat简介eclipse最早是由oti以及 ibm两家公司的ide产品开发组创立的,ibm提供了最初的eclipse代码基础,包括platform、jdt和pde。eclipse是一个公开性的源代码的软件开发项目,它专门为高度集成的工具开发提供一个全功能的、具备商业品质的平台。由eclipse项目、eclipse工具项目和eclipse技术项目三个项目形成10。现在,基于web服务的运用逐渐增多,而传统的html满足不了现在的需要。因此须要一个交互式的web,于是便诞生了各种的web语言。如asp,jsp,php等。当然,这些语言与传统的语言有着紧密的不可分割的联络,如php基于c和c+语言,jsp基于java语言。tomcat则是一个基于jsp和servlet的应用平台57。tomcat是一个公开的免费性质的serlvet容器,是由他们的jakarta项目中的一个中心项目,由apache,sun和其它的一些公司以及个人合作开发而成的。5 详细设计5.1 uddi协议的数据结构 uddi数据结构共定义了六种数据结构描述web服务的相关信息,在这主要介绍四种:businessenitity,tmodel,businessservice,bindingtemplate。无论是在公共域中还是在防火墙后面使用,uddi注册库都提供了对web服务进行分类,编目,管理的机制,从而可以发现和使用那些web服务。无论是出于电子商务还是其他目的,无论是在设计的时候还是运行时,业务和提供者都能够以标准的方式(诸如将查询发送到注册库)使用uddi来表示web 服务的相关信息。在下列场合中,都可查询到注册库:1. 发现web服务实现,这些实现都是基于公共的抽象接口的定义。2. 发现web服务提供者,这些web服务提供者都是按照分类模式或标识系统进行分类的3. 基于常规的关键字搜索服务。4. 确定一个特定的web服务所支持的安全性和传输协议5. 将web服务的技术信息存入到注册库,并在运行时进行信息的更新。5.2 服务结构信息的描述1.businessenitity 包含元素,是的具有唯一行的业务标识符。的属性值是uuid。当第一次创建,uddi注册库自动生成该uuid,并将其赋给.诸如、和这样的实体也包含uuid键。基于一个或多个属性,潜在的合作伙伴可以搜索uddi,并确定匹配企业的位置。图51 businessentity元素2 businessservice实体的服务键唯一地标识了实体。属于唯一地标识了。是的提供者。当注册服务时,运营者节点指派了服务键。每一个元素都包含在一个中。图 52 businessservice元素3. bindingtemplate 当定义结构时,设计者声明元素或元素,但不能同时声明这两个元素。元素是一个指向服务进入点的属性指针。换句话说,元素提供了web服务的精确地电子地址。有效的接入点值能够包括url、电子邮件、甚至一个电话号码。有一个属性,可帮助搜索与特定服务类型相关的进入点。图53 bindingtemplate元素4.tmodel 对于使用web服务的应用程序,可以将web服务注册为,从而提供了一种灵活的设计模式。例如,对于提供的订购单的web服务,可能有一个标准的接口。假设许多提供者可以创建实现了标准接口的服务,则客户端可以从uddi注册库中搜索到提供这些服务的公司列表,并可以基于一定的标准(诸如成本、响应时间等)选择最合适的web服务提供者。此外,假如一个客户端使用了一个可选的服务提供者的订购单服务,并发现由于某些原因该服务不可用,则客户端应用可以动态地在uddi注册库中查询实现了相同接口(例如,具有相同的)的另一家公司,并使用新的服务提供者的服务取代原先的服务。图54 tmodel元素5.2 部分功能模块介绍1.对uddi进行部署import java.io.serializable;import java.util.vector;import org.w3c.dom.element;import org.w3c.dom.node;import org.w3c.dom.nodelist;public abstract class uddielement implements serializable public static string generic = 2.0; public static string xmlns = urn:uddi-org:api_v2; public static string xmlns_prefix = uddiv2:; public static string soapns = /soap/envelope/; public uddielement() public uddielement(element el) throws uddiexception / check that if an exception should be thrown if (uddiexception.isvalidelement(el) / looks like a fault, process and throw throw new uddiexception (el, true); abstract public void save to xml(element base); protected string gettext(node el) nodelist nl = el.getchildnodes(); string result = ; for (int i = 0; i nl.getlength(); i+) if (nl.item(i).getnodetype()=node.text_node) result += nl.item(i).getnodevalue(); / trim result, to remove whitespace. return result.trim(); public nodelist getchildelementsbytagname(element el, string tag) / do not traverse the tree. only search within the immediate / child nodes. nodelist children = el.getchildnodes(); vector result = new vector(); for (int i = 0; i 0) tmp = (element)nl.item(0); faultcode = gettext(tmp); nl = el.getelementsbytagname(faultstring); if (nl.getlength()=0) / handle possible dom level 2 response nl = el.getelements by tagnamens (uddielement.soapns, faultstring); if (nl!=null & nl.getlength()0) tmp = (element)nl.item(0); faultstring = gettext(tmp); nl = el.getelementsbytagname(faultactor); if (nl.getlength()=0) / handle possible dom level 2 response nl = el.getelements by tagnamens (uddielement.soapns, faultactor); if (nl!=null & nl.getlength()0) tmp = (element)nl.item(0); faultactor = gettext(tmp); nl = el.getelements by tagname(detail); if (nl.getlength()=0) / handle possible dom level 2 response nl = el.getelementsbytagnamens(uddielement.soapns, detail); / try to create a disposition report if (nl!=null & nl.getlength()0) tmp = (element)nl.item(0); detailelement = tmp; if (createdispositionreport) try nl = el.getelementsbytagname(dispositionreport.uddi_tag); if (nl!=null & nl.getlength()0) tmp = (element)nl.item(0); dispositionreport = new dispositionreport(tmp); catch (uddiexception e) / ignore exception, were handling it already public static boolean isvalidelement(element el) /is this a soap fault? return el.getnamespaceuri().equals(uddielement.soapns) & el.getlocalname().equals(uddi_tag); / getters public string getfaultcode() return faultcode; public string getfaultstring() return faultstring; public string getfaultactor() return faultactor; public string getdetail() return detail; public element getdetailelement() return detailelement; public dispositionreport getdispositionreport() return dispositionreport; protected string gettext(node el) nodelist nl = el.getchildnodes(); string result = ; for (int i = 0; i 0) org.uddi4j.response.result result = (org.uddi4j.response.result)dispositionreport.getresultvector().elementat(0); if(result!=null) return result.geterrinfo().gettext(); return getfaultstring(); 6 uddi发现uddi api是一个接口,可以接受封装在soap信封中的消息。所有的uddi交互都使用请求/响应模式。在请求/响应模式中,每一个消息请求uddi注册库的服务,并生成一些类型的响应。uddi规范支持两类消息交换:查询和发布。能够利用查询api来寻找和读出uddi注册库中的数据,也可以利用发布api来添加、更新和删除uddi注册库中的数据。6.1 查询api使用查询接口,请求者可以从uddi注册库中获取信息。通过查询,企业可以发现满足一定要求的业务、服务或绑定(技术特性)。对于特定的查询,将会返回与搜索要求相匹配的或信息。uddi查询api有两类使用模式:浏览和下钻。譬如,开发者能够利用浏览模式(发现api调用)来取得满足相对宽泛的查询规则的进入点、办法或者技术特性,然后使用下钻模式(获取api调用)来取得更具体的功能部件。例如,在一个具体的类别领域,可通过find_bussiness调用来定位各种行业,然后通过get_bussinessdetail调用来获取某一具体业务的更多的信息。通过浏览模式,在注册库中可以搜索满足一定要求的数据结构。在浏览模式中,可以使用下列5个操作:find_bussiness、find_relatedbusiness、find_service、find_binding和find_tmodel。对于那些满足搜索要求的一个或多个实体,通过find_business操作可以确定这些实体的位置。搜索要求可以包括类别、标识符、或等。可以通过业务名的一部分、业务标识符、类别标识符、服务的技术指纹等进行搜索。find_bussiness操作将会返回相关业务的一个简要列表,包括她们的键、名字、描述,以及的名字和相关的键。对于与业务实体相关的注册,find_relatedbusiness操作可以用来确定与业务实体相关的的注册信息的位置。对于所指定的企业,find_relatedbussiness操作将返回与该企业具有可见的关系的所有业务的列表。按照元素,该操作可以在相关的所有业务集中进一步搜索一个子集。find_service操作将可根据类别、或者两者进行搜索,并返回与搜索条件相匹配的所有业务服务入口的列表。在注册业务中,可使用find_binding操作来确定具体绑定的位置,该操作将返回满足搜索条件的所有。绑定模板含有调用服务所需的信息。find_tmodel操作将返回一个列表,这些将于请求消息中所列出的名字、标识符或类别相匹配。find_tmodel 操作将返回键的一个简要列表。 在下钻的uddi用法模式中,可以根据唯一标识符来请求具体的数据结构。根据请求消息中的唯一标示符的数量不同,下钻操作或get操作将返回一个或多个类型的数据结构。下钻模式使用下列5种方法:get_businessdetail、get_businessdetailext、get_servicedetail、get_bindingdetail和get_tmodeldetail。get_businessdetail方法根据唯一性的业务键来请求一个或多个数据结构。对于一个或多个业务实体,该操作将返回整个对象。get_businessdetailext操作等同于get_businessdetailext操作,但是假如原注册库不是一个运营者节点,get_businessdetailext操作将会返回一些额外的属性。通过具有唯一性的服务键,get_servicedetail操作可请求一个或多个数据结构。对于一个特定的业务服务,get_servicedetail操作将返回完整的对象。通过具有唯一性的绑定键,get_bindingdetail操作可请求一个或多个数据结构。get_bindingdetail操作返回运行时调用业务服务的方法所需的绑定信息(结构)。最后,通过具有唯一性的键, get_tmodeldetail操作可以请求一个或多个数据结构,并将返回有关的详细信息。图61 findbusiness类图62 find_service类图63 find_relatedbusinesses图64 find_tmodel类6.2发布api经过发布接口,企业可以把包含在uddi注册库中的信息进行存储和更新。uddi站点使用发布功能来管理提供给请求者的信息。通过发布api,应用程序可以保存和删除这几种数据结构、和。服务提供者和企业可以使用这些调用在uddi注册库中发布(或取消发布)服务的有关消息。与查询api不同,使用这些发布api访问注册库需要得到授权。 发布api支持四类操作:授权、保存和获取操作。通过授权操作,客户端可以获得相应的访问权限、获取授权令牌、终止会话和他的授权令牌。通过保存操作,客户端可以添加或更新基本的uddi数据结构。通过删除操作,客户端可以删除基本的uddi数据结构。通过获取操作,客户端可以查看。有两类授权操作:get_authtoken和discard_authtoken。get_authtoken操作把客户端录入到注册库中。discard_authtoken阻止会话,并把注册库该客户端删除。为了开始一

温馨提示

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

评论

0/150

提交评论