2010-10-07 201 views
8

不添加另一个关于不同的WCF堆栈的SO帖子,但我想确保我在正确的方向前浪费更多的开发时间...WCF/WCF数据服务/ WCF RIA服务

我的方案 - 我们公司有许多网络应用程序,它们都访问同一系列的数据库。所有的应用程序基本上都是独立开发的,所以有大量的业务逻辑和数据访问重复。最重要的是,我有一个(可能是不合理的)使这个项目独立于客户端的目标 - 将我们当前的业务逻辑和数据访问整合到可以通过Web应用程序,Silverlight,移动应用程序等访问的界面中。

进入WCF - 它让我觉得这是完美的选择。不幸的是,在阅读了存在于各种WCF口味上的所有现有“指导”之后,我总是比任何事情都更加困惑。这里是我到目前为止的结论 - 请随时纠正我:

  • 直WCF - 最灵活和最全面的选择,但一切从头开始;需要大量的时间来配置和测试;在技​​术上最成熟的选项,用钩子完成大部分目标
  • WCF数据服务 - 在线获得REST服务的最快方式;如果应用程序需要直接从数据库中直接公开数据,如果需要业务逻辑,则必须将其写入客户端或通过暴露逻辑的第二个服务写入。
  • WCF RIA服务 - 配置可准备好公开业务逻辑的服务的最快方法;可能在技术上最不成熟的选项(但看起来像是重大投资带来的);肥皂,REST和JSON端点将允许大部分客户端独立性;

所以上面给出我的要求,我得出以下结论 - 数据服务可能是一个非首发,由于业务逻辑的要求(和第二WCF服务消费数据服务的令我的想法极其糟糕的建筑选择);速度很重要,这表明RIA服务可能是最好的开始(称我为懒惰,但由于时间紧迫,拥有一个小团队使代码生成变得有价值)。

有没有更好的方法来处理我描述的目标?我误解了任何/所有的WCF选项吗?关于选择哪种WCF方法(不仅适用于我,而且适用于任何试图评估这些技术的人),还可以提供哪些其他实用指导?

回答

2

我会去直WCF。

这使您可以通过根据要求各个端点暴露你的服务:

  • SOAP实现跨平台的interopability
  • 二进制NetTcp内部客户端需要速度
  • JSON用于轻型接入