0

我打算用 Metro/Hibernate 用 Ja​​va 开发一个 Web 服务(SOAP 到 C++ 客户端),并在它前面有一个用 JRuby on Rails 编写的网站,通过 JRuby 和通常通过数据库连接 Java 模块。我已经编写了一些代码并设置了所有内容。

现在,我听说 .NET 3.5 非常强大,并且在阅读了一些内容后我承认这是真的。但是,放弃 Java 和 RoR 的这种可怕而奇怪的混合体,将所有东西都切换到 .NET 是否有意义?一切:服务、数据库连接(对象的 linq)、web-front、ajax 东西——一切都在一个巨大的 .NET 3.5 解决方案中。

我也希望玩得开心,但不如说,在 C++ 中用于服务器端:)

我知道,凭借 RoR 的力量,它是否属于任何一方并不重要。但是,无论我是为 .NET 还是 Java 设置的,我仍然觉得我做错了,我应该切换到我当前正在使用的非侧。

我在 Web 开发方面的经验非常有限,我只写过一次 ASP.NET Web 服务并支持 Java Web 服务,所以我有一个真正的强迫症,可以在这里选择平台。

4

4 回答 4

4

.NET 3.5 很有趣(在主流平台中),但在我个人看来,Ruby 的乐趣与 .NET 3.5 一样有趣。

关于功能,它们也大致相当,您当然可以在两者中毫无问题地制作一个 SOAP Web 服务应用程序。

关于“可怕的混合”,没有这样的东西,它只是一个(非常活跃的)端口,就像 .NET 领域的 IronRuby 或 IronPython。

当然,如果你坚持使用 .NET 并用 C# 编写,而不是混合搭配 Ruby 和 Java,将会有更多连贯的整体。但是您当然只能使用 JRuby。

鉴于乐趣和能力因素或多或少相等,我会选择 JRuby,以防我将来碰巧必须部署在 Linux、Solaris 或其他非 Windows 上。

如果您确定要永远坚持使用 Windows,请选择对您来说最有趣的东西。

于 2008-12-29T17:00:14.937 回答
2

对不起,但你在做的事情听起来像个大泥球。你走哪条路对我来说并不重要,但我会通过减少你正在使用的技术/框架的数量来简化架构。如果您可以在 Ruby/Rails 中找到一种无需参考 Java 的方法(尽管您可能需要保留 C++ 客户端),那将是可行的。显然,在 .NET(我的首选平台)中工作是另一种选择。Windows Communication Foundation 使得编写比旧的 ASP.NET Web 服务更轻的 Web 服务(包括使用 JSON 的 RESTful Web 服务)变得更加容易。

如果我今天这样做,我会使用 ASP.NET MVC 作为 Web 前端、WCF(用于 Web 服务),或者消除 C++ 客户端,或者考虑用 C# 和 .NET 或 Mono 编写它。

于 2008-12-29T17:00:30.427 回答
0

在我看来,你在这里有点过度计划或过度工程。通过阅读,我对您的架构不太清楚,但我看到很多词,如 .NET、Java、SOAP、C++、JRuby on Rails、RoR、Web 服务、Hibernate、ajax、linq 等,都被抛出周围,​​所以我只是想知道它们将如何融合在一起。由于我不太了解您的问题,因此这里有一些可能适合或不适合您需求的简化架构。我也没有看到你的帖子有任何问题,所以鉴于这种情况,我建议:

  1. Web 前端:使用 Ajax 的 RoR。网络服务:.NET。数据访问:Linq。

    这意味着您的 .NET Web 服务将使用 Linq 访问数据并通过 SOAP 公开,这将由前端 Ror 使用。

  2. 或者,将 .NET 替换为 Java,将 Linq 替换为 Hibernate。

如果以上没有用,那么我的另一个建议是您不必将所有这些技术组合在一个解决方案中。

于 2008-12-29T17:13:33.987 回答
0

我宁愿在未来转向 FreeBSD 或 Debian……我肯定不想永远留在 Windows 上。但是有Mono,对吧?

于 2008-12-29T17:14:13.130 回答