幾乎所有的網絡服務都需要查詢和更新永久性數據,不論是以簡單文件,還是以相關數據庫,或是以其它的存儲類型存在。為了提供對數據的訪問,服務框架包括ActiveX Data Objects+ (ADO+)類庫。如同名字所暗示的那樣,ADO+由ADO發展而來。ADO+為基于網絡的應用程序和服務提供數據訪問服務。圖1闡明了ADO+的體系結構,表明任何數據,不論這些數據實際上如何存儲的,都以xml或相關數據的格式被操作。
ADO+定義了那些鏈接數據倉庫、對數據倉庫發送命令及從中獲取結果的類。這些類由受控數據提供者(managed data PRovider)實現。ADO+中鏈接和命令對象看上去和ADO中的是一樣的,并且一個名為DataReader的新類提供了通過高性能API流獲取結果的能力。DataReader在功能上與ADO的記錄集(Recordset)是相似的,但是DataReader被設計用來最小化內存中生成的對象的數量,用以提高性能、避免垃圾積累。在.NET Framework中包含了針對Microsoft SQL Server的受控數據提供者以及可通過OLE DB訪問的任何數據倉庫。
就像DataReaders顯示了對于相關數據的有效的流訪問一樣,XmlReaders顯示了對XML數據的流訪問。開發人員使用DataNavigator可以滾動和編輯內存中的XML文檔。DataNavigator在功能上和Document Object Model (DOM)是一樣的,但它更有效,并提供了能很好映射關系數據表的對象模板。ADO+為那些希望繼續使用DOM作為XML對象模板而不是使用更有效的DataNavigator模板的開發人員提供了一個XMLDocument類。
建立在Microsft.NET框架上網絡應用程序共享一個通用應用程序模板。包含用于生成在瀏覽器中觀看的網頁的網絡應用程序和網絡服務。下面,筆者將詳細介紹Active Server Pages+ (asp+)的網絡應用程序可編程模板,如圖2所示。
ASP+是由活動服務器頁面(ASP)發展而來。ASP+利用common language runtime和服務框架網絡應用程序提供了一個可靠的、自動化的、可擴展的主機環境。ASP+也受益于common language runtime集成模板,簡化了應用程序的配制。另外,它提供簡化應用程序開發的服務(如狀態管理服務)以及高水平的編程模板(如ASP+網絡表單和ASP+網絡服務)。
ASP+的核心是HTTP運行語言,一個高性能的用于處理基于低級結構的HTTP請求的運行語言,而基于的結構與Microsoft Internet Information Services (IIS)所提供的ISAPI結構相似。由圖2可知,HTTP運行語言(HTTP runtime)負責處理引入的所有HTTP請求,并對每個請求應用程序的URL進行解析,然后把請求分配到應用程序以進行進一步的處理。HTTP 運行語言是多線程的,并異步處理請求,因此劣質的應用程序代碼阻礙不了它對新請求的處理。而且HTTP運行語言假定失敗必會發生,因此它通??梢宰詣拥貜脑L問沖突、內存泄漏、死鎖等事故中恢復過來。