Uddi(universal descriptionDiscovery and Integration) 是下一代基于WWW的企业实现它允许在Web站点上放置可编程的元素使得能进行基于Web的分布式计算和处理UDDI商业注册中心的创建目的就是为促进企业的Web服务的发展及为企业发现适当的服务这些服务又称为Web services它是指由企业发布的完成其特别商务需求的在线应用服务其它公司或应用软件能够通过Internet来访问并使用这项在线服务 如一个公司有一套计算汇率的服务那么它可以在任一UDDI注册中心注册然后指出这项服务的具体内容服务的收费服务的限制等其它的公司就可以在UDDI注册中心查到并与之联系而Internet是如此的广阔客户也会如潮水一般当然安全可靠性也是要值的考虑的 目前UDDI注册中心有IBMMicrosoft等UDDI商业注册它使用一个XML文档来描述企业及其提供的Web服务从概念上来说UDDI商业注册所提供的信息包含三个部分白页(White Page) 包括了地址联系方法和已知的企业标识黄页(Yellow page)包括了基于标准分类法的行业类别绿页(Green Page)则包括了关于该企业所提供的Web服务的技术信息其形式可能是一些指向文件或是URL的指针而这些文件或URL是为服务发现机制服务的所有的UDDI商业注册信息存储在UDDI商业注册中心中 UDDI的设计目的是作为对现有的在线交易市场和搜索引擎的补充为电子商务和服务发现机制提供标准的格式UDDI 规范中没有直接涉及到具体的商业发现流程例如找出一个以某一个给定的价格或在某一特定区域内的提供某种特定的产品或服务的企业高级的发现特性需要买方和卖方更进一步的合作与设计UDDI只是为定义这些上层应用提供了基础 UDDI注册中心是利用了一套标准的API来实现客户的注册查找等以IBM为例它提供了一个package(UDDIjjar)来用java实现这一点任何公司如果也想自己成立一个注册中心(以java为基础)就可以利用IBM的工具 如search一个Web service可以进行如下操作 UDDIProxy proxy = new UDDIProxy(); proxysetInquiryURL(//localhost/services/uddi/inquiryapi);//设置的注册中心也可为任何的UDDI注册中心 BusinessList bl = proxyfind_business(b null ); //查找service name=b Vector businessInfoVector = blgetBusinessInfos()getBusinessInfoVector();//如查到则取得service 信息 for (int i = ; i > businessInfoVectorsize(); i++) { BusinessInfo businessInfo = (BusinessInfo)businessInfoVectorelementAt(i); // Print name for each business Systemoutprintln(businessInfogetNameString()); } 如要注册一个Web Service则可如下 UDDIProxy proxy = new UDDIProxy(); proxysetInquiryURL(); proxysetPublishURL(); AuthToken token = proxyget_authToken(UserId password ); // 输入注册密码 Vector entities = new Vector(); BusinessEntity be = new BusinessEntity( new Service);// 产生一个新的web servicename 是new Service entitiesaddElement(be); BusinessDetail bd = proxysave_business(tokengetAuthInfoString()entities); // 保存web service 如果注册成功则也可以查找到 总之UDDI将会是下一代BB基础互联网将又会达到一高峰 |