使用spring在app服务器中实现业务逻辑
作者:互联网
是否可以使用pojos而不是EJB或Servlets ???在App Server远程实现业务逻辑.主要思想是应用3层模型,其中客户端可以是Web浏览器和桌面应用程序,并且它们在App Server中共享业务逻辑.
这将是架构
浏览器—–> Web服务器——–> | App Server(业务逻辑通用)| ——-> | RDBMS常见|
桌面应用程序(例如Swing) – > |应用服务器(业务逻辑通用)| ——-> | RDBMS通用|
解决方法:
您可以使用Spring而不是EJB.我推荐它!
但两种替代方案都能以出色的方式为您处理事务处理和安全等企业功能.
无论是否使用Spring,您仍然需要一个用于Web页面的Servlet容器.如果您正确配置Servlet容器的web.xml文件,Servlet容器可以启动Spring容器.
Spring的事务处理示例:
@Transactional
public void execute(..) {..}
使用EJB 3.x:
@TransactionAttribute
public void execute(..) {..}
如您所见,两种备选方案都允许您以声明方式添加企业功能.
阅读HenryOS评论后更新:
可以在一台服务器上拥有所有业务逻辑.
一种解决方案可以是在客户端(WEB服务器和胖Swing客户端)之间使用Web服务.这是一个相当不错且松散耦合的解决方案.
如果您需要更快的速度,可以考虑使用Google的Protocol Buffer或类似技术.
有趣的是,使用Web服务或协议缓冲区,您仍然需要具有业务逻辑的服务器上的Tomcat或Jetty等Web容器,因为它必须为客户端提供Web服务.所有Web服务框架(如Spring WS,CXF和Apache Axis 2)都使用Servlet.
说到图层,我会在WEB服务器上推荐两个图层,因为您只在将数据发送到业务服务器之前呈现和检索数据.在业务服务器上,我将推荐三层.顶层用于处理Web服务,业务层位于中间,而集成层针对数据库和底层的其他企业系统.
最后,如果您将CXF或Spring WS与JAXB一起使用,那么业务服务器上的所有类都可以写为POJO!它也适用于其他几个编写良好的Web服务框架.
我希望这回答了你的问题!
标签:java,spring,remoting,business-logic 来源: https://codeday.me/bug/20190522/1150655.html