WCF Data Services 与 WCF RIA Services 的比较

来源:互联网 发布:plc显示屏编程 编辑:程序博客网 时间:2024/05/28 04:53

在最新的 VS2010 SP1 中 WCF RIA Services 被正式加入, 对于WCF的初学者来说, 这两个概念经常搞混。 都是Services究竟有什么区别呢?来看看下表:

原文 http://jack.ukleja.com/wcf-data-services-vs-wcf-ria-services/

WCF Data ServiceWCF RIA Service通过RESTful Web Service暴露的数据模型MS提供的一种n层应用开发方式以跨平台访问作为目标
  • 解除数据孤岛
  • 被MS未来的产品所支持,比如:SQL2008,Azure,

    Excel 2010,SharePoint 2010

  • 专为终端到终端的Silverlight和ASP.NET设计的解决方案
  • 一些专有技术的Silverlight(不支持WPF)
  • 使用ASP.NET角色/验证
  • ASP.NET/AJAX也可以访问服务层
  • 松耦合的客户端和服务端客户端和服务端设计部署在一起(不支持跨域)服务层暴露出“原始”数据源可以轻松地添加业务逻辑
  • 强调"域"的概念
  • 强大的验证框架
  • 支持脱机/同步
  • 服务可以被不同的语言平台调用:Silverlight,AJAX,PHP和Java服务可以很容易被SL,AJAX所使用服务的数据源必须:
  • 至少暴露一个IQueryable的属性
  • 按需实现IUpdateable
  • 服务端通过协议公开域对象:
  • IQueryable GetX
  • UpdateX/InsertX/DeleteX
  • 使用OData协议
  • 基于OData协议的多种格式:JSON,XML等
  • SL:SOAP(二进制)
  • AJAX:JSON
  • 其他客户端:SOAP(XML)
  • 服务可被发现(Discoverable)服务不可发现寄宿于WCF服务(.svc)

    旧版本寄宿于WebApp中自定义的Web Handler(.axd),
    新版本独立为WCF Service

    标准化的OData协议将支持OData协议

    PS:OData:开放数据协议(OData)是一个查询和更新数据的Web协议。OData应用了web技术如HTTP、Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务和存储的信息访问。

    共同特点
    - 基于WCF的
    - 使用REST风格的架构
    - 可用于公开任何数据源(SQL,XML和POCO(plain old CLR object)/对象等)
    - 客户端库(代理)可采用LINQ查询

    其他
    - RIA Service 并不是基于 Data Service
    - RIA Service 将向 Data Service 看齐
    - OData 将成为 WCF 一个基础协议

    参考

    http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx

    http://mschannel9.vo.msecnd.net/o9/mix/09/pptx/t36f.pptx

    http://blogs.msdn.com/endpoint/archive/2009/11/18/the-wcf-services-ecosystem.aspx

    http://www.douglaspurdy.com/2009/11/20/on-odata-open-data-protocol/

    http://msdn.microsoft.com/en-us/data/ee844254.aspx

    http://blogs.msdn.com/saurabh/archive/2009/11/23/understanding-the-wcf-in-wcf-ria-services.aspx

    原创粉丝点击