java web-applications webserver weblogic application-server

java - Diferencia entre el servidor web y el servidor de aplicaciones



web-applications webserver (5)

Como lego, ¿cómo entiendo la diferencia entre el servidor web y el servidor de aplicaciones? Si pudieras dar un ejemplo usando una aplicación web basada en Java en términos muy "simples", eso sería realmente genial.

También cuando decimos Weblogic, ¿es solo un servidor web?


El servidor web solo puede ejecutar aplicaciones web i, e servlets y JSP y solo tiene un contenedor conocido como contenedor web que se usa para interpretar / ejecutar aplicaciones web.

El servidor de aplicaciones puede ejecutar la aplicación Enterprise, i, e (servlets, jsps y EJB) tiene dos contenedores 1. Web Container (para interpretar / ejecutar servlets y jsps) 2. Contenedor EJB (para ejecutar EJB). puede realizar operaciones como equilibrio de carga, demarcación de transacción, etc.


Un servidor web es algo que maneja las solicitudes y respuestas HTTP.

Un servidor de aplicaciones (como WebLogic, WebSphere, JBoss AS, Glassfish, etc.) generalmente incluye un servidor web, pero también agrega muchas más características. Lo más importante es que maneja objetos. Si serán servlets (contenedor de servlet), EJB (contenedor ejb), oyentes JMS, etc.


Y añadiendo respuestas anteriores, Weblogic es un servidor de aplicaciones y no solo un servidor web.


Básicamente, si decimos que la principal diferencia entre el Servidor Web y el Servidor de Aplicaciones, son los protocolos en los que funcionan estos servidores.

Servidor web : funciona en protocolos como HTTP y HTTPS. Ejemplo de este servidor es Apache. Para el servidor web, usa JSP, Servlet.

Servidor de aplicaciones : funciona en cualquier protocolo. ejemplo es JBOSS. En el servidor de aplicaciones alojamos EJB, servicio web o cualquier lógica de negocios.


Yo diría que las definiciones varían. En el contexto general, un servidor web es un servidor que puede recibir solicitudes web entrantes y tener conocimiento sobre cómo se deben manejar y responder. Algunas solicitudes son estáticas (archivos html, imágenes, etc.), algunas son dinámicas. En el caso de solicitudes dinámicas, el servidor web sabrá dónde enrutar el manejo de la solicitud, podría ser una página JSP o un servlet de Java, un script de PHP, un script de CGI perl, etc.

Si bien el "servidor web" en este contexto ejecuta el controlador dinámico, no se considera que incluya funciones de middleware compatibles para el controlador dinámico.

Un servidor de aplicaciones, por el contrario, es un entorno de ejecución general que ofrece algún tipo de soporte de nivel de middleware. Algunos ejemplos son los contenedores EJB o el marco .NET integrado en Windows (en donde Windows en sí mismo es un "servidor de aplicaciones"). No hay ningún requisito inherente que un servidor de aplicaciones tenga algo que ver con las solicitudes web (aunque muchos lo hacen), es solo un contexto de ejecución general y contenedor para cualquier tipo de aplicación que ofrezca algún tipo de soporte de middleware adicional.

En un contexto puramente web-céntrico, muchas personas trazarán la línea en contenido estático vs dinámico. En esta definición, un "servidor web" solo puede manejar solicitudes de información estática y pasará las solicitudes de contenido dinámico al "servidor de aplicaciones". Por ejemplo, Apache httpd es un servidor web y Tomcat es un servidor de aplicaciones. IIS es una combinación de ambos. En el mundo web de Java, un servidor de aplicaciones puede ser un contenedor de servlets (como Tomcat) o un contenedor completo de Java EE (como JBoss, WebLogic o WebSphere) que proporciona el contenedor de soporte de middleware Java EE (EJB) además del contenedor de servlet.