Ria Services与WCF Dataservices

NPe*_*son 5 silverlight wcf wcf-data-services wcf-ria-services

我的团队正在评估更大的商业门户网站.(发票,簿记,工资.....)

我们都习惯使用DDD,O/R映射器和NHibernate作为我们的首选.我们选择使用CompositeWPF来保持业务门户中所有模块和部件系统之间的模块化.

现在我们已经对Ria Services进行了评估,并且对于它如何以面向数据的方式工作感到失望,面向数据的方面可以很好地面向服务的方案,但我们觉得我们可以采用面向对象的方法,我们觉得我们可以使用OO方法获得比DO方法更低复杂度的应用程序.例如,它不允许值对象,多对多关系,一切都需要有键等等.

我们还没有看过WCF数据服务,所以我们的问题是WCF数据服务我们的回答?它是否与Silverlight 4很好地集成?我们能否以OO方式使用它?

小智 2

RIA / WCF 并不是要取代 O/R 映射器等。它是以开放格式向另一个应用程序公开数据。不是高端,但基本上是为了集成。恕我直言,将其放入应用程序中是相当愚蠢的,但它是一个很棒的外部接口,特别是当它获得工具支持时。

好的例子:

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

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

不过,不知怎的,我并没有真正遇到你提到的很多项目的很多问题:

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

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