VB.NET WEB服務開發寶典
Web開發是強大的,各種語言都面向web開發,不支持web的語言是不會被大家運用的,下面我們來說說VB.NET WEB服務。
面向Web的支持
除了Windows Forms新引擎之外,.NET還包含了一個專門為構造Web窗體設計的窗體引擎,稱為Web Forms。這個引擎的目標在于讓用戶能夠象創建傳統Windows桌面應用的窗體一樣方便地創建Web窗體。Web Forms是一種ASP.NET技術,通過它我們可以使用熟悉的RAD(快速程序開發)工具構造出帶有執行代碼的窗體。不過,窗體中的ASP.NET代碼以編譯方式在服務器端運行,經過處理后把結果HTML發送給支持HTML 3.2的瀏覽器。
客戶端事件數據由底層框架截獲并發送到服務器。這意味著應用界面不再受瀏覽器類型的約束,意味著有大量UI工具可供使用,意味著用戶可以充分發揮現有的窗體制作技巧。如果應用沒有必要做到瀏覽器中立,那么它就可以利用IE瀏覽器的各種特色。有了Web Forms,我們將能夠更輕松地為那些具有Web功能的應用構造出更好、更豐富的用戶界面。
VB.NET中另外一個面向Web的重要特色是VB.NET WEB服務。在Microsoft的宣傳中,VB.NET WEB服務被推崇為之所以要采用.NET技術的重要理由之一。事實上,從根本上來說Web服務是一種類似COM的、通過Web服務器和標準協議發布的對象。當然,Web服務并不是嚴格意義上的COM對象,但兩者作用方式類似。Microsoft期待著各類公司都以Web服務方式提供服務,期待著未來創建應用時只需簡單地“粘合”各種服務,就象今天借助Office和支持VBA的應用通過VBA構造新應用一樣簡單快捷。
從Microsoft PDC(Professional Developers Conference,專業開發者大會)的一個演示中,我們可以看出Microsoft希望開發者如何粘合各種Web服務。在這個演示中,一個假想的醫生以Web服務形式發布其時間表,示范如何通過Web用智能電話和醫生訂立約會。Visual Basic.NET還允許查詢服務器,提取服務器支持的所有服務的元數據。Web服務描繪了Microsoft野心勃勃的戰略,然而,唯有時間才能告訴我們Microsoft是否在大范圍推廣VB.NET WEB服務上取得了成功。但不管如何,這個想法本身看來有著美好的前途。
為了減少與封裝和分發應用有關的問題,如令人畏懼的DLL Hell問題(在共享DLL的應用之間,由于一個應用的升級而導致另一個應用無法正常運行的情況),Microsoft作出了種種努力,它同樣也帶來了美好的希望。所有.NET應用都封裝為程序集(Assembly)。程序集包含了描述各種運行需求的元數據。這種元數據稱為manifest,其中包括:程序集的標識信息(名稱,版本等),列出了所有文件依賴關系以及文件位置和文件版本的文件清單,外部依賴信息(帶有描述程序集必須用到、但開發者沒有自己創建的DLL以及其他資源的數據)。程序集是通過manifest自我描述的,因此.NET應用的運行并不需要修改注冊表。換句話說,.NET應用不再要求注冊組件。在最理想的情況下,客戶機器上已經有了.NET運行環境,部署一個復雜的應用簡單到只需復制一個文件夾到目標機器。使用程序集的另外一個優點是:不同的應用可以擁有同一DLL的不同版本,所有這些應用都互不干涉地在同一臺機器上運行。如果它能夠按照預期那樣獲得成功,DLL Hell和可怕的版本問題都將成為歷史。
Visual Basic.NET代表著VB的一次重大飛躍。盡管如此,把VB.NET看成是一種有著熟悉語法的新語言而不是對舊語言的簡單升級或許是對待VB.NET較為正確的心態。
【編輯推薦】