java-ee - tomee plume
Diferencia entre servidor web, contenedor web y servidor de aplicaciones (7)
Una aplicación web se ejecuta dentro de un contenedor web de un servidor web. El contenedor web proporciona el entorno de tiempo de ejecución a través de componentes que proporcionan contexto de nomenclatura y administración del ciclo de vida. Algunos servidores web también pueden proporcionar servicios adicionales, como seguridad y control de concurrencia. Un servidor web puede trabajar con un servidor EJB para proporcionar algunos de esos servicios. Sin embargo, un servidor web no necesita estar 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 escuchas de eventos web. Estos componentes normalmente se ejecutan en un servidor web y pueden responder a solicitudes HTTP de clientes web. Los servlets, las páginas JSP y los filtros se pueden usar para generar páginas HTML que son la interfaz de usuario de una aplicación. También se pueden usar 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
Por favor, dígame la diferencia entre el servidor web, el contenedor web y el servidor de aplicaciones.
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, asignar una URL a un servlet determinado y garantizar que el solicitante de URL tenga los derechos de acceso correctos.
La idea básica del contenedor Servlet es usar Java para generar dinámicamente la página web en el servidor utilizando Servlets y JSP. Entonces, el contenedor de servlets es esencialmente una parte de un servidor web que interactúa con los servlets.
La principal diferencia entre los contenedores web y el servidor de aplicaciones es que la mayoría de los contenedores web como Apache Tomcat implementa 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.
Los contenedores web son responsables de proporcionar el entorno de tiempo de ejecución para las aplicaciones web. Contiene componentes que proporcionan contexto de nomenclatura y gestiona 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 el lugar donde residen los componentes creados por JSP. Son básicamente 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.
Servidor web: proporciona una solicitud HTTP y una respuesta HTTP. Maneja la solicitud del cliente solo a través del protocolo HTTP. Contiene contenedor web. Aplicación web principalmente implementada en el servidor web. EX: Servlet JSP
Contenedor web: mantiene el ciclo de vida para el objeto servlet. Llama al método de servicio para ese objeto servlet. pasar el objeto HttpServletRequest y HttpServletResponse
Servidor de aplicaciones: Tiene una gran aplicación de empresa que tiene una gran lógica de negocios. Es de gran peso o tiene aplicaciones de gran peso. Ej: EJB
Tu 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 componentes como Servlets, JSP. Es una parte del servidor web.
Servidor web o servidor HTTP: un servidor que es capaz de manejar solicitudes HTTP, enviadas por un cliente y respondidas con una respuesta HTTP.
Servidor de aplicaciones o servidor de aplicaciones: puede manejar todas las operaciones de aplicaciones entre usuarios y las aplicaciones o bases de datos empresariales de back-end de una organización. Se ve frecuentemente como parte de una aplicación de tres niveles con: nivel de presentación, nivel lógico, nivel de datos