我正在寻找关于在分层架构中使用不同语言的一些建议/反馈。现在,所讨论的体系结构是一个全Java堆栈(db,中间层和Web层),使用Spring将所有内容绑定在一起。我们一直在讨论将Ruby on Rails用于Web层的想法,但我想知道是否有人之前已经这样做过(可能使用不同的语言/技术)。切换到RoR背后的想法是提高Web层的开发速度,但是我最初的分析是它也会降低中间层的开发速度。
我试图获取数据的一些问题是:
答案 0 :(得分:2)
虽然我没有RoR的经验,但我们采用了类似的方法将Django作为前端层,我们将使用基于java的服务进行高容量事务处理后端。
我们在django模型中定义数据库,使用django views / jquery开发Web前端,显然可以获得一个免费的管理站点。
在java方面,我们运行一个hibernate逆向工程任务来为java代码生成数据库访问类。如果需要,我们使用家庭制作的JSON而不是AMQP RPC机制来在python和java组件之间进行通信。
这种方法有起有落。对于我们而言,由于我们没有使用任何大型Java框架,它使我们能够访问我们的解决方案的快速/轻量级Web前端,以及使用Django模型格式(我非常喜欢)对数据库建模的简便性。
在不利方面,我们确实遇到了一些hibernate逆向工程配置的棘手问题(如果你做的事情不是标准的话,这很复杂 - 尤其是与某些Django ManyToMany关系有关)。
我注意到你提到你已经拥有一个带有Web层的基于Spring的架构。我不是这里的专家,但可能会为您提供值得探索的机会,例如groovy / grails或SpringMVC,它们在版本3中声称要简化并且更快地开发。这可能会为您提供所需的胜利。
折衷方案可能是查看一些受RoR启发的Java工具,如Rife。
最重要的是,您必须根据自己的应用程序要求和团队功能进行调用。它对我们有用,我认为对我们来说是正确的决定,但如果你的团队已经加入了Java&春季技能然后春季3可能是要走的路(但问一位Spring专家:-))
罗布
答案 1 :(得分:1)