具有Java中/后端的RoR Web层

特里斯坦:

我正在寻找有关在分层体系结构中使用不同语言的一些建议/反馈。现在,有问题的架构是使用Spring将所有内容捆绑在一起的全Java堆栈(数据库,中间层和Web层)。我们一直在讨论在Web层使用Ruby on Rails的想法,但是我想知道以前是否有人这样做过(也许使用了不同的语言/技术)。切换到RoR背后的想法是提高Web层的开发速度,但是我的初步分析是,这也会降低中间层的开发速度。

我试图获取数据点的一些问题是:

  • 是否有任何小型开发团队在类似的体系结构中实际使用了混合语言方法?
  • 您为什么使用这种方法?什么有效,什么无效?
  • 您将如何处理接口和模型(可能使用诸如Google协议缓冲区或Apache Thrift之类的东西)?
  • 使用这样的方法还有其他好处或陷阱吗?
rtmie:

虽然我没有RoR的经验,但我们将Django作为前端层采用了类似的方法,在该层中,我们将使用基于Java的服务进行大量事务处理后端。

我们用django模型定义数据库,用django views / jquery开发Web前端,显然可以得到一个免费的管理站点。

在Java方面,我们运行休眠的逆向工程任务,以生成Java代码的DB访问类。在需要的地方,我们使用AMQP RPC机制上的自制JSON在python和java组件之间进行通信。

这种方法有起有落。对我们来说,因为我们没有使用任何大型的Java框架,它使我们可以快速/轻量级地访问我们的解决方案的Web前端,并且使我们可以轻松地使用Django模型格式(我们非常喜欢)对数据库进行建模。

不利的一面是,我们在休眠反向工程配置方面确实遇到了一些棘手的问题(如果您执行的工作不是非标准的,则很复杂-特别是与某些Django ManyToMany关系而言)。

我注意到您提到您已经具有带Web层的基于Spring的体系结构。我不是专家,但是可能会为您提供值得探索的机会,例如groovy / grails或SpringMVC,在第3版中声称它们大大简化并且开发起来相对较快。这可以为您提供所需的胜利。

一个折衷办法是看一些受RoR启发的Java工具,例如Rife

最重要的是,您将必须根据自己的应用程序需求和团队能力来打电话。它对我们有用,我认为对我们来说是正确的决定,但是如果您的团队已经掌握了Java和Spring技能,那么Spring 3可能是可行的方法(但请向Spring专家咨询一下:-))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何避免在Web层和服务层中重复验证?

Web API 2在不同的层中

具有独立实体框架数据层的Web API

AWS beantalk中的工作层和Web层有什么区别

带有REST API数据层的Web应用

各种Java Web表示层技术的优缺点

Undertow 是否具有与 Tomcat WebAuthentication 等效的用于在 Web 层中进行身份验证的功能?

Alfresco中的存储库层VS Web层VS服务器端VS客户端端

Azure Web 应用程序中的 3 层 Web 应用程序

我们可以将 Web 层中的 EC2 实例设为私有吗?

在Spring Boot中没有Web或持久层时,是否可以测试嵌套对象?

具有缓存层的Java对象引用

实例化CSS不显示带有传单Web映射叠加层的多个复选框

3层设计中的Web窗体中的问题解析参数

Spring 5.0.7.RELEASE中的Web层单元测试和集成测试

在DotNet Core 2.2 Web API C#中创建3层架构

哪一层应该负责在asp.net core web api中抛出异常

在Web API,实体框架中使用n层体系结构时,数据访问层中的上下文为null

具有计算密集后端的Vaadin Web应用程序

如何为具有iOS,Android,Web应用程序和Java后端的平台构建源代码控制存储库?

Web api 2具有由Web api控制器方法调用的数据访问层。出现投放错误

Spring MVC与Web应用程序中的服务,控制器和数据访问层有何关系?

如果我们对任何Nix系统有3层,那么Web服务器在哪里?

如果在 3 层应用程序中删除了 Web 服务器,则架构建议

在Keras中构建具有嵌入层的LSTM网络

内部Keras模型中具有多个嵌入层的问题

具有一层控件的Fabric JS层

Keras 权重文件加载异常:将 2 层加载到具有 0 层的模型中

具有休眠的DAO和服务层