使用 UDDI 的 Web 服務描述和發現(第二部分)[轉自微軟]

來源:互聯網
上載者:User
web|微軟 使用 UDDI 的 Web 服務描述和發現(第二部分)
Scott Seely
Microsoft Corporation
2001年10月17日
簡介
在上一個專欄中,Karsten Januszewski 已經帶我們訪問了 Microsoft® UDDI 小組。Karsten 概要介紹了 UDDI 的概念、用途和使用方法。在本文中,我們將介紹如何使用 Microsoft UDDI 註冊表註冊“Cold Rooster 收藏服務”。鑒於我們以前從未使用 UDDI 進行過註冊,現在就讓我們從頭講起。 用 UDDI 進行註冊
由於從未在 Microsoft UDDI 網站(英文)註冊過 Cold Rooster,所以首要任務就是在該網站建立一個帳戶。註冊帳戶要求使用 Passport 登入。登入後,您可以設定 UDDI 電子郵件聯絡地址,將它串連到您的 Passport 帳戶或其他地址上。我選擇的地址是 crooster@microsoft.com,因為在我的小組裡不止我一個人在使用 UDDI。原來 Cold Rooster 諮詢公司需要使用電子郵件時,我們已經建立了這個電子郵件帳戶,這看來是個明智的選擇。
註冊螢幕還會提示輸入其他聯絡資訊,例如註冊者的姓名、聯絡電話和通訊地址。要完成註冊,您需要接受“使用規定”協議。請參閱 Terms of Use(英文)。
在註冊表中填好聯絡資訊,並接受“使用規定”後,UDDI 網站將向您發送一封電子郵件,確認您的聯絡地址。單擊郵件中的連結,就可以管理您的 UDDI 帳戶了。管理工作涉及到向註冊表中添加公司資料、發布 tModel 以及編輯註冊詳細資料。圖 1 顯示了管理頁面。

圖 1:UDDI 管理頁面 在 UDDI 中添加公司
在 Microsoft UDDI 網站建立帳戶後,下一步就是向 UDDI 註冊表中添加 Cold Rooster 諮詢公司。我們可以通過 Web 頁面註冊公司,也可以使用 .NET SDK 或 COM SDK 調用 UDDI API 來註冊公司。我選擇使用 UI,因為我想一次註冊成功。如果將來要經常更改介面內容,就應使該過程自動化以減少錯誤發生率。將公司添加到註冊表中,就可以使使用者根據我們的公司和所提供的 Web 服務的類型來找到我們。要在 UDDI 註冊表中添加 Cold Rooster 諮詢公司,請單擊管理頁面(圖 1)中的“Add a new business”連結。第一頁將要求提供公司名稱和說明。對於 Cold Rooster,我輸入:
Name:Cold Rooster 諮詢公司
Description:MSDN Architectural Samples 小組使用的虛擬公司

在 UDDI 註冊表中添加公司後,現在可以添加其他資訊了:
  • Contacts:可以協助客戶解決各種業務問題的人。我們將 MSDN Architectural Samples 小組的不同成員新增至連絡人清單中。
  • Services:該公司要提供的 tModel(WSDL 檔案)。我們在 UDDI 條目中添加了“帳戶”、“登入”和“報表”三種 tModel。
  • Identifiers:代表本公司的唯一的資料。例如,公司的註冊序號。因為 Cold Rooster 沒有上述資料,所以沒有填寫。
  • Business classifications:標識公司所在的位置以及公司的業務。Cold Rooster 諮詢公司位於美國的華盛頓州。
  • Discovery URL:提供了可以尋找公司詳細資料的位置。

首先完成簡單的項目,最後儲存服務。 在 UDDI 中添加聯絡資訊
這非常簡單。就象填寫其他地址表格一樣,只要填寫不同連絡人的一般資訊就可以了。潛在使用者可以根據說明和使用注釋來聯絡貴公司,以便申請使用 Web 服務的許可、獲得支援或諮詢與業務相關的其他事項。圖 2 顯示了我的聯絡資訊表格的外觀。

圖 2:詳細的聯絡資訊頁 對公司進行分類
大多數公司可根據其業務範圍分類。對實體進行分類時,UDDI 分類有多種方法,包括:
  • North American Industry Classification System (NAICS-1997)(北美行業分類系統)
  • Universal Standard Products and Services Codes (UNSPSC-7.03)(通用標準產品和服務代碼)
  • ISO 3166 Geographic Taxonomy(ISO 3166 地理分類)
  • Standard Industrial Classification (SIC-1987)(標準行業分類)
  • GeoWeb Geographic Classification(GeoWeb 地理分類)
  • UDDI Types Taxonomy(UDDI 類型分類)
  • 除了 UDDI 類型外,Cold Rooster 在所有分類中都進行了註冊。之所以未在 UDDI 類型分類中註冊公司,是因為它是專用於對 tModel 和服務資訊進行分類的。
  • 要瞭解需要註冊的內容,就必須知道 Cold Rooster 的業務範圍和地理位置。Cold Rooster 諮詢公司位於美國華盛頓州的雷德蒙德。它提供基於工程的輔助性的電腦諮詢服務。而且,它擅長基於 Windows 和 Internet 的開發。知道了這些,我們需要分別按照六種分類方案為該公司正確分類。表 1 顯示了按照每種分類方案對該公司進行分類的情況。 分類方案分類NAICS
    • 541511: Custom Computer Programming Services
    • 541512: Computer Systems Design Services
    UNSPSC
    • 81.11.16.07.00: Programming for C or C++
    • 81.11.16.03.00: Programming for HTML
    • 81.11.16.01.00: Programming for Microsoft® Visual Basic®
    • 81.11.16.12.00: Programming or Proprietary Languages(也包括 C#)
    • 81.11.21.06.00: Application Service Providers(提供 Web 服務)
    • 81.11.21.03.00: World Wide Web (WWW) site design services
    ISO 3166
    • US-WA (Washington, USA, World)
    SIC
    • 7371: Computer programming services
    • 7372: Information retrieval services
    GeoWeb 地理分類
    • 518816 (Redmond, Washington, USA, North America, World)

表 1:UDDI 分類樣本
公司分類完畢。下一步是添加三個 tModel。 添加 tModel
如果您沒有讀過上周的文章,那麼請注意,tModel 就是一個類型模型。對於 Web 服務來說,tModel 通常就是 WSDL 檔案的同義字。它們使用同樣的方法定義 Web 服務所使用的類型以及訊息和操作定義。給定一個 tModel,就可以知道何種 Web 服務操作是由實現該 tModel 的實體實現的,以及如何訪問這些操作。將 WSDL 檔案註冊為 tModel,是因為這些 tModel 最終可能有多個實現。
伺服器端的收藏 Web 服務包括三項 Web 服務:登入、帳戶和報表。“登入”Web 服務允許被授權者登入並得到一個標記。使用該標記,被授權者可以訪問“帳戶”和“報表”Web 服務中的其他方法。要添加 WSDL 檔案,需要將其部署在一個可以通過公用 網際網路存取的伺服器上。這裡也需要使用 UDDI 分類。
要添加 tModel,請在管理頁面(圖 1)上單擊“Add a new tModel”。接著需要添加一些 tModel 的基本資料:名稱、說明以及 WSDL 文檔所在的位置。完成後,將 tModel 分類為 WSDL 文檔,並將資訊發布到 UDDI 註冊表中。這真是輕而易舉。圖 3 顯示了“登入”tModel 要填寫的詳細資料。

圖 3:“登入”tModel 的詳細資料
在下一個螢幕上,可以添加服務分類和公司標識。這裡的資料和在公司資訊中輸入的資料相同。作為服務分類,我們只使用了 UDDI 分類。可以通過單擊一系列連結來指定這些資訊:
  • 用於 tModel 的類型
  • Web 服務的規範
  • WSDL 中說明的 Web 服務的規範
  • 我在註冊 Cold Rooster 收藏服務時,對於 Logon.WSDL、Account.WSDL 和 Report.WSDL 就採用了這些步驟。完成 UDDI 註冊後,註冊表中的這些資訊才可用。
定義服務
tModel 註冊完畢後,仍然需要添加服務以聲明存在這些服務。要添加服務,請回到管理頁面,這次您會看到您的公司已列在“Add a new business”(圖 1)中。選擇您的公司並滾動到“Services”。在此處單擊“Add a Service”。在第一頁填寫服務的詳細資料。對於“登入”Web 服務,我填寫的內容如下:
  • Name:登入
  • Description:驗證被授權者並提供訪問標記

完成後,再次將服務分類為“WSDL 中說明的 Web 服務規範”。接著將該服務綁定到登入的“登入”tModel。在以下所示的“Define a new binding”欄位中,我填寫的內容如下:
  • Access point:https://Coldrooster.com/SSF/Logon.asp
  • URL type:http
  • Description:Cold Rooster 諮詢公司登入 Web 服務的端點

要完成這一步,必須將服務與“收藏 Web 服務:登入 tModel”聯絡起來。在“Specification Signatures”下,選擇“Add specification signature”。要按名稱查看模型,請輸入“收藏 Web 服務”。這將調用收藏服務所儲存的全部三個 tModel。選擇“收藏 Web 服務:登入”並按下“Continue”。一個 Web 頁將顯示出來,您需要在上面編輯關於端點的詳細資料。我填寫的內容如下:
  • Edit specification signature; Description:收藏 Web 服務的 Cold Rooster 實現:登入 tModel
  • Instance details; Parameters:http://msdn.microsoft.com/library/?url=/library/en-us/dncold/html/ssfapiref.asp?frame=true
  • Instance details; Description:API 引用文檔
  • Overview document; Document location:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncold/html/ssf1sec.asp
  • Overview document; Description:伺服器端收藏安全資訊

填寫完畢後,再次單擊“Continue”。接著,在返回到主公司資料檢視並向 UDDI 註冊表發布全部資訊前,可以查看輸入的所有關於登入服務的資訊。對“帳戶”和“報表”Web 服務重複這一過程。 尋找資料
根據 GeoWeb 分類,今天(2001 年 10 月 8 日)只有一家公司列在雷德蒙德中:Cold Rooster 諮詢公司。使用 ISO 3166 分類再搜尋一次。這次找到了九家公司。其他分類將產生其他的統計結果。對於其他的分類方案,其結果通常需要佔用好幾頁。
現在資料是可以發現的,因此對儲存收藏 URL 的 Web 服務感興趣的人,在理論上可以找到並使用 Cold Rooster 解決方案。對於使用 Microsoft® Visual Studio® .NET 的使用者,使用 UDDI 尋找 Web 服務並將其添加到自己的工程中將更加簡單。
第一次遇到“Add Web Reference”對話方塊(“Project”|“Add Web Reference”)時,會顯示一個對話方塊,允許您通過 Microsoft UDDI 伺服器來尋找 Web 參考(也稱為 WSDL 檔案)。用於 Visual Studio 的端點是 http://uddi.microsoft.com/visualstudio/。當告訴該端點尋找所有以“cold”開頭的公司時,它只找到了我註冊的三個 Web 服務:帳戶、登入和報表。可以在此處(英文)查看此次查詢的結果。要將 Web 參考添加到“登入”Web 服務中,只要單擊“Logon”以擴充該節點,然後單擊“Favorites Web Service: Logon”查看 WSDL。在這裡,單擊“Add Reference”,就可以登入到收藏 Web 服務了。
如果到現在您還沒有獲得收藏服務授權,請到 Favorites Service Admin Console(英文)申請一個。在 15-30 分鐘內您將收到一個密碼。要使用 Visual Basic 串連到“登入”Web 服務,則代碼編寫非常簡單:
Sub Main()    Dim svc As New com.coldrooster.www.Logon()    System.Console.WriteLine(svc.Logon("許可證持有人", "密碼"))    System.Console.WriteLine("按 Enter 鍵退出")    System.Console.ReadLine()    svc.Dispose()End Sub

代碼將顯示 GUID 標記,供使用者訪問收藏 Web 服務中可用的其他方法。編寫其他方法的代碼也同樣簡單。 總結
通過使用 UDDI 註冊公司、自訂 tModel 和 Web 服務,您可以協助世界各地的開發人員找到您的 Web 服務。UDDI 註冊表允許您發布的不只是 Web 服務端點和公司資料。使用 UDDI 的使用者也可以使用該介面尋找 Web 服務文檔和樣本。Microsoft UDDI 註冊表是免費使用的。我們鼓勵使用者使用此註冊表註冊您的 Web 服務和公司。請花一些時間來熟悉 http://uddi.microsoft.com(英文)。您可能試圖尋找 Cold Rooster 諮詢公司的資訊,並瀏覽它以查看所有可用的資訊。最後一點,現在可是使用 Visual Studio .NET 來串連收藏服務並進行實際操作的絕佳時機。
下一次,將由客座專欄作家 Allen Wagner 主持。Allen 將討論處理大型 SOAP 訊息的技術。


At Your Service
Scott Seely 是 MSDN Architectural Samples 小組的成員。除了那裡的工作以外,他還通過 Prentice Hall 出版了兩本書:《SOAP: Cross Platform Web Service development Using XML》(SOAP:使用 XML 進行跨平台 Web 服務的開發)和《Windows Shell Programming》(Windows Shell 編程)。他還編寫和維護一個小型的基於 C++ 的 SOAP 庫(位於 http://www.scottseely.com/soap.htm)。該庫根據 LGPL 協議對外發布。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。