Ria 服务与 WCF 数据服务

Posted

技术标签:

【中文标题】Ria 服务与 WCF 数据服务【英文标题】:Ria Services vs WCF Dataservices 【发布时间】:2011-01-29 09:00:30 【问题描述】:

我的团队正在评估更大的业务门户。 (发票、簿记、工资......)

我们都习惯于使用 DDD、O/R 映射器,并将 NHibernate 作为我们的首选。 我们选择与 CompositeWPF 合作,以保持业务门户中所有模块和部分系统之间的模块化。

现在我们评估了 Ria 服务,对它在面向数据的方式下的工作方式有点失望,面向数据在面向服务的场景中可能会很好,但我们认为我们可以使用面向对象的方法,并且我们觉得我们可以使用 OO 方法获得比 DO 方法更复杂的应用程序。 例如它不允许值对象、多对多关系、所有东西都需要有键等等。

我们还没有研究 WCF 数据服务,所以我们的问题是 WCF 数据服务是我们的答案吗?它是否与 Silverlight 4 很好地集成?我们可以以 OO 的方式使用它吗?

【问题讨论】:

【参考方案1】:

RIA / WCF 不是要替换 O/R 映射器等。它是以开放格式将数据公开给另一个应用程序。不是高端,但基本上是为了集成。恕我直言,将它放在应用程序中非常愚蠢,但它是一个很棒的外部接口,尤其是在它获得工具支持时。

很好的例子:

银行会计访问。如果我只能使用 Odata 进行家庭银行业务;) 并将我的帐户对帐单导入到 Excel 中。 交易 ;) 是的,好的 - 我有一个交易服务器(然后连接到各种经纪人)。我有一个网络前端。我现在也将通过 OData 公开某些数据,因此我可以轻松地在 excel 等中获取内容,或者甚至使用 silverlight 应用程序来处理某些东西......但我不会在一个应用程序中使用 OData 来替换我的对象基础架构 -悬停头太多了。 Ebay 可以为大客户提供 OData 接口。很高兴了解您的拍卖情况并对您的帐户进行一些基本维护。没有什么高性能,但同样,工具支持。 Excel、报表服务都很快支持 OData。

如果您从集成的角度来看它,它会很有意义。这不是一个完整的环境——“从不”有效。但是,使用语义(优于 Web 服务 - 标准化查询和过滤逻辑)和工具支持来打开应用程序是一个很好的标准化。

不过,不知何故,你提到的很多项目我都没有遇到很多问题:

我使用的任何东西都有一个定义键 我从不做多:多关系。我总是有一个带钥匙的临时对象......这样我就可以向它添加属性(如果这只是一个时间戳)。

这些服务是面向数据的,而且是认真的 - 我喜欢它们。我是 OO 的忠实粉丝,但工具支持使它成为应用程序的完美外部接口。

【讨论】:

刚刚将它用于内部项目,我对 OData 和 WCF 数据服务产生了浓厚的兴趣。 我个人对此也很满意。我真的很喜欢工具。最后,我可以针对暴露的对象模型进行报告(2008 r2 报告服务),并且不必访问数据库。

以上是关于Ria 服务与 WCF 数据服务的主要内容,如果未能解决你的问题,请参考以下文章

WCF / WCF 数据服务 / WCF RIA 服务

.NET RIA 服务/WCF 服务

WCF / WCF Ria 服务在“IncludedResults”中返回关系数据

什么是 WCF RIA 服务?

提交时可以编辑 WCF Ria 服务实体吗?

如何为新的 Silverlight 应用程序在 WCF、REST、POX 和 RIA 服务之间进行选择