■數據訪問服務 幾乎所有的網絡服務都需要查詢和更新永久性數據,不論是以簡單文件,還是以相關數據庫,或是以其它的存儲類型存在。為了提供對數據的訪問,服務框架包括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運行語言假定失敗必會發生,因此它通常可以自動地從訪問沖突、內存泄漏、死鎖等事故中恢復過來。