Aunque el título es “algo” sesgado, me propongo en este post hacer, de manera no tan humilde, una comparación entre 2 servidores de aplicaciones: Tomcat y GlassFish. Primero que todo, un servidor de aplicaciones, desde una mirada muy somera, no es más que una especie de contenedor, desde el cual se muestran y ejecutan las paginas web, hechas por los desarrolladores. Tomcat es quizás uno de los primeros servidores de aplicaciones, open source, realizado por la comunidad Apache, algunos empleados y ex-empleados de Sun. Si bien es cierto que en un comienzo Tomcat marcó la pauta en el desarrollo web (de hecho fue donde di los primeros pasos en el manejo de JSP’s), la llegada de GlassFish y Java EE 5 le asestó un golpe del cual difícilmente se podrá recuperar.
Cabe resaltar que Tomcat no es más que un contenedor web, mientras que GlassFish es un conjunto de contenedores de Java EE, dentro de los cuales esta el contenedor web. Esto permite que, entre otras cosas, GlassFish no solo se limite a interpretar jsp’s, sino que brinda compatibilidad con tecnologías de vanguardia como php, ruby, jruby, desde el arranque sin necesitar mayor configuración. Esto implica que bajo GlassFish se puedan correr las aplicaciones hechas para Tomcat sin mayores cambios o configuraciones, lo más seguro es que funcionen de primera. Además cuenta con funcionalidad de cluster y balanceo de carga que permite tener varios servidores respaladando una misma aplicación, incluso se pueden crear servidores virtuales por cada máquina, que solo respondan a determinados puertos. Otra desventaja de Tomcat, sino es la principal, es que NO es 100% compatible con Java EE 5, lo cual es un gran inconveniente en un ambiente productivo, donde se necesitan contar con todas las herramientas disponibles.
Asi como comenté en un post anterior, GlassFish v2, cuenta con un centro de actualización, desde el cual se puede instalar, o actualizar módulos del servidor de forma fluida y sencilla, además la nueva versión, GlassFish v3 Prelude tiene un “preview” de las nuevas tecnologías disponibles en Java EE 6, como por ejemplo JSF 2.0 JPA 2.0. Otra razón para escoger GlassFish es el manejo que se le da a la seguridad, pues permite meadiante la tecnologia “realm” para manejar el login a una aplicación ya sea a través de LDAP, una BD, o un archivo tal y como lo muestra este tutorial que utiliza NetBeans 6.5
Como vemos GlassFish es más que un contenedorr para desplegar páginas web, es una herramienta muy interesante, que brinda muchas funcionalidades de una manera muy sencilla, incluso para ambientes de producción y a un bajo costo, pues es un producto open source, aunque también cuenta con una linea comercial. Si bien Tomcat ha muchos nos sirvió y algunos siguen utilizando, espero que éstos últimos al menos le den una mirada a GlassFish y lo prueben, no se arrepentirán.






Stumble It!