构建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层可以照原样使用。
为常用功能创建一个通用项目(Jar),并与2个不同的项目共享,一个用于Web应用程序,另一个用于移动应用程序。
我真的很感激任何有关上述的建议/意见。
谢谢
在我看来,你应该考虑使用MQ系统(RabbitMQ eg)并将你的应用分成三层:
这就是你在第二种选择中所描述的。 但我认为有中间层(MQ)避免耦合会更好。
我认为Hibernate需要配置分布式二级缓存(EhCache eg),以使后端可扩展。
通过这种体系结构,您可以通过添加后端服务器并在MQ中的队列中订阅它来简化您的应用程序的吞吐量。
上一篇: Architecting RESTful app ... out of ... Java Web app
下一篇: How much spring hibernate effect on memory consumption than pure jsp/servlet?