UDDI(Universal Description, Discovery and Integration)作為下一代基於 Web 的企業整合標準,正在重塑企業間的電子商務互動模式。它允許企業在 Web 站點發布可程式化的服務元素,實現基於 Web 的分散式運算與處理。UDDI 商業註冊中心的建立,旨在促進 Web 服務發展,協助企業發現適合的服務——這些服務稱為 Web Services,指企業發布以滿足特定商務需求的線上應用服務,其他公司或軟體可透過網際網路存取並使用。
以匯率計算服務為例,企業可在任一 UDDI 註冊中心註冊,並描述服務內容、收費標準與使用限制。其他企業即可在註冊中心查詢並聯繫使用。鑑於網際網路的龐大規模與潛在客戶群,安全性與可靠性成為關鍵考量因素。
目前主流 UDDI 註冊中心包含 IBM、Microsoft 等商業註冊服務,採用 XML 文件描述企業及其提供的 Web 服務。從概念上看,UDDI 商業註冊資訊包含三大部分:
所有資訊均儲存於 UDDI 商業註冊中心中。
UDDI 旨在補充現有線上交易市場與搜尋引擎,為電子商務與服務發現提供標準格式。規範本身不直接涉及具體商業發現流程(如尋找特定價格或地區的產品供應商),高階發現特性需要買賣雙方進一步合作設計,UDDI 僅為上層應用提供基礎定義。
UDDI 註冊中心透過標準 API 實現客戶註冊、查詢等功能。以 IBM 為例,其提供 UDDI4j.jar 套件支援 Java 實作。企業若欲自建註冊中心(Java 基礎),可善用 IBM 工具快速建置。
UDDIProxy proxy = new UDDIProxy();
proxy.setInquiryURL("https://localhost/services/uddi/inquiryapi"); // 設定註冊中心
BusinessList bl = proxy.find_business("b", null, 0); // 查找服務名稱 "b"
Vector businessInfoVector = bl.getBusinessInfos().getBusinessInfoVector();
for (int i = 0; i < businessInfoVector.size(); i++) {
BusinessInfo businessInfo = (BusinessInfo)businessInfoVector.elementAt(i);
System.out.println(businessInfo.getNameString());
}
UDDIProxy proxy = new UDDIProxy();
proxy.setInquiryURL("https://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"); // 輸入註冊憑證
Vector entities = new Vector();
BusinessEntity be = new BusinessEntity("", "new Service"); // 建立新服務
entities.addElement(be);
BusinessDetail bd = proxy.save_business(token.getAuthInfoString(), entities); // 儲存服務
註冊成功後,即可透過查詢機制被發現。總結而言,UDDI 將成為下一代 B2B 基礎設施,推動網際網路邁向新高峰。