UDDI :一种 XML Web 服务

2016-02-19 14:49 7 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐UDDI :一种 XML Web 服务,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

UDDI 查询示例(需要 Internet Explorer 5.x)
  通用描述、发现和集成 (UDDI) 服务(英文)目前可以直接运行于 Microsoft、IBM 和 Ariba。这是一种联机 Web 服务,可在应用程序中用来动态发现其他联机服务。该服务全部被巧妙地打包在一个简单的 XML 接口中。
  
  对于有经验的 XML 读者,在客户端应用程序和中间层服务器之间传递 XML 根本不是什么新鲜事。我们从 1998 年开始就这么做。但是,我们也很高兴能看到行业在这个方向上开发出象 UDDI 一样有用的其他服务。
  
  所以,让我们专注于基本事实。您真正需要了解的是可以向其张贴 XML 的 URL。我们经过努力,找到了以下三个 URL:
  
  http://uddi.microsoft.com/inquire
  http://uddi.ariba.com/UDDIProcessor.aw/ad/process
  http://www-3.ibm.com/services/uddi/inquiryapi
  它们是用于“查询”的 UDDI 入口点。用于更新的入口点与它们不一样,并且通常出于安全原因而使用 HTTPS 地址。
  
  张贴什么样的 XML?
  首先,XML 必须是 UTF-8(由 UDDI 项目精心简化)格式的,并且必须包装在 SOAP 信封中。SOAP 信封看上去如下所示:
  
  ?xml version='1.0' encoding='UTF-8'?
  Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'
  Body?lt;/Body
  /Envelope
  
  元素的内容可以是来自 uddi 架构(英文)的任何查询。例如,以下查询,当置于 SOAP 信封中时将返回有关 Microsoft 的详细信息:
  
  find_business generic="1.0" xmlns="urn:uddi-org:api"
   nameMicrosoft/name
  /find_business
  
  注意:我们将名称空间从 SOAP 名称空间切换到“urn:uddi-org:api”名称空间。在 find_business 查询中还可以执行许多其他操作。
  
  如何张贴 XML?
  您可以在 JScript 文件或 HTML 页面中使用 MSXML 提供的 XMLHTTP 控件,如下所示:
  
   http = new ActiveXObject("Microsoft.XMLHTTP");
   http.open("POST", url, false);
   http.setRequestHeader("Accept","text/xml");
   http.setRequestHeader("Cache-Control","no-cache");
   http.setRequestHeader("SOAPAction",'""');
   http.send(msg);
  
  在本例中,我决定做一个好 SOAP 公民,因而在 HTTP 标头中设置 SoapAction。因为每次我都需要动态结果,所以我还决定只接受 text/xml 结果,并且关闭所有缓存。当然,在附加的示例代码中,我是通过就绪状态变化回叫来异步完成这些操作的。
  
  返回什么内容?
  当然是 XML。在这种情况下,您获得当前为 Microsoft 注册的 businessInfo 元素的详细列表,包括有关 UDDI 服务本身的信息。
  
  businessList generic="1.0" operator="Microsoft Corporation"
   truncated="false" xmlns="urn:uddi-org:api"
   businessInfos
   businessInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   nameMicrosoft Corporation/name
   description xml:lang="en"以优秀软件给人力量——随时,随地,在任何
   设备上——这就是 Microsoft 的目标。作为
   全球领先的个人和商务软件厂商,我们致力于
   提供创新的产品和服务,满足我们客户的需求/description
   serviceInfos
   serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="1FFE1F71-2AF3-45FB-B7

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)D4-494F9E53F1D1"
   nameUDDI Web 服务/name
   /serviceInfo
   /serviceInfos
  /serviceList
  
  然后,您可用 serviceKey 来获得有关这项服务的详细信息:
  
  get_serviceDetail generic='1.0' xmlns='urn:uddi-org:api'
   serviceKeyD2BC296A-723B-4C45-9ED4-494F9E53F1D1/serviceKey
  /get_serviceDetail
  
  这将返回下面的 bindingTemplates:
  
  serviceDetail generic="1.0" operator="Microsoft Corporation"
   truncated="false" xmlns="urn:uddi-org:api"
   businessService businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1"
   nameUDDI Web 服务/name
   description xml:lang="en"基于 UDDI SOAP/XML 消息的可编程 Web 服务接口。/description
   bindingTemplates
   bindingTemplate bindingKey="313C2BF0-021D-405C-8149-25FD969F7F0B"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1"
   description xml:lang="en"产品 UDDI 服务器,发布接口/description
   accessPoint URLType="https"https://uddi.microsoft.com/publish/accessPoint
   tModelInstanceDetails
   tModelInstanceInfo tModelKey="uuid:64C756D1-3374-4E00-AE83-EE12E38FAE63"
   description xml:lang="en"UDDI SOAP 发布接口/description
   /tModelInstanceInfo
   /tModelInstanceDetails
   /bindingTemplate
   bindingTemplate bindingKey="A9CAFBE4-11C6-4BFE-90F5-595970D3DE24"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1"
   description xml:lang="en"产品 UDDI 服务器,查询接口/description
   accessPoint URLType="http"http://uddi.microsoft.com/inquire/accessPoint
   tModelInstanceDetails
   tModelInstanceInfo tModelKey="uuid:4CD7E4BC-648B-426D-9936-443EAAC8AE23"
   description xml:lang="en"UDDI SOAP 查询接口/description
   /tModelInstanceInfo
   /tModelInstanceDetails
   /bindingTemplate
   bindingTemplate bindingKey="3FE6C834-293E-4341-AF6E-41DC68949764"
   serviceKey="D2BC296A-723B-4C45-9ED4-494F9E53F1D1"
   description xml:lang="en"测试 UDDI 服务器,发布接口/description
   accessPoint URLType="https"https://test.uddi.microsoft.com/publish/accessPoint
   tModelInstanceDetails
   tModelInstanceInfo tModelKey="uuid:64C756D1-3374-4E00-AE83-EE12E38F

L 声明中的多余的空格。
  
  要使这些服务实现完全的互操作性,必须消除象这样的问题。我发现响应时间非常令人满意,但是数据的同步好象有一点问题。我希望同步问题会随着时间的推移而有所改善。
  
  总结
  如果您正在创建需要动态连接至外部业务伙伴所提供服务的应用程序,那么您无疑要考虑将您的应用程序连接至 UDDI 注册表。请将它想象为业务应用层的 DNS。有意思的是,您可以实时地添加、更改和删除访问点,从而解决 DNS 传播中一个星期或更长时间的延迟。
  
  许多人会问,在 UDDI 目录中找到一个公司及其注册服务后要怎么做。确实,UDDI 并不声称能解决每件事。企图说明包含已经创造的每项事物的主要的商家对商家协议,是一项非常繁重的任务,而且几乎不可能实现。UDDI 的理论是应用程序将知道如何使用某些知名的业务协议来开展业务,并且这些协议要以众所周知的方式来描述,以便您能够动态地查找支持该协议的其他业务。另外,您也可以拥有少量知名而可靠的全球业务伙伴,通过他们您可以简单地使用 UDDI 来查找由其提供的新服务。在这种情况下,您可能早已拥有其他的可靠通道,用于下载连接至每一项服务所需的适配器。
  
  总之,UDDI 确实在正确的方向上前进了一大步。
  
  
  
  
  

来源:http://www.tulaoshi.com/n/20160219/1608038.html

延伸阅读
标签: Web开发
XML是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂一个XML文件,理解它包含的内容。 .NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是Xm...
标签: Web开发
IBM的Kyle Brown在其评论文章开始描述了一种常见的情景:“许多人因以不恰当的方式使用Web服务和XML而给他们自己挖了一个坑”。在他的评论中,Kyle介绍了三个常见的痛点,解释了它们为何会发生并提供了一些替代方法。 我的消息吃了我的服务器!Kyle指出,通常,Web服务开发者开始经历“内存溢出”的错误或者奇怪的“性能问题”时,总...
标签: Web开发
全局XML Web服务体系结构(Global XML Web Services Architecture,下面简称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准。相当多的大公司正在GXA的幕后进行合作,包括微软和IBM。GXA的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中。虽然在过去的几年中,已...
标签: PS PS教程
本教程由中国 第一印相 原创,转载请保留此信息. screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0>  screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}...
GO省电:LBS是一种工具而非一种模式   图一 GO省电 初次安装后有简单的功能指引,方便用户快速上手。 图二 功能指引 图三 功能指引 一、界面简洁、大气 GO省电界面以黑色为主体颜色,配以蓝、白两色字体及按钮,给人一种简洁、大气的感觉。从界面上看,GO省电包括快速优化、情景模式、智能省电和设...

经验教程

901

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部