下的 UDDI 開發 指南 小氣的神 2002.02.28 Article Type: In-Depth 難度等級: 5/9 版本: 2.03 現在還不能確定下一場爭論的焦點是否是 Wind" name="description" />
Windows.NETMILY: 宋體; mso-ascii-font-family: 'Lucida Console'; mso-hansi-font-family: 'Lucida Console'">下的UDDI開發指南
小氣的神
2002.02.28
Article Type: In-Depth
難度等級:5/9
版本:2.03
現在還不能確定下一場爭論的焦點是否是Windows.NET,不過從最近的BBS和技術網站上,許多人試圖看到這種痕跡。盡管Microsoft的律師信被張貼在許多個人網站上,但似乎有關XP和Office XP的細節已經變得索然無味了。許多個人網站和BBS已不再提供它們的Download和聯接,甚至連算號器和激活都被認為是落后和灌水的C類帖。除了有關8in1的XP刻錄技巧外,可以看到更多的人群在討論有關Windows.NET的秘密,相比起來他們更愿意交流相互之間的安裝和使用技巧,其實狂熱的背后是被號稱這個世紀最好的操作系統目前所表現的奇特性能震赫。無論你是否懷舊于九十年代Win98的藍天白云,但對于上個世紀Win2000 Server的平穩和性能提升給予尊重是我們起碼的選擇。Windows 2000 SP3的默默無聲,使我們感到這個屬于上個世紀的軟件已快成為過去,繼續等待將又是一次可愛而不可信的浪漫復興,我們固執的以為:這是一個需要了結上個世紀Windows幾乎所有不安全因素的終結版本。再多幾個補丁顯現出的高性能宣傳無疑是亡羊補牢似的回光返照。在未來的幻影和真實之間,我們更愿意選擇現時的安全,我們懷疑的立場不能改變目前我們對安全的認識方式,所以Windows 2000最后必須不負眾望??梢钥吹綇幕靵y到平安還有很長的路,中途Windows.NET帶來了IIS6和 UDDI Service,雖然有些迂闊不經,還是很喜歡其中的dotNET特性,很樂意在上面消磨幾個上午或下午,畢竟這是另一個環境的另一種體驗。
下面的操作被設定在這樣的環境中:Windows.NET 3604 Server, Visual Studio.NET RTM,dotNET UDDI SDK 2.0 Beta,MS SQL 2000 SP2,IE 6.0 2813。有兩部機器,一臺安裝著Windows.NET 3604,我們叫它Datacenter;一臺是Windows 2000 ADV Server,上面有Visual Studio.NET和UDDI SDK,我們叫它VSDOTNET。
而我們會陸續做下面的操作:
1. 在VSDOTNET上生成一個WebServices。
2. 在Datacenter上的UDDI Server上登記這個WebService.
3. 我們回到VSDOTNET上驗證這個這個登記。
整個的過程我們可以發生在局域網中,當然不可避免的是我們需要閱讀一些有關的在線文檔(會列在最后)。
我們幾乎不會討論什么是UDDI,tModels,WSDL等等一些概念和名詞。
第一個操作是最簡單的,可以是你做的一個Hello的WebService,也可以是A+B=C的WebServices,事實上UDDI并不代表會最終調用這個WebServices,最后你會發現我使用ASP.NET生成了一個Hello World作為例子,這樣這個操作幾乎可以跳過去了,不再多說了。
最后我們需要記錄下來我們的鏈接和準備的WSDL文件(tModel),鏈接是http://vsdotnet/SOAP/UDDI/RegistUDDI.asmx?WSDL,不過我要對我的命名表示抱歉RegistUDDI太容易讓人引起歧義的聯想。
第二個操作是向UDDI登記的過程,這里我們遵從[JaN 01]的建議,用手工的方式來進行登記。編程實現將是為了程序化和大量操作的需要,一方面我認為篇幅有限,可以放到目前這個主題之后,另一方面我要責怪Microsoft目前SDK中糟糕的文檔說明,整個文檔中目前還沒有任何組件和API的文檔說明。
Windows.NET 3604缺省安裝是沒有IIS和UDDI Services的,你需要自己在控制面板中進行單獨安裝,有計劃的安裝是先安裝MS SQL 2000 ,然后安裝IIS 6,最后安裝UDDI Services(需要說明Windows.NET已自帶dotNET V1.0,另外如果沒有安裝SQL 2000,UDDI的安裝程序會自動安裝一個精簡版本的SQL Server)。安裝成功后UDDI被注冊到IIS中,并且需要的數據結構會安裝在SQL 2000中,另外它會提供一個Client端的SDK,這個Windows.NET中是1.76版。安裝完成后,鍵入http://Datacenter/uddi,你會看到一個和目前Microsoft網站上幾乎差不多的界面。不知你是否做過電話薄的程序,從現在開始你可以這樣程序的看UDDI過程,整個UDDI Services是一個Web Services,它靠核心的dotNET組件完成對UDDI數據庫的操作和交互,用戶可以通過Client SDK來進行交互完成登記和查詢的需求。而操作上就象一個電話薄應用,可以查詢電話薄、在電話薄中加一個條目,修改某個電話登記、刪除等操作。只不過我們采用手工的方式來做這些。至于里面電話薄的規格,每條電話登記的格式、查詢要求的細節條件和方式,這些都是由UDDI規范定義的。
根據[JaN 01]或[SeE 01]的建議,我們也列出一個同樣的登記步驟:
1. Add Providers
2. Add tModel
3. Add Service
4. Add Binding
5. Add Instance
比起[SeE 01]中描述的登記步驟:
1. 添加公司(business)
2. 添加聯系信息(Contact)
3. 公司分類
4. 添加tModel
5. 定義服務
的步驟看來,同樣的5步,我省略了他不是必要的2,3步,增加了另外必須的兩步。這個版本的Add Service有些復雜,所以我決定多用一些圖片來說明這些。
第一步Add Providers 相當與[SeE 01]中Add business(目前我們還不能判斷最后統一的說法,姑且按各自目前的描述為準),具體的你可以參照[SeE 01]中的描述進行下去,對于Add Contact我忽略了。注意我們需要使用右鍵功能,點中My UDDI按右鍵,我們起名叫ccBoy
第二步Add tModel ,這個[SeE 01]也說得很清楚了,照做就可以了,主要是把我們第一個操作準備的WSDL登記進去。同樣點中tModel然后使用右鍵。我們起名叫 Hello
第三步 Add Service ,這里和[SeE 01]說的已經有些不同了,Add Service之后我們需要繼續第四步,這里是有些特別的。你需要點擊 Providers節點然后右鍵。我們也起名叫 Hello
第四步 Add Binding,點擊上面我們加的Service按右鍵,添入相應的選項
第五步 Add Instance ,點擊上面我們叫的Binding按右鍵,點擊后會彈出一個窗口,用兩種方式中的任一種我們都將發現第二步增加的tModel->Hello,選中它確定。
完成這些操作之后我們可以看到一個這樣的樹形圖:
這樣基本上我們完成了將第一步生成的WebService注冊到Datacenter的UDDI數據庫中,我們可以選擇Search的菜單然后找到我們登記的一個條目。
未完