InfoQ

新闻

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

作者 朱永光 发布于 2008年8月13日 下午10时35分

社区
.NET
主题
.NET框架,
数据访问,
Web服务
标签
WCF,
服务设计,
ADO.NET实体框架,
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应用程序,实现单机运行的模式。

ccBoy又发表了《Astoria (ADO.NET Data Service)客户端操作精粹》的博文 发表人 Kevin Chu 发表于 2008年8月17日 下午8时19分
  1. 可以一读:http://www.dotnettools.org/Blog/article.asp?id=262

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。