關(guān)于UDDI的實(shí)現(xiàn)
Uddi(universal description,Discovery and Integration) 是下一代基于WWW的企業(yè)實(shí)現(xiàn)。它允許在Web站點(diǎn)上放置可編程的元素,使得能進(jìn)行基于Web的分布式計(jì)算和處理。UDDI商業(yè)注冊(cè)中心的創(chuàng)建目的就是為促進(jìn)企業(yè)的Web服務(wù)的發(fā)展及為企業(yè)發(fā)現(xiàn)適當(dāng)?shù)姆?wù)。這些服務(wù)又稱為Web services,它是指由企業(yè)發(fā)布的完成其特別商務(wù)需求的在線應(yīng)用服務(wù),其它公司或應(yīng)用軟件能夠通過Internet來訪問并使用這項(xiàng)在線服務(wù)。 如一個(gè)公司有一套計(jì)算匯率的服務(wù),那么它可以在任一UDDI注冊(cè)中心注冊(cè),然后指出這項(xiàng)服務(wù)的具體內(nèi)容,服務(wù)的收費(fèi),服務(wù)的限制等。其它的公司就可以在UDDI注冊(cè)中心查到,并與之聯(lián)系.而Internet是如此的廣闊,客戶也會(huì)如潮水一般。當(dāng)然,安全,可靠性也是要值的考慮的。 目前UDDI注冊(cè)中心有IBM、Microsoft等UDDI商業(yè)注冊(cè),它使用一個(gè)XML文檔來描述企業(yè)及其提供的Web服務(wù)。從概念上來說,UDDI商業(yè)注冊(cè)所提供的信息包含三個(gè)部分:“白頁(White Page)” 包括了地址,聯(lián)系方法,和已知的企業(yè)標(biāo)識(shí);“黃頁(Yellow page)”包括了基于標(biāo)準(zhǔn)分類法的行業(yè)類別;“綠頁(Green Page)”則包括了關(guān)于該企業(yè)所提供的Web服務(wù)的技術(shù)信息,其形式可能是一些指向文件或是URL的指針,而這些文件或URL是為服務(wù)發(fā)現(xiàn)機(jī)制服務(wù)的。所有的UDDI商業(yè)注冊(cè)信息存儲(chǔ)在UDDI商業(yè)注冊(cè)中心中。 UDDI的設(shè)計(jì)目的是作為對(duì)現(xiàn)有的在線交易市場(chǎng)和搜索引擎的補(bǔ)充,為電子商務(wù)和服務(wù)發(fā)現(xiàn)機(jī)制提供標(biāo)準(zhǔn)的格式。UDDI 規(guī)范中沒有直接涉及到具體的商業(yè)發(fā)現(xiàn)流程,例如找出一個(gè)以某一個(gè)給定的價(jià)格或在某一特定區(qū)域內(nèi)的提供某種特定的產(chǎn)品或服務(wù)的企業(yè)。高級(jí)的發(fā)現(xiàn)特性需要買方和賣方更進(jìn)一步的合作與設(shè)計(jì)。UDDI只是為定義這些上層應(yīng)用提供了基礎(chǔ)。 UDDI注冊(cè)中心是利用了一套標(biāo)準(zhǔn)的API來實(shí)現(xiàn)客戶的注冊(cè),查找等。以IBM為例,它提供了一個(gè)package(UDDI4j.jar)來用java實(shí)現(xiàn)這一點(diǎn)。任何公司如果也想自己成立一個(gè)注冊(cè)中心(以java為基礎(chǔ))。就可以利用IBM的工具。 如search一個(gè)Web service,可以進(jìn)行如下操作: UDDIProxy proxy = new UDDIProxy(); proxy.setInquiryURL("http://localhost/services/uddi/inquiryapi");//設(shè)置的注冊(cè)中心,也可為任何的UDDI注冊(cè)中心。 BusinessList bl = proxy.find_business("b", null, 0); //查找service name=”b” Vector businessInfoVector = bl.getBusinessInfos().getBusinessInfoVector();//如查到,則取得service 信息。 for (int i = 0; i > businessInfoVector.size(); i++) { BusinessInfo businessInfo = (BusinessInfo)businessInfoVector.elementAt(i); // Print name for each business System.out.println(businessInfo.getNameString()); } 如要注冊(cè)一個(gè)Web Service,則可如下: UDDIProxy proxy = new UDDIProxy(); proxy.setInquiryURL("http://www-3.ibm.com/services/uddi/inquiryapi"); proxy.setPublishURL("https://www-3.ibm.com/services/uddi/protect/publishapi"); AuthToken token = proxy.get_authToken("UserId", "password" ); // 輸入注冊(cè)密碼。 Vector entities = new Vector(); BusinessEntity be = new BusinessEntity("", "new Service");// 產(chǎn)生一個(gè)新的web service,name 是“new Service” entities.addElement(be); BusinessDetail bd = proxy.save_business(token.getAuthInfoString(),entities); // 保存web service。 如果注冊(cè)成功,則也可以查找到。 總之,UDDI將會(huì)是下一代B2B基礎(chǔ),互聯(lián)網(wǎng)將又會(huì)達(dá)到一高峰。 |
聯(lián)系客服