Java Web Application 和 Java Enterprise Application 之间有什么区别?[已关闭]

2022-09-04 21:41:12

我一直在对Java Web应用程序和企业应用程序之间的区别进行一些研究,我发现它们具有一点相似的体系结构。

例如,企业应用程序具有客户端、表示、业务逻辑和数据层。

客户端层可以是 Java 客户端、基于浏览器的客户端和移动客户端。
表示层可以是 JavaBeans 组件、servlet、门户和 JSP 组件。
业务逻辑层中,您可以拥有服务器、Web 服务(SOAP、Restful 等)和 MDB 组件。
数据层中,可以有 DBMS、LDAP 和数据馈送。

现在,如果我们将这些组件与Web应用程序进行比较,则可以在不创建Java Enterprise应用程序的情况下使用它们。例如,我可以使用许多不同的技术来实现我的Web应用程序,例如Hibernate,Maven,JSP或JSF,Databases,Servlets,JavaBeans等。

我最大的问题是Java Enterprise应用程序和Web应用程序之间的主要区别是什么?为什么我会使用Java Enterprise应用程序?


答案 1

为什么我要使用 Java 企业应用程序?

这个问题几乎在规范本身看到光明的同时出现。

关于这个主题已经写了几本书。

无需 EJB 的专家级一对一 J2EE 开发

POJO 在行动:使用轻量级框架开发企业应用程序

Spring这样的技术也提供了替代方案。

因此,在大多数情况下,您可以构建满足客户要求的 Web 应用程序,而无需构建企业应用程序。

但是,有些应用程序具有特殊的功能和/或非功能要求,这些应用程序需要有一个在提供某些服务的基础结构上运行的业务层,例如:分布式事务,消息传递过程,定时器服务和远程方法调用。

这种基础结构服务在Web服务器中不可用,因此您需要开发一个在重负载应用程序服务器上运行的应用程序(或至少某些组件)。


答案 2

oracle 网站上可以看出,Java Enterprise Edition 是一个规范。来自不同供应商的大量实现。与标准版和企业版的主要区别在于,对于后者,您需要一个应用程序服务器,而不是像tomcat这样的Web服务器。这是因为放置业务逻辑的 EJB(仅存在于 Java EE 规范中)需要一个负责它们的容器。

JBoss,Geronimo,Resin,WebSphere等都是管理EJB的应用程序服务器。


推荐