繁体   English   中英

使用Spring在应用服务器中实现业务逻辑

[英]Implement the business logic in an app server with spring

是否可以使用pojos而不是EJB或Servlet在App Server远程中实现业务逻辑。 主要思想是应用3层模型,其中客户端可能既是Web浏览器又是桌面应用程序,并且它们在App Server中共享业务逻辑。

这将是架构

浏览器-----> Web服务器--------> |应用服务器(常见的业务逻辑)| -------> | RDBMS常见|
桌面应用程序(例如,Swing)-> |应用程序服务器(业务逻辑公用)| -------> | RDBMS公用|

您可以使用Spring而不是EJB。 我推荐!

但是,这两种选择都将以出色的方式为您处理企业功能,例如事务处理和安全性。

无论是否使用Spring,您仍然需要一个Servlet容器来存储您的网页。 如果正确配置Servlet容器的web.xml文件,则Servlet容器可以启动Spring容器。

Spring的事务处理示例:

@Transactional
public void execute(..) {..}

并使用EJB 3.x:

@TransactionAttribute
public void execute(..) {..}

如您所见,这两种选择都可以为您声明性地添加企业功能。

阅读了HenryOS的评论后进行了更新:

一台服务器上可以包含所有业务逻辑。

一种解决方案是在客户端(WEB服务器和胖Swing客户端)之间使用Web服务。 这是一个非常不错的松耦合解决方案。

如果您需要更高的速度,可以考虑使用Google的协议缓冲区或类似技术。

有趣的是,对于Web服务或协议缓冲区,您仍然需要带有业务逻辑的服务器上的Web容器(例如Tomcat或Jetty),因为它必须为客户端提供Web服务。 所有Web服务框架(例如Spring WS,CXF和Apache Axis 2)都使用Servlet。

当涉及到层时,我将建议在WEB服务器上使用两层,因为您仅在将数据发送到业务服务器之前先呈现和检索数据。 在业务服务器上,我将建议三层。 顶层用于处理Web服务,中间层是业务层,底层是数据库和其他企业系统的集成层。

最终,如果您将CXF或Spring WS与JAXB一起使用,那么您在业务服务器上的所有类都可以编写为POJO! 它也适用于其他几种编写良好的Web Service框架。

我希望这回答了你的问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM