构建RESTful应用程序...出于... Java Web应用程序

我们目前的Web应用程序架构包括以下内容

Java 6,JBOss 5,MySQL 5.6

表示层(ZK框架)

委托+服务+ DAO层(Spring&Hibernate)

包装:包含所有上述图层的单一战争文件

业务需求:

使用HTML5和Native iOS库为上述Web应用程序的几个模块创建移动应用程序。移动应用程序将能够执行CRUD,下载/上传文件和发送电子邮件。

题 :

我们正在确定上述业务需求的架构。 请记住以下属性

  • 数据逻辑共享(使用Hibernate在DAO层实现)

  • 业务逻辑共享(使用Spring在服务层中实现)

  • QoS - 性能,可扩展性

  • 我们的一些想法:

  • 在Web应用程序内创建一个单独的委托图层并将其作为REST API公开。 底层的服务对象和DAO层可以照原样使用。

  • 将需要扩展应用程序,以处理Web应用程序和移动应用程序的负载!
  • 为常用功能创建一个通用项目(Jar),并与2个不同的项目共享,一个用于Web应用程序,另一个用于移动应用程序。

  • Hibernate会好吗,与2个应用程序共享同一个数据库,没有任何并发​​问题?
  • 我真的很感激任何有关上述的建议/意见。

    谢谢


    在我看来,你应该考虑使用MQ系统(RabbitMQ eg)并将你的应用分成三层:

  • 前端 - 接受客户端请求(一个用于浏览器,另一个用于移动应用程序等)并将它们传输到MQ。
  • 中级(运输) - MQ系统。 传输消息。
  • 后端 - 接受来自MQ的入站消息,处理请求并将答案返回。
  • 这就是你在第二种选择中所描述的。 但我认为有中间层(MQ)避免耦合会更好。

    我认为Hibernate需要配置分布式二级缓存(EhCache eg),以使后端可扩展。
    通过这种体系结构,您可以通过添加后端服务器并在MQ中的队列中订阅它来简化您的应用程序的吞吐量。

    链接地址: http://www.djcxy.com/p/44049.html

    上一篇: Architecting RESTful app ... out of ... Java Web app

    下一篇: How much spring hibernate effect on memory consumption than pure jsp/servlet?