¿Cuál es la diferencia entre Tomcat, JBoss y Glassfish?


Estoy empezando a buscar en Enterprise Java y el libro que estoy siguiendo menciona que utilizará JBoss. Netbeans envía con Glassfish. He usado Tomcat en el pasado.

¿Cuáles son las diferencias entre estos tres programas?

Author: RAnders00, 2010-09-29

8 answers

Tomcat es solo un contenedor de servlets, es decir, implementa solo los servlets y la especificación JSP. Glassfish y JBoss son servidores Java EE completos (incluyendo cosas como EJB, JMS,...), con Glassfish siendo la implementación de referencia de la última pila Java EE 6, pero JBoss en 2010 aún no lo soportaba completamente.

 471
Author: Petar Minchev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-21 13:04:05

Tomcat es simplemente un servidor HTTP y un contenedor de servlet Java. JBoss y GlassFish son servidores de aplicaciones Java EE completos, incluyendo un contenedor EJB y todas las otras características de esa pila. Por otro lado, Tomcat tiene una huella de memoria más ligera (~60-70 MB), mientras que los servidores Java EE pesan cientos de megas. Tomcat es muy popular para aplicaciones web simples, o aplicaciones que utilizan marcos como Spring que no requieren un servidor Java EE completo. Administración de una El servidor Tomcat es posiblemente más fácil, ya que hay menos partes móviles.

Sin embargo, para aplicaciones que requieren una pila Java EE completa (o al menos más piezas que podrían atornillarse fácilmente a Tomcat)... JBoss y GlassFish son dos de las ofertas de código abierto más populares (el tercero es Apache Geronimo, sobre el que se construye la versión gratuita de IBM WebSphere). JBoss tiene una comunidad de usuarios más grande y profunda, y una base de código más madura. Sin embargo, JBoss se queda significativamente por detrás GlassFish en la implementación de las especificaciones actuales de Java EE. También, para aquellos que prefieren un sistema de administración basado en GUI... La consola de administración de GlassFish es extremadamente hábil, mientras que la mayoría de la administración en JBoss se realiza con una línea de comandos y un editor de texto. GlassFish viene directamente de Sun / Oracle, con todas las ventajas que puede ofrecer. JBoss NO está bajo el control de Sun / Oracle, con todas las ventajas que puede ofrecer.

 335
Author: Steve Perkins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-05 06:46:11

Debe usar GlassFish para aplicaciones empresariales Java EE. Algunas cosas a considerar:

Un servidor web significa: Manejando solicitudes HTTP (generalmente de navegador).

A Servlet Container (e. g. Tomcat) significa: Puede manejar servlets & JSP.

Un Servidor de aplicaciones (por ejemplo, GlassFish) significa: * Puede administrar Aplicaciones Java EE (generalmente servlet / JSP y EJBs).


Tomcat - es ejecutado por la comunidad Apache-de código abierto y tiene dos sabores Tomcat-Web profile-peso ligero que es solo un contenedor de servlet y no admite características de Java EE como EJB, JMS, etc. Tomcat EE-Este es un contenedor certificado de Java EE, es compatible con todas las tecnologías de Java EE.

No hay soporte comercial disponible (solo soporte comunitario)

JBoss - Dirigido por RedHat Este es un soporte de pila completa para JavaEE y es un contenedor certificado Java EE. Esto incluye Tomcat como contenedor web internamente. Esto también tiene dos sabores Versión de la comunidad llamada Servidor de aplicaciones (AS): solo tendrá soporte de la comunidad Enterprise Application Server (EAP): para ello, puede tener una licencia basada en suscripción (se basa en el número de núcleos que tiene en sus servidores.)

Glassfish - Dirigido por Oracle Este también es un contenedor Java EE con certificación full stack. Este tiene su propio contenedor web (no Tomcat). Este proviene del propio Oracle, por lo que todas las nuevas especificaciones se probarán e implementarán con Glassfish primero. Por lo tanto, siempre sería compatible con las últimas especificaciones. No conozco sus modelos de apoyo.

 63
Author: Jaimin Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-06 06:12:17

Jboss y glassfish incluyen un contenedor servlet (como tomcat), sin embargo, los dos servidores de aplicaciones (jboss y glassfish) también proporcionan un contenedor bean (y algunas otras cosas también me imagino)

 12
Author: NimChimpsky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-18 10:57:17

JBoss y Glassfish son básicamente un servidor de aplicaciones Java EE completo, mientras que Tomcat es solo un contenedor Servlet. La principal diferencia entre JBoss, Glassfish, pero también WebSphere, WebLogic, etc. respecto a Tomcat, pero también Jetty, estaba en la funcionalidad que ofrece un servidor de aplicaciones completo. Cuando tenía un servidor de aplicaciones Java EE full stack, puede beneficiarse de toda la implementación del proveedor de su elección, y puede beneficiarse de EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet, por supuesto, y así sucesivamente en. Con Tomcat, por otro lado, solo puede beneficiarse de JSP/Servlet. Sin embargo, hoy en día con un Framework avanzado como Spring y Guice, muchas de las principales ventajas de usar un servidor de aplicaciones de pila completa se pueden mitigar, y con la suposición de que uno de este framework varonil con Spring Ecosystem, puede beneficiarse de muchos subproyectos que en mi experiencia laboral me permiten dejar el uso de un servidor de aplicaciones de pila completa en favor de un servidor de aplicaciones liviano como tomcat.

 4
Author: Valerio Vaudi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-23 15:17:45

Tanto JBoss como Tomcat son servidores de aplicaciones Java servlet, pero JBoss es mucho más. La diferencia sustancial entre los dos es que JBoss proporciona una pila completa de Java Enterprise Edition (Java EE), que incluye JavaBeans Empresariales y muchas otras tecnologías que son útiles para los desarrolladores que trabajan en aplicaciones Java empresariales.

Tomcat es mucho más limitado. Una forma de pensarlo es que JBoss es una pila de Java EE que incluye un contenedor de servlet y un servidor web, mientras que Tomcat, en su mayor parte, es un contenedor de servlet y servidor web.

 3
Author: Spartan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-28 07:12:56

Apache tomcat es solo un único contenedor de serverlet que no es compatible con Enterprise Java application(JEE). JBoss y Glassfish son compatibles con la aplicación JEE, pero Glassfish es mucho más pesado que JBOSS server: Diapositiva de referencia

 1
Author: Oshi_007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-26 09:23:39

Parece un poco desalentador usar Tomcat cuando lees estas respuestas. Sin embargo, lo que la mayoría no menciona es que puede llegar a casos de uso idénticos o casi idénticos con tomcat, pero eso requiere que agregue las bibliotecas necesarias (a través de Maven o cualquier sistema de inclusión que use).

He estado ejecutando tomcat con JPA, EJBs con esfuerzos de configuración muy pequeños.

 1
Author: user2130951,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-02 06:34:29