UDDI技术白皮书(一)

日期: 2008-09-18 作者:阮文骏柴晓路 来源:TechTarget中国 英文

  摘要:统一描述、发现和集成协议(UDDI)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。


  Web服务是下一代的WWW,它允许在Web站点上放置可编程的元素,使得能进行基于Web的分布式计算和处理。UDDI商业注册中心的创建目的就是为促进企业的Web服务的发展及为企业发现适当的Web服务。本文描述了这些基于Web的UDDI商业注册中心的能力。


  本文针对的读者群包括所有想要从概念上理解什么是UDDI,谁来使用UDDI,以及分布式的商业注册中心如何使得程序能发现别的商业实体在Web上提供的Web服务并且同这些服务进行交互。


  简介


  概览


  统一描述、发现和集成协议(UDDI, Universal Description, Discovery and Integration)标准定义了Web服务的发布与发现的方法。所谓的”Web服务”,它是指由企业发布的完成其特别商务需求的在线应用服务,其它公司或应用软件能够通过Internet来访问并使用这项在线服务。


  Web服务将逐渐成为电子商务应用构建的基础体系架构。例如,一个公司通过另一个公司所提供的服务,直接在Internet上发送一份订货单。又例如,某一个服务用于计算某一尺寸或是重量的货物通过某种方法(如海运)运输一定距离需要花费多少费用。


  最初,大家可能会将它看做是一个管理如何发现Web服务的过程。其实,如果现有的商务合作伙伴已经有了一个已知的电子商务入口,那还有什么需要发现的呢?当然这是建立在一个默认的假定情况”信息都是已知的”这样一个基础上的。而且无论在哪种情况下,当需要找出哪些商业伙伴可以提供什么样的服务时,快速地发现并找到答案仍然将会变得十会困难。其中一个可选的方法是使用电话和每个合作伙伴进行联系,然后找出合适的对象。对于一个提供Web服务的商业实体来说,需要配备具备相当技术能力的专业人员去满足这样随机的服务发现需求显然是不合适的。


  另一个解决该问题的办法是在公司的每个网站上放置一个Web服务的描述文件。这样,至少那些依靠已经注册的URL 来工作的网络爬虫程序能够发现并为它们建立索引。可是这种通过”robots.txt”来定位Web服务的方法完全依赖爬虫程序的能力。这种分布式的机制是可扩展的,但它缺少一种机制来保证服务描述格式的一致性,也不能便捷的跟踪不断发生的变化。


  UDDI提供了一种基于分布式的商业注册中心的方法,该商业注册中心维护了一个企业和企业提供的Web服务的全球目录,而且其中的信息描述格式是基于通用的XML格式的。


  UDDI的商业注册与UDDI商业注册中心


  UDDI计划的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的Web服务。从概念上来说,UDDI商业注册所提供的信息包含三个部分:”白页(White Page)” 包括了地址,联系方法,和已知的企业标识;”黄页(Yellow page)”包括了基于标准分类法的行业类别;”绿页(Green Page)”则包括了关于该企业所提供的Web服务的技术信息,其形式可能是一些指向文件或是URL的指针,而这些文件或URL是为服务发现机制服务的。所有的UDDI商业注册信息存储在UDDI商业注册中心中。


  使用UDDI


  UDDI规范包含了对基于Web的UDDI商业注册中心可以实施的整套共享操作。一般来说,程序或程序员通过UDDI商业注册中心来获得Web服务的位置及其技术信息。其中对于程序员来说,是对自己的系统实现进行准备,以使自己的系统能和那些Web服务实现访问兼容,或是描述自己的Web服务从而能让别人使用。从商业层次上来说,UDDI商业注册中心可以被用于核查某个合作伙伴是否拥有特定的Web服务的调用界面,或是去找出在某一个行业中能提供某种类型服务的公司,并确定某一个合作伙伴或是潜在的合作伙伴的Web服务的技术描述以了解要与该Web服务进行交互所必须的技术细节。


  阅读过本文后,读者能对UDDI规范所定义的能力以及依据该规范实现的Web服务注册中心的角色认识有一个非常清晰的了解。


  背景


  各个公司在如何使用Web的方法上存在很大程度上的差异。许多公司开始利用新出现的Web基础构架技术来定义他们的内部应用与其它公司的商务系统进行交互的方法。如果他们都独立的实现应用,那么每个公司都将根据他们的设计者的经验、现有技术和项目预算,得出他们自己独有的一套解决方法。于是产生的必然结果就是,当需要完成这些分布于不同行业中的各种系统的互相交互时,需要将各不兼容的部分进行拼接集成,这将耗费巨大的代价。


  W3C近期来的工作让我们看到了希望,XML(Extensible Markup Language 扩展标注语言)将会对简化企业之间的商业数据交换起到很大作用。而且,计算机工业的巨头们和很多其它小公司一起,推出了SOAP,这项技术使应用程序可以通过Internet调用各种服务的界面,而无须考虑使用的具体是什么样的编程语言以及底层使用的分布式对象结构。这些振奋人心的消息使得诸多公司认识到,原先由于电子商务的交互标准的不同而产生的交互代价已经显著降低了。因为有了这些技术和标准,原来难以处理的问题,现在变得容易解决了。


  借助XML和SOAP,集成和交互的问题将从层次上被简化。XML提供了跨平台的数据编码和组织方法,而SOAP建立在XML之上,定义了一种跨系统平台的信息交换的简单包装方法。绑定于HTTP之上的SOAP协议,可以跨语言、跨操作系统进行远程过程调用(RPC),实现了编程语言和系统平台的无关性。而以前的调用方式则和复杂的分布式对象标准或是中间件有密切的关系,从长期的眼光来看,这些都不是高效的解决方案。XML和SOAP这样的跨语言、跨平台的解决方案大大简化了不同企业系统之间的交互问题。


  但如果仅仅是XML和SOAP的话,对于公司间的交流仍存在着巨大的鸿沟。工业界的任何一个权威人士都会这样告诉你:”我们需要的是一种真正端到端的解决方案,它建立在任何计算机平台都支持的全球性标准之上。” 显然,要达到这一点还需要很多的努力。UDDI规范在XML和SOAP的基础之上定义了新的一层,在这一层次,不同企业可以用相同的方法描述自己所能提供的,并能查询对方所能提供的服务。


  以下图表描述了这些协议的层次关系:图1



  UDDI是为了实现Web应用服务诸多协议的”下一层”,使用诸如TCP/IP、HTTP、XML和SOAP标准,来创建统一的服务描述格式和服务发现协议。


  UDDI-技术发现层


  统一描述、发现和集成协议(UDDI)规范一个由Web服务所构成的逻辑上的云状服务,同时也定义了一种编程接口,这种编程接口提供了描述Web服务的简单框架。规范包括几份相关的文档和一份XML Schema,用来定义基于SOAP的注册和发现Web服务的协议。这些规范由来自多家业界主要公司的技术人员和管理人员花费了几个月的时间制定完成。这些公司也担负起实现第一批UDDI商业注册中心服务的任务,这些服务将可以被所有人所访问,同时其多个合作站点之间能够无缝地共享注册信息。


  图2描述了UDDI规范、XML Schema和UDDI商业注册中心集群之间的关系,UDDI商业注册中心集群能为Web服务提供”一次注册,到处发布”的功能。



  图 2
 
  UDDI规范和调用模式用来在Internet上建立起发现服务。这些发现服务提供了一致的发布接口,以使得能通过编程进行发现。


  通过使用UDDI的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的Web服务。企业可以通过UDDI商业注册中心的Web界面,或是使用实现了”UDDI Programmer’s API标准”所描述的编程接口的工具,来将信息加入到UDDI的商业注册中心。UDDI商业注册中心在逻辑上是集中的,在物理上是分布式的,由多个根节点组成,相互之间按一定规则进行数据同步。当一个企业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其它UDDI根节点,于是就能被任何希望发现这些Web服务的人所发现。


  下一步


  正如图1所示,UDDI并没有完成所有的发现服务所需要的特性。UDDI服务的目标是为了在技术上实现服务的发现。借助UDDI所定义的功能,程序或程序员能够定位到合作伙伴所提供的W服务的信息,知道对方是否提供了与自己的技术相兼容的服务,然后按照这些合作伙伴的Web服务所提供的调用标准进行集成并与之相容。企业也可以使用UDDI找到潜在的合作伙伴,或者说,更可能的情况是,从一个以UDDI为数据来源并加入自身增值服务的在线交易市场或搜索引擎中找到潜在的合作伙伴。由于技术上的兼容性是可以被发现的,所以软件提供商也可以借助UDDI注册中心,在用户安装软件或注册登记时自动配置某种技术连接。


  商业发现与UDDI


  UDDI的设计目的是作为对现有的在线交易市场和搜索引擎的补充,为电子商务和服务发现机制提供标准的格式。UDDI规范中没有直接涉及到具体的商业发现流程,例如找出一个以某一个给定的价格或在某一特定区域内的提供某种特定的产品或服务的企业。高级的发现特性需要买方和卖方更进一步的合作与设计。UDDI只是为定义这些上层应用提供了基础。



  图3
 
  图3显示了UDDI的技术发现层和商业发现层上的集成的或专用的搜索机制之间的关系。目前,在线市场和搜索引擎被用来完成这个功能,使用UDDI分布注册中心集群中的注册信息可以被利用于它们之间的集成,并促进它们自身的发展。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 联合创新,携手共赢 华为与Commvault签署全球合作联盟协议

    【中国,上海,2015年9月19日】在2015年华为云计算大会上,全球领先的信息与通信解决方案供应商华为与美国知名的数据管理软件及相关服务主要供应商Commvault签署全球合作联盟协议。基于合作协议,双方将会加大投入数据中心备份解决方案在云化环境下的“可服务化”技术研究 。Commvault公司全球业务发展副总裁Andreas May、华为IT数据中心解决方案总裁马力出席签约仪式。

  • API设计如龙生九子 各不相同

    IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。

  • 从头开始实现领域驱动设计

    领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。