Ria Services与WCF Dataservices的比较

5

我的团队正在评估一个更大的商业门户网站(发票、簿记、工资等)。

我们通常使用DDD,以NHibernate作为我们的首选O/R映射器。

我们选择使用CompositeWPF来保持所有模块之间的可扩展性和部分系统在商业门户网站中的作用。

现在我们已经评估了Ria Services,并对它以数据为导向的工作方式感到有些失望。数据导向在面向服务的场景下可能很好,但我们认为我们可以采用面向对象的方法,并且我们认为通过OO方法可以获得比DO方法更少的应用程序复杂性。例如,它不允许值对象、多对多关系,需要所有内容都有键等。

我们还没有看过WCF Data Services,所以我们的问题是WCF Data Services是否是我们的答案?它是否与Silverlight 4集成良好?我们能否以面向对象的方式使用它?

1个回答

2
RIA / WCF并不是用来替代O/R映射器等工具的。它是关于以开放格式向另一个应用程序公开数据,而不是高端,而基本上是为了集成。在应用程序中使用它是相当愚蠢的,但作为外部接口,特别是在得到工具支持时,它非常出色。
好的例子包括:
- 银行会计访问。如果我只能使用Odata进行家庭银行业务;) 并将我的账单导入Excel。 - 交易;) 是的,好吧 - 我有一个交易服务器(然后连接到各种经纪人)。我有一个Web前端。我现在也将通过OData公开某些数据,这样我可以轻松地将事物输出到Excel等,甚至可以使用Silverlight应用程序处理一些东西...但我不会在一个应用程序中使用OData来替换我的对象基础设施-太多的头疼。 - Ebay可以为大客户提供OData接口。很好地概述您的拍卖,并对您的帐户进行一些基本维护。没有高性能,但再次,有工具支持。Excel,报告服务很快都支持OData。
从集成的角度来看,它使得很多意义。它不是一个完整的环境-那“永远”不起作用。然而,它是一个非常好的标准化,可以通过语义(比Web服务更好的标准化查询和过滤逻辑)和工具支持来打开应用程序。
但我似乎并没有遇到你提到的很多问题:
- 任何我使用的东西都有一个定义的键。 - 我从不做多对多关系。我总是有一个带有键的中间对象....这样我就可以向其添加属性(即使只是时间戳)。
这些服务是面向数据的,我真的很喜欢它们。我是一个大OO粉丝,但是工具支持使它成为应用程序的完美外部接口。

刚刚在一个内部项目中使用了它,我对OData和WCF数据服务产生了强烈的喜爱之情。 - Kev
就我个人而言,我也非常高兴。我真的很喜欢这个工具。最终,我可以根据我的对象模型(如公开的)进行报告(2008 r2报告服务),而不必去数据库。 - TomTom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接