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
特别:
以上软件,引文都已标明出处和所有者,请尊重版权和各自相关的条款。
本文CSDN署名首发,转载或改编请注明作者和出处。如果有问题,请发电子邮件给new2001@msn.com
以上文字和图片涉及其他人的隐私和个人权利,所有文字和图片只用于内部交流,不作任何新闻发表和商业用途。