迈向Data 2.0——学习使用ADO.NET数据服务框架

随着.NET Framework 3.5 SP1和Visual Studio 2008 SP1的正式发布ADO.NET数据服务框架(ADO.NET Data Services Framework)也正式来到了我们的面前。近日,MSDN Magazine发布了标题为《在 Web 服务领域公开和使用数据》的文章,阐述了ADO.NET数据服务框架的基本理念、体系结构、服务端数据模型、访问协议、安全性和客户端访问。

在本文中,作者把ADO.NET数据服务框架定义为:



引用:
总的来说,ADO.NET 数据服务框架的目标是为那些公开和使用以数据为中心的服务,创建基于具象状态传输 (REST) 的简单框架。此类服务使用统一的界面公开数据,以供整个企业 Intranet 或 Internet 范围内的所有 Web 客户端使用。该框架由一个服务器库和一组客户端库组成,前者用于将数据作为服务安全公开,后者是为一系列 Microsoft 应用程序和技术(Microsoft? .NET Framework和Silverlight 等)能够使用服务而构建的。
ADO.NET数据服务框架在对数据模型的处理上,充分使用了ADO.NET实体框架(ADO.NET Entity Framework)的功能,尤其基于实体数据模型(Entity Data Model,EDM)对关系数据库进行映射和访问;而对于非关系数据,则依靠IQueryable接口来公开。

在讨论Web的技术时,安全性是重点需要关注的问题,而ADO.NET数据服务框架则依靠ASP.NET和WCF现存的大量安全性机制,来实现身份验证、访问授权等功能。

文章的后半段,着重讲解了对ADO.NET数据服务框架进行访问的知识。要访问ADO.NET数据服务和访问常规的WCF Services是一致的。不过ADO.NET数据服务框架已经提供了相应的程序集或工具包,这些客户端库来帮助我们更容易地编写访问ADO.NET数据服务的代码。其中包括:

  • .NET 客户端库:为Windows Forms、WPF、Web应用程序提供System.Data.Services.Client.dll程序集。
  • Silverlight 客户端库:已经和Silverlight 2 Beta 2一起发布,同样还是在Silverlight项目中引用System.Data.Services.Client.dll程序集。
  • AJAX 客户端库:在CodePlex上ASP.NET项目中下载

通过对ADO.NET数据服务框架学习和使用,并结合相关技术,对于以数据(Data)为中心的应用,我们就可以从之前在Client-Server的模型下直接对数据库(即所谓的Data 1.0)的访问,转变为在Rich Internet Application(RIA)的模型下对数据服务(即所谓的Data 2.0)的访问,从而迈向Data 2.0。

另外,ccBoy在他的一篇博客文章中也对ADO.NET数据服务框架给予了很高的评价:



引用:
ADO.NET数据服务逐渐成为一个非常不错的工具和武器,它完美地和ADO.NET实体框架相结合,可以说很大程度上弥补了EF目前分布式开发的短板,同时Data Services本身也成功地削弱了WCF原来基于SOAP的组件通信的沉重,可以说利用了WCF最好的部分。
同时,他也提供了一个Self-Hosting实例,这种模式让以数据为中心的RIA应用程序,实现单机运行的模式。

(文/朱永光 出处/Infoq)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [ADO.Net] 的这些文章也感兴趣:

ADO.NET 数据库访问之数据分页
ADO.NET基础教程(一)
用C#访问Access数据库
ADO.NET Entity Framework(1)介绍
夫妻关系的处理
C# Server Enumerator
用VisualC#来增加数据记录
ADO.NET入门(4)
用C#和ADO.NET建立一个数据绑定网格
SQL存储过程在.NET数据库中的应用