■数据访问服务 几乎所有的网络服务都需要查询和更新永久性数据,不论是以简单文件,还是以相关数据库,或是以其它的存储类型存在。为了提供对数据的访问,服务框架包括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运行语言假定失败必会发生,因此它通常可以自动地从访问冲突、内存泄漏、死锁等事故中恢复过来。