【摘要】 Web不僅可以作為一個信息平臺,而且可以作為一個服務平臺。Web Service是建立可互操作的分布式應用程序的新平臺。介紹了WebService模型架構,討論了基于.Net的分布式WebService模型的應用設計,并展望了WebService未來的發展。
【關鍵詞】 NET;分布式Web service
一、Web Service模型簡介
Web Service是基于網絡的、分布式的模塊化組件,它執行特定的任務、遵守具體的技術規范,這些規范使得Web Service能與其它兼容的組件進行互操作。Web Service是通過SOAP協議進行通信,所有的數據交換是使用XML形式進行封裝,使用的底層協議為HTTP協議,也可為SMTP或是其它協議。Web Service是獨立的、模塊化的應用,能夠通過In-ternet來描述、發布、定位及調用。在Web Service的體系架構中包括3個角色:服務提供者、服務請求者、服務注冊器。角色間主要有3個操作:發布、查找、綁定。Web Ser-vice涉及到一些新的規范:SOAP是一種基于XML的不依賴傳輸協議的表示層協議,用來在應用程序之間方便地以對象的形式交換數據。在SOAP的下層,可以是HTTP/HTTP,也可以是SMTP/POP3,還可以是一些為應用而專門設計的特殊的通信協議。WSDL是Web服務描述語言,它把網絡服務定義成一個能交換消息的通信端點集。在WSDL里,端點及消息的抽象定義與它們具體的網絡實現和數據格式綁定是分離的。這樣就可以重用這些抽象定義:消息,需要交換的數據的抽象描述;端口類型,操作的抽象集合。針對一個特定端口類型的具體協議和數據格式規范構成一個可重用的綁定。一個端口定義成網絡地址和可重用的綁定的連接,端口的集合定義為服務。
二、基于.NET 技術的分布式Webservice應用
.NET Framework 是新一代基于Internet的分布式計算應用開發平臺。其大體層次結構由3個 主要部分組成:通用語言運行庫CLR、統一類庫和一個被稱為ASP.NET 的高級ASP版本。(1)通用語言運行庫CLRCLR是.NET框架的運行環境。CLR運行環境為基于.NET平臺的一切提供一個跨所有編程語言的統一的運行環境,CLR通過中間語言(IL)等機制實現基于.NET的編程語言的無關性。(2).NET類庫.NET類庫為開發人員提供了一套可以使用的統一的面向對象、異步、層次結構的可擴展類庫。.NET類庫統一了VC++的MFC 、Java 的WFC 和VB APIs這些不同的基礎類庫。通過創建一套跨編程語言的通用API,.NET類庫可以實現跨語言繼承、糾錯處理以及程序調試。開發人員可以自由地選擇他們想使用的任何語言,充分保證了.NET的可擴展性。(3)ASP.NETASP.NET是使用.NET框架提供的類庫構建而成的,它提供了一個Web應用程序模型,該模型由一組控件和一個基本結構組成。開發人員可以直接使用ASP.NET控件集。在服務器上,控件負責將面向對象的編程模型呈現給Web開發人員,這種編程模型能提供面向對象的編程技術擁有的豐富功能。ASP.NET還提供一些基本結構服務,通過使用ASP.NET Web 服務功能,ASP.NET開發人員只需進行簡單的業務邏輯編程,由ASP.NET基本結構負責通過SOAP傳送服務。
1.表示層。在表示層中,.NET 是由ASP.NET Web Forms來實現的。Web Forms 是CLR的程序模型。基于服務器端的動態頁面技術,可以在服務器端根據客戶端請求和提交的信息,動態地生成與客戶端瀏覽器類型無關的通用HTML頁面,也可以根據客戶端瀏覽器類型,生成特定的數據表現形式。Web Forms控件負責生成用戶接口。它提出了一種將應用程序代碼和用戶接口內容分離的更加結構化的方法,使ASP.NET網頁能動態地編譯到受控類中,用以提高性能。每個引入的HTTP請求都被傳遞到一個新的網頁實例。
2.應用邏輯層。在應用邏輯層,分布式業務組件負責企業應用的商業邏輯部署。由于這些業務組件經常負責處理數據庫連接、網絡資源、線程等高昂的資源,一直是3層/多層架構的關鍵和企業應用的核心。.NET 平臺內建了對Web Service的支持。Web Service是基于網絡、分布式的模塊化組件,它執行特定任務,遵守具體的技術規范,這些規范使得WebService能與其他兼容的組件進行互操作。
3.數據層。.NET 框架使用ADO.NET 完成對數據庫的訪問 。ADO.NET技術是一個基于標準、面向創建分布式數據共享應用程序的編程模型,包含了眾多的類,程序員通過使用這些類來獲得數據訪問服務。為了將數據的訪問和操縱分離,ADO.NET使用兩種組件:DataSet 和Data Providers對象,給我們對數據庫的操作提供了強有力的支持。它把數據看成是松散的、多維的和面向對象的,為處理多維數據提供了便利。并且使用XML作為一般的數據傳輸格式,只要接收數據方使用一個XML解析器便可以解析出數據,具有更優越的互操作性。