UDDI初了解

  在文章内容开始之前,先来看看一张图:
在这里插入图片描述
  从上面这个图看得到UDDI好像就是一个中转站,来满足使用者和生产者之间的供求关系。那传输的信息是什么?UDDI是怎么实现传输的?下面这篇文章就会给出解释

1.UDDI是什么?

  首先介绍下UDDI的全称:Universal Description Discovery and Integration,统一描述发现和集成协议规范
  文字性的定义:UDDI是一种用于描述、发现、集成Web Service的技术,它是Web Service协议栈的一个重要部分。通过UDDI,企业可以根据自己的需要动态查找并使用Web服务,也可以将自己的Web服务动态地发布到UDDI注册中心,供其他用户使用。
  看上面的定义可能还是有点儿迷糊,首先要明确UDDI是和Web服务有关的。自从有了Web以后,大家就可以通过Web去共享服务。那作为毫不相关的几个整体要想能够相互交流据需要一个统一的标准(专业一点儿就是在线企业和服务注册的一个规范),UDDI就是干的这件事。只要按照UDDI提供的标准进行,就能够进行服务之间的交流。这里面的交流包括两个方面:使用别人的服务和上传自己的服务供别人使用。所以也有说法说UDDI是web服务的基石。
  UDDI本身是开源免费的,由UDDI社区管理。最开始有专门组织维护,但随着时代的发展慢慢退出了历史舞台。虽然不作为主流了,但是各个厂商在开发时还会把它作为标准进行兼容。

2.UDDI的特点

  上面对UDDI有了一个简单的认识,下面再来看看UDDI的几个特点:
  1)平台无关
  这里的平台包括:Linux/Unix/Windows,基本涵盖了如今所有的主流平台。
  2)开放体系
  这个特点是符合开源的,UDDI标准本身是开放式标准,增加额外补充不需要进行授权,不必支付任何费用就可以使用UDDI进行企业注册服务。这点帮助UDDI在全世界范围内广受推崇,并且发展迅速。
  3)兼容一些流行标准
  UDDI本身作为web服务的基石,和其他的服务都有所关系。现在主流使用W3C和IETF标准设计,如XML、HTTP、DNS和SOAP。WSDL和SOAP目前是web服务中比较流行的词,UDDI和它们都能提供一些融合。UDDI+WSDL(Web Service Definition Language)实现web服务的查找,UDDI+SOAP(Simple Object Access Protocol)实现web服务的绑定。这些东西被组合起来形成下面的互操作协议栈
在这里插入图片描述
  其中XML保证跨平台传输,SOAP和TCP/IP保证简单有效传输
参考:https://baike.baidu.com/item/UDDI/2901586?fr=aladdin

3.UDDI内容

  对UDDI有一个模糊的概念后,再来从内容上剖析一下:
  对UDDI包含的内容可以分成两部分:
  1)注册服务
  注册服务称得上是UDDI最核心的内容了,毕竟UDDI的目的就是为了帮助使用者进行服务间的沟通。UDDI实现服务注册功能在服务注册中心(UDDIRegistry),它是所有提供公共UDDI注册服务的站点的通称。

  啥是站点呢?原来每一个提供服务的实体都可以被认为是一个站点。这样服务之间的交流就变成站点之间的信息传输了。不同站点之间使用的是P2P(Peer to Peer)的架构实现,有了这个特性,访问一个站点相当于访问整个UDDIRegistry。也正是因为P2P的结构,服务注册中心也被称为逻辑上集中,物理上分布式。
  ps:也有的说法是把站点叫做入口(Uddi operator Site),入口上有注册的用户,用户可以提供服务和使用服务。查询是都可以的,但是发布只能是属于该入口的用户才能发布。但我觉得两者差距并不大。主要思想是一致的。
  同时UDDI 注册中心存储了关于企业的信息、这些企业提供的服务以及有关这些服务的技术信息。从搜索信息来看,UDDI注册中心和搜索引擎很像。用来搜索INTERNET上可用的WEB SERVICE以及相关SERVICES的具体信息用的协议

  2)数据模型
  有了注册中心,那经过UDDI标准提供的数据是啥样的呢?主要可以被分为三类:
  白页:企业实体列表,包含企业的基本信息(企业名称、企业联络信息、企业标识描述)
  黄页:行业分类信息,按照分类进行信息排布。帮助更快的根据需求锁定企业(这个黄页就有点儿像搜狐新浪这种门户网站的前期,都是指向其他地方的超链接)
  绿页:服务关联的绑定信息(包括该企业提供的WebService的技术信息,内容形式多种,一般以URL指针指向技术文件,即调用服务时的说明文档)
  其实上面三个都是相互关联的,如果想使用啥服务先去黄页上找公司,通过白页确定下公司信息,等到具体使用的时候看绿页。

4.UDDI的应用模型

  了解完基础知识,再看看它的具体应用:
  从抽象的角度看,UDDI应用模型是CS结构(客户端提出需求,服务端进行响应),如下图所示:
在这里插入图片描述
  下面这张图比较具体的描述了工作流程,具体的不再细说。从这个流程图上可以很明显的看出UDDI提供的功能以及基于此提供的整体服务。在这里插入图片描述
  下面再从技术实现的角度看一看UDDI具体的注册过程
  UDDI信息模型:用于UDDI注册,由XMLSchema定义,目的是为了保证技术人员在使用合作伙伴提供的web服务时必须了解的技术信息,内部包含四类:
  商业实体信息:businessEntity(建立企业信息模型)
  服务信息:businessService(描述服务)
  服务调用规范:tModel(描述规范、分类、标识)
  绑定信息:binding Template(businessService,tModel做映射)

四类之间的关系如下图:在这里插入图片描述
  那作为使用者,如何去使用呢?
  网上注册的共享功能,如果程序员想使用某个web服务,可以通过UDDI去查询对应服务实现的技术接口即可。搞明白以下几个问题:
  1)who:企业的基本信息
  2)what:行业代码和产品分类信息,web服务描述性信息
  3)where:访问每种服务的注册信息,服务路径
  4)how:服务接口如何使用

  前文说到Uddi现在以及成为历史了,公共UDDI注册中心早在2006年就已经关闭了UDDI最新版本,当初开发到了第三版。关于UDDI的消亡,网上说有三点原因:
  1.整体过于复杂
  2.忽视了其中安全问题
  3.在管理和收取小额付款方面存在困难

  虽然公共的UDDI注册中心不在了,但是Apache提供了java实现的JUDDI项目,可以实现UDDI功能,关于juddi的介绍请看这篇文章::juddi实验过程

参考资料:
UDDI基础知识_XD1998的博客-CSDN博客_uddi
理解 UDDI(我见过最好的) - 百度文库 (baidu.com)
UDDI (统一描述、发现和集成协议)总结 - 知乎 (zhihu.com)
uddi学习总结 -boldeagle-ChinaUnix博客
UDDI简介 - never give up! - ITeye博客
【SOAP-WebService系列】历史产物UDDI是什么、长什么样,以及UDDI的发展过程、退出原因_无数_mirage的博客-CSDN博客

因作者水平有限,如有错误之处,请在下方评论区指正,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值