Ruby on Rails或Java EE对我来说哪个更好?

时间:2009-07-13 14:01:42

标签: ruby-on-rails java-ee

我有一大堆经典的ASP页面要转换。我将运行Mac OS X服务器1.5.7。我可以在合理的范围内选择任何我想要的东西,但是我被困在Ruby on Rails或完整的Java EE堆栈和ORM之间。

我主要担心的是我必须要访问的数据库以及每个框架/堆栈的功能。在RoR中实际构建了一些东西后我开始担心。我不知道为什么,可能只是缺乏经验,但它并没有“感觉”它是正确的。我当然可以忽略这种感觉,并在没有任何相反证据的情况下向前推进。

我必须点击以下现有数据库,这些数据库不会被转换为其他数据:

甲骨文 安格尔 Sql Server MySQL的 也许别的什么

哪种框架/技术堆栈更适合此Intranet应用程序?

感谢您的帮助。

编辑:我不知道这是否重要,但我点击了所有数据库并将它们重新组合在一起。这不是一个数据库的一页。我查询它们并将其带回页面。

编辑:我对RoR和Java EE的经验都很有限,但必须选择其中之一或其他。

编辑:忘记提及我已经在Rails上设置了Jruby,而不仅仅是在轨道上设置了红宝石。

编辑:从下面的评论(谢谢)我有这个:

它是一个接受xml并将其传回的Web服务吗? - 这是可能的,但不是现在

它是基于表单的票证入口申请吗? - 部分需要

这是一个简单的CRUD吗? - 部分内容

用户使用它做什么? - 基本上它是许多不同类型的网页。我有一个部分,它本身就是一个完整的应用程序。另一部分是从许多不同的数据库源中提取数据。我有不同的用户有不同的需求。我一直在寻找解决方案。如果我想要的话,我可以有几种不同的语言和框架 - 这就是我现在在微软服务器上所拥有的,但我一直在寻找一种一致的做事方式。这是一个很大的整合,但我不想买一些websphere来做它。

它如何与数据库交互? - 不确定该说什么,jdbc,crud,或只是阅读,它根据特定网页的需要而变化

有多少用户使用该应用程序? - 可能是1000但它可能会增长。如果我将其中的一部分移动到互联网应用程序,该部分可以有数千个。

5 个答案:

答案 0 :(得分:8)

坦率地说,这还不够。我会问这样的问题:

是否有支持的“遗留”数据库模式?听起来有可能。如果是这样,ORM可能会非常难以使用,而SQL可能会很快。这是支持Java的一点。

您在Java或RoR中拥有哪些现有技能?如果有更多经验,那么就更好。它极大地降低了风险。

除此之外,你对申请的类型,特征,要求等都没有说什么,所以你真的不能说出这样或那样的方式。

如果你选择Java,那么选择Spring不仅仅是“经典”Java EE(即EJB)。 Spring Remoting,Spring Web Services等以简单易用的方式击败了EJB(甚至3.0)。如果您想要一个以SQL为中心的持久层,请查看Ibatis。实际上,这是一个Spring and Ibatis Tutorial

如果您喜欢持久层的更多对象模型风格,请使用Hibernate或EclipseLink。两者都适用于Spring。

至于应用程序服务器,我强烈推荐Glassfish(v2或v3)。

答案 1 :(得分:4)

在我有限的经验中,当您允许它创建必要的数据库模式时,RoR的工作要好得多。仅在这一点上,我建议使用Java EE和Hibernate(或类似的东西),因为尝试与遗留数据库表集成时,您将不那么沮丧。

您还提到您缺乏使用RoR的经验 - 您是否具有使用Java EE和任何持久性框架(如Hibernate)的经验?我肯定会尝试坚持你所知道的,除非项目的时间限制包含一个“学习预算”,你可以使用新的语言和框架。

答案 2 :(得分:1)

如果你正在构建一个大型遗留堆栈(听起来像你)。您可能会发现Java世界将帮助您消除一些常见接口背后的痛苦。从我的,有限的经验来看,使用ROR它本身并不能与其他模型很好地配合使用。

答案 3 :(得分:0)

我认为没有“更好”的解决方案。我认为这取决于你对每个Ruby和Java的技能水平。如果您和您的团队更擅长Java,那么请使用Java。除非时间和金钱不是对象,否则你可能想学习Ruby(反之亦然,我只选了一个)。

您希望能够创建稳定,可维护的Web服务器。因此,您需要评估哪个是最容易开发,最容易维护和最稳定的环境。我不认为,正确开发的思想你,一个实际上比另一个标准的内部网页面“更好”。这实际上取决于网页/网络服务应该做什么。

也许如果你告诉我们更多关于网站实际上做了什么,我们可以给出更好的答案。

答案 4 :(得分:0)

Groovy和Grails怎么样?你可以充分利用这两个世界......

相关问题