¿Qué son los servidores web JEE y los servidores de aplicaciones?

Gracias por A2A,

Si busca “servidor web vs servidor de aplicaciones”, “apache vs tomcat”, “tomcat es un servidor web vs servidor de aplicaciones”, hay muchas respuestas y conclusiones que parecen muy confusas para un principiante.

Consideremos una aplicación web java y su arquitectura.

Una solicitud realizada por el cliente y fluye de la siguiente manera.

Servidor HTTP: administra el cliente y da respuesta a cada solicitud del cliente.
Contenedor web: puede ejecutar código Java simple como Servlet, JSP. (Según el patrón MVC, JSP es la vista y Servlet es el controlador y no se escribe lógica empresarial en JSP / Servlet. Pero estos patrones se mantienen para aplicaciones más grandes, mientras que para aplicaciones pequeñas la lógica empresarial se escribe en clases simples de Java o en servlet o en jsp)
Contenedor EJB: ejecuta los componentes principales de la aplicación java, digamos componentes EJB, etc., donde se enfoca la lógica empresarial. Para aplicaciones más pequeñas, no se necesitan módulos EJB.
Servidor DB: Como sabemos, es el servidor de bases de datos como Oracle, MySql, SqlServer.

ESCENARIO 2: TOMATE DE APACHE
Apache Tomcat maneja una solicitud del cliente. Puede intentar diferenciar entre apache y tomcat. Si, son diferentes.

Apache es el servidor HTTP y Tomcat es el contenedor web. Ambos se combinan para referirse como Servidor Web.

Algunos pueden decir erróneamente que Apache es WebServer y Tomcat es App Server. Pero el hecho es que Tomcat solo tiene un WebContainer (también conocido como WebServer), por lo que Tomcat no es un servidor J2EE

ESCENARIO 1: JBOSS
JBOSS es un ejemplo para el servidor J2EE perfecto. Tiene tanto Servidor web (Contenedor web) como Servidor de aplicaciones (Contenedor EJB) y puede ejecutar componentes EJB. Aquí Tomcat no es necesario ya que JBOSS tiene un servidor web incorporado.

Otros servidores J2EE son IBM WebSphere, Oracle / BEA WebLogic, TomEE, Glassfish se encuentran en el mismo escenario.

Espero que estés claro ahora.

– Andro Babu

El perfil web de Java EE es un subconjunto de la pila completa de Java EE. Estudie las diferencias y encontrará respuestas a su pregunta. Las implementaciones del subconjunto de Perfil web generalmente se denominan libremente Contenedores de servlet (por ejemplo, Apache Tomcat), las implementaciones completas de EE generalmente se denominan Servidores de aplicaciones (por ejemplo, GlassFish).