Estoy empezando a analizar Enterprise Java y el libro que sigo menciona que usará JBoss. Netbeans se envía con Glassfish. He usado Tomcat en el pasado.
¿Cuáles son las diferencias entre estos tres programas?
Estoy empezando a analizar Enterprise Java y el libro que sigo menciona que usará JBoss. Netbeans se envía con Glassfish. He usado Tomcat en el pasado.
¿Cuáles son las diferencias entre estos tres programas?
Respuestas:
Tomcat es solo un contenedor de servlets, es decir, implementa solo los servlets y la especificación JSP. Glassfish y JBoss son servidores completos de Java EE (que incluyen cosas como EJB, JMS, ...), siendo Glassfish la implementación de referencia de la última pila Java EE 6, pero JBoss en 2010 todavía no era totalmente compatible.
Tomcat es simplemente un servidor HTTP y un contenedor de servlet Java. JBoss y GlassFish son servidores de aplicaciones Java EE completos, que incluyen un contenedor EJB y todas las demás características de esa pila. Por otro lado, Tomcat tiene una huella de memoria más ligera (~ 60-70 MB), mientras que esos servidores Java EE pesan cientos de megas. Tomcat es muy popular para aplicaciones web simples o aplicaciones que usan frameworks como Spring que no requieren un servidor Java EE completo. La administración de un servidor Tomcat es posiblemente más fácil, ya que hay menos partes móviles.
Sin embargo, para las aplicaciones que requieren una pila completa de Java EE (o al menos más piezas que se puedan atornillar fácilmente a Tomcat) ... JBoss y GlassFish son dos de las ofertas de código abierto más populares (la tercera es Apache Geronimo , sobre el cual 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 va muy por detrás de GlassFish en la implementación de las especificaciones actuales de Java EE. Además, para aquellos que prefieren un sistema de administración basado en GUI ... La consola de administración de GlassFish es extremadamente elegante, 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 ESO puede ofrecer.
Debe usar GlassFish para aplicaciones empresariales Java EE . Algunas cosas a considerar:
Un servidor web significa: Manejo de solicitudes HTTP (generalmente desde navegadores).
Un contenedor de servlets (por ejemplo, Tomcat ) significa: puede manejar servlets y JSP.
Un servidor de aplicaciones (por ejemplo, GlassFish ) significa: * Puede gestionar aplicaciones Java EE (generalmente tanto servlet / JSP como EJB).
Tomcat - está dirigido por la comunidad Apache - Código abierto y tiene dos sabores:
No hay soporte comercial disponible (solo soporte comunitario)
JBoss - Ejecutado por RedHat Este es un soporte completo para JavaEE y es un contenedor Java EE certificado. Esto incluye a Tomcat como contenedor web internamente. Esto también tiene dos sabores:
Glassfish - Ejecutado por Oracle Este es también un contenedor Java EE certificado de pila completa. Esto tiene su propio contenedor web (no Tomcat). Esto proviene del propio Oracle, por lo que todas las nuevas especificaciones se probarán e implementarán primero con Glassfish. Por lo tanto, siempre sería compatible con la última especificación. No conozco sus modelos de soporte.
jboss y glassfish incluyen un contenedor de servlet (como tomcat), sin embargo, los dos servidores de aplicaciones (jboss y glassfish) también proporcionan un contenedor de beans (y algunas otras cosas también imagino)
JBoss y Glassfish son básicamente un servidor de aplicaciones Java EE completo, mientras que Tomcat es solo un contenedor de Servlet. La principal diferencia entre JBoss, Glassfish, pero también WebSphere, WebLogic, etc. con 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 de pila completa, 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í. Con Tomcat, por otro lado, solo puede beneficiarse de JSP / Servlet. Sin embargo, a día de hoy con un marco avanzado como Spring y Guice, muchas de las principales ventajas de usar un servidor de aplicaciones de pila completa pueden mitigarse, y con la suposición de uno de estos marcos varonil con Spring Ecosystem,
Parece un poco desalentador usar Tomcat cuando lee estas respuestas. Sin embargo, lo que la mayoría no menciona es que puede obtener 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, EJB con esfuerzos de configuración muy pequeños.
Tanto JBoss como Tomcat son servidores de aplicaciones de servlet Java, 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 Enterprise JavaBeans 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 Java EE que incluye un contenedor de servlets y un servidor web, mientras que Tomcat, en su mayor parte, es un contenedor de servlets y un servidor web.
Apache tomcat es solo un único contenedor de servidor que no es compatible con la aplicación Enterprise Java (JEE). JBoss y Glassfish son compatibles con la aplicación JEE, pero Glassfish es mucho más pesado que el servidor JBOSS: Diapositiva de referencia