Diferencia entre servidor web, contenedor web y servidor de aplicaciones

96

Dígame la diferencia entre servidor web, contenedor web y servidor de aplicaciones.

Gautama
fuente
Gracias por la respuesta ... revisé esos enlaces y me gustaría preguntarte una cosa. ¿Podemos decir que Tomcat es un servidor de aplicaciones
Gautam
No, Tomcat es un contenedor de servlets.
David Grant

Respuestas:

64

Su pregunta es similar a la siguiente:

¿Cuál es la diferencia entre el servidor de aplicaciones y el servidor web?

En Java: Web Container o Servlet Container o Servlet Engine: se utiliza para administrar los componentes como Servlets, JSP. Es parte del servidor web.

Servidor web o servidor HTTP: un servidor que es capaz de manejar solicitudes HTTP, enviadas por un cliente y responder con una respuesta HTTP.

Servidor de aplicaciones o servidor de aplicaciones: puede manejar todas las operaciones de las aplicaciones entre los usuarios y las bases de datos o las aplicaciones comerciales de back-end de una organización. Con frecuencia se ve como parte de una aplicación de tres niveles con: nivel de presentación, nivel lógico, nivel de datos

DomincJune
fuente
Gracias por la respuesta ... podemos decir que Tomcat es un servidor de aplicaciones.
Gautam
Apache Tomcat es Servlet Engine e IBM - WebSphere Application Server es un ejemplo de Application Server
DomincJune
Apache HTTPD es un servidor web
atish shimpi
5
Apache HTTPD es un servidor web, Apache Tomcat es un contenedor web, que de hecho es Apach HTTPD + un motor de servlet. Un servidor de aplicaciones Java con la configuración anterior sería: Apache Tomcat + contenedor EJB + API (JDBC, JNDI, JTA / JTS, JCA, JMX, JAAS, Java Mail, JMS). Un contenedor web solo ejecuta WAR, un servidor de aplicaciones ejecuta EAR.
ziMtyth
10

Servidor web: proporciona solicitud HTTP y respuesta HTTP. Maneja la solicitud del cliente solo a través del protocolo HTTP. Contiene contenedor web. Aplicación web implementada principalmente en servidor web. EJ: Servlet JSP

Contenedor Web: mantiene el ciclo de vida del Objeto Servlet. Llama al método de servicio para ese objeto de servlet. pasar el objeto HttpServletRequest y HttpServletResponse

Servidor de aplicaciones: contiene una gran aplicación empresarial con una gran lógica empresarial. Es de peso pesado o tiene aplicaciones de peso pesado. Ej .: EJB

Avinash Pande
fuente
8

Una aplicación web se ejecuta dentro de un contenedor web de un servidor web. El contenedor web proporciona el entorno de ejecución a través de componentes que proporcionan un contexto de nomenclatura y una gestión del ciclo de vida. Algunos servidores web también pueden proporcionar servicios adicionales como seguridad y control de concurrencia. Un servidor web puede funcionar con un servidor EJB para proporcionar algunos de esos servicios. Sin embargo, no es necesario que un servidor web esté ubicado en la misma máquina que un servidor EJB.

Las aplicaciones web están compuestas por componentes web y otros datos como páginas HTML. Los componentes web pueden ser servlets, páginas JSP creadas con la tecnología JavaServer Pages ™, filtros web y detectores de eventos web. Estos componentes normalmente se ejecutan en un servidor web y pueden responder a solicitudes HTTP de clientes web. Se pueden usar servlets, páginas JSP y filtros para generar páginas HTML que son la interfaz de usuario de una aplicación. También se pueden utilizar para generar XML u otros datos de formato que consumen otros componentes de la aplicación.

Fuente: http://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html

Rahul Maurya
fuente
4

El contenedor web, también conocido como contenedor de servlets, es el componente de un servidor web que interactúa con los servlets de Java. Un contenedor web es responsable de administrar el ciclo de vida de los servlets, mapear una URL a un servlet en particular y garantizar que el solicitante de la URL tenga los derechos de acceso correctos.

Indra Kant
fuente
1

La principal diferencia entre los contenedores web y el servidor de aplicaciones es que la mayoría de los contenedores web, como Apache Tomcat, implementan solo JSR básico como Servlet, JSP, JSTL, donde los servidores de aplicaciones implementan toda la especificación Java EE. Cada servidor de aplicaciones contiene un contenedor web.

JFC
fuente
0

Contenedor web + manejo de solicitudes HTTP = WebServer

Servidor web + EJB + (Mensajería + Transacciones + etc) = ApplicaitonServer

Srikant M
fuente
-1

Los contenedores web son responsables de proporcionar el entorno de tiempo de ejecución a las aplicaciones web. Contiene componentes que proporcionan contexto de nomenclatura y administra el ciclo de vida de una aplicación web. Los contenedores web son parte de un servidor web y generalmente procesan la solicitud del usuario y envían una respuesta estática.

Los contenedores de servlets son aquellos en los que residen los componentes creados por JSP. Básicamente son responsables de proporcionar contenido dinámico según la solicitud del usuario. Básicamente, los contenedores web responden con un contenido estático según la solicitud del usuario, pero los Servlets pueden crear las páginas dinámicas.

Hemang Rindani
fuente
-1

La idea básica del contenedor Servlet es usar Java para generar dinámicamente la página web en el lado del servidor usando Servlets y JSP. Entonces, el contenedor de servlets es esencialmente una parte de un servidor web que interactúa con los servlets.

Varun Vashista
fuente