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