Windows.NET下的UDDI开发指南((续)

** Windows.NET 下的 UDDI 开发指南 **


小气的神

2002.02.28

Article Type: In-Depth

难度等级: 5/9

版本: 2.03

[接上文]

好了至此我们完成了第二步的整个操作。不过上面操作中我们可以看到 [JaN 01] 有讨论 Visual Studio.NET 的 WebServices 的单一访问点问题。同样你也可以参考下面 [BCE 01] 、 [FNV 01] 、 [FNV 02] 中的文档资源了解更深一点的有关 UDDI 数据结构和规范的信息,这是今后你编程所必须的观念,不过我始终认为研究这文档充满痛苦和烦杂,希望对照上面的操作图至少可以获得一个生动的起点。

之后我们移动到 vsdotnet 这部机器上,来做一个查找和程序的例子,最后我们会讨论一下 Visual Studio.NET 下 Add WebService References 下 UDDI 支持的问题。首先我们在 vsdotnet 的 IE 窗口中输入 http://Datacenter/UDDI , 我们可以看到第二步所说的那个熟悉的 IE 窗口(当然出现这个窗口之前,我们需要经过 Datacenter 这部机器的一次授权验证),简单的测试一下,结果和在 Datacenter 上是一样的。由于这部机器上我们安装了 UDDI SDK 和 Visual Studio.NET 所以我们可以试一下 SDK 中带的 Sample - >UDDI Explorer 。这里需要从 [JaN 02] 获得启迪 , 从他的文章中可以发现代码中 http://localhost/uddi/api/inquire.asmx 的链接,而仔细看一下 UDDI 的安装目录你就会发现这个 asmx 的存在,其实它内部是一个 WebServices ,提供一些诸如 FindBinding , GetServicedetail , GetBindingDetail 等接口,看名字就知道它要干什么了。下面是运行的结果,看起来还不错,一切很顺利。

不知你是否也和我一样有这样的想法:认为只要在 UDDI 中登记的 WebServices ,在 Visual Studio.NET 中的 Add Web References 中,都将可以被 IDE 自动识别并且生成一个代理类。 [SeE 01] 中并没有特别的介绍这个细节,但 [SeE 01] 中完成登记后,在 Visual Studio.NET 中是和我们以前认为的一样,而且生成的代理类也确实有效,我按照文档上的说明去做,结果是成功的。但是对于我们上面第二步登记的 Web Services ,做类似的操作结果是不行的。

同样我去 IBM 的 UDDI 网站做同样的操作, Visual Studio.NET 依然无法感知已搜寻到 [SeE 01] 中说的 Web Services 并产生代理类。

结论是 Microsoft 做了一些特别的处理,使得能够更加容易的支持 Visual Studio.NET, 因为当你点击登记条目时,它很容易的定位到 http://uddi.microsoft.com/visualstudio/VSServiceResults.aspx?businessKey = xxxxx 的链接,从而被 Visual Studio.NET 找到产生代理类。只用 IDE 的开发人员很容易被 Microsoft 的把戏所迷惑,认为 UDDI 登记和产生代理类是一个范畴;而手工方式的却清楚的知道自己需要输入两行不同的命令。事实上在 IDE 或手工方式的编程之外,你需要对两者和整个的 UDDI 过程有清晰的了解和正确的概念。

除了 UDDI ,还有另外一个规范 WS-Inspection, 希望可以能够引起你的注意和兴趣。尽管目前它只被 Microsoft 和 IBM 支持,但事实上 WS-Inspection 对 UDDI 的补充,使得开发者会更容易喜欢上它。至于有关 WS-Inspection 和 UDDI 的关系,我想 [NaG 01] 是一个比较明了的说明,也是写作技巧让人着迷的一篇,可以不用一行代码说明两个抽象的概念。

下一步:

接下来需要继续你的 UDDI 征途脚步,令人喜悦的是 UDDI 本身也在不断的发展和扩充。无论如何我认为再多的 API 对于开发人员依然还会感到繁重和需要喘气,如果创建适用 Internet 和 Web Services 的感知应用程序是我们未来的任务,那么熟悉和精通这些是必要的选择。

至于程序级的注册接口和编程,你可以 Microsoft 下载 [UDDI SDK 2.0 Beta] , 而 Java 用户可以从 [SiL 01] 中的建议开始,感谢 Microsoft 和 IBM ,因为不是他们,开发人员现在还无法集中精力到重要的设计阶段。

至于测试环境,现在 IBM,Microsoft,HP,SAP 四家公司都提供公开的 UDDI 测试环境,并且按 [JaN 01] 的说法 IBM 和 Microsoft 会在 24 小时内相互复制各自的条目。而在 Windows.NET 环境下,你的测试将更加方便和容易,况且 Windows.NET 本身就让我着迷了 (haha) 。


** 相关资源和文档 : **

[JaN 01] Karsten Januszewski, 使用 UDDI 的 Web 服务描述和发现(第一部分) ,Microsoft Corporation ,2001.10.03

[SeE 01] Scott Seely, 使用 UDDI 的 Web 服务描述和发现(第二部分) ,Microsoft Corporation ,2001.10.17

[JaN 02] Karsten Januszewski ,在运行时使用 UDDI , Microsoft Corporation , 2001.12

[BCE 01] Peter Brittenham,Francisco Cubera,Dave Ehnebuske,Steve Graham 理解 UDDI 注册中心的 WSDL- 如何发布和查找 WSDL 服务描述 ,IBM Corporation, 2001.09

[FNV 01] 柴晓路 ,UDDI 注册信息的数据模型 ,IBM Corporation , 2001.06.07

[FNV 02] 柴晓路 ,tModel 体系和公共 tModel, IBM Corporation , 2001.06.22

[NaG 01] William A. Nagy,Keith Ballinger ,WS-Inspection 与 UDDI 的关系 ,IBM Corporation, 2001.11

[SiL 01] Alfredo da Silva, 服务注册代理 : 一个更高级的 API,IBM Corporation , 2001.11

[UDDI SDK 2.0 Beta]


特别:

以上软件 , 引文都已标明出处和所有者,请尊重版权和各自相关的条款。

本文 CSDN 署名首发,转载或改编请注明作者和出处。如果有问题,请发电子邮件给 [email protected]

以上文字和图片涉及其他人的隐私和个人权利,所有文字和图片只用于内部交流,不作任何新闻发表和商业用途。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus