我正在寻找关于在分层架构中使用不同语言的一些建议/反馈.现在,所讨论的体系结构是一个全Java堆栈(db,中间层和Web层),使用Spring将所有内容绑定在一起.我们一直在讨论将Ruby on Rails用于Web层的想法,但我想知道是否有人之前已经这样做过(可能使用不同的语言/技术).切换到RoR背后的想法是提高Web层的开发速度,但我最初的分析是它也会降低中间层的开发速度.
我试图获得数据的一些问题是:
>在类似的架构中,是否有任何小型开发团队实际使用混合语言方法?
>你为什么使用这种方法?什么运作良好,什么没有效果?
>您将如何处理接口和模型(可能使用Google协议缓冲区或Apache Thrift)?
>使用这样的方法还有其他任何好处或陷阱吗?
解决方法:
虽然我没有RoR的经验,但我们采用了类似的方法将Django作为前端层,我们将基于Java的服务用于高容量事务处理后端.
我们在django模型中定义数据库,用django views / jquery开发web前端,显然得到一个免费的管理站点.
在java方面,我们运行一个hibernate逆向工程任务来为java代码生成DB访问类.如果需要,我们使用家庭制作的JSON而不是AMQP RPC机制来在python和java组件之间进行通信.
这种方法有起伏不定.对于我们而言,由于我们没有使用任何大型Java框架,它使我们能够访问我们的解决方案的快速/轻量级Web前端,以及使用Django模型格式(我非常喜欢)对数据库建模的简便性.
在不利的方面,我们确实遇到了一些hibernate逆向工程配置的棘手问题(如果你做的不是标准的话,这很复杂 – 特别是与一些Django ManyToMany关系有关).
我注意到你提到你已经拥有一个带有Web层的基于Spring的架构.我不是这里的专家,但可能会为您提供值得探索的机会,例如groovy / grails或SpringMVC,它们在版本3中声称要简化并且更快地开发.这可能会为您提供所需的胜利.
妥协可能是看一些像Rife这样的RoR灵感Java工具.
最重要的是,您必须根据自己的应用程序要求和团队功能进行调用.它对我们有用,我认为对我们来说是正确的决定,但如果你的团队已经加入了Java&春季技能然后春季3可能是要走的路(但问春天专家:-))
抢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。