Upload
alejandra-romitti
View
1.510
Download
0
Embed Size (px)
Citation preview
5/12/2018 GlassFish y Tomcat - slidepdf.com
http://slidepdf.com/reader/full/glassfish-y-tomcat 1/4
GlassFish y Tomcat Tomado de:http://mx.sun.com/emrkt/innercircle/newsletter/0209/feature-itm.html?cid=e7959f
Si valora el rendimiento, la facilidad de uso y la agilidad de sus aplicaciones, considere
detenidamente los detalles
El CEO siempre hace preguntas muy sencillas a la dirección de TI. ¿Por qué se quejan los clientesdel nuevo sistema de pedidos en línea? ¿Por qué llevamos ocho meses intentando desplegar esenuevo servicio Web? ¿Por qué falló esta mañana mi aplicación de informes financieros?
Lo que el CEO no suele preguntar es qué tecnología de servidor de aplicaciones utiliza la empresa.Pero en muchos casos, esa es la pregunta importante, porque hay una relación directa entre elservidor de aplicaciones utilizado por los equipos de desarrollo y el rendimiento y agilidad de lasaplicaciones corporativas.
En concreto, la tecnología del contenedor Web utilizado en el servidor de aplicaciones puede ser un factor determinante para la calidad de las aplicaciones y la productividad de los desarrolladores.
Con una tecnología de contenedor Web adecuada, los equipos de desarrollo abarcan más trabajoy las aplicaciones se desarrollan en menos tiempo y funcionan mejor. Una elección equivocadapuede dar lugar a dolores de cabeza en el presente y en el futuro.
Si su negocio son las aplicaciones, merece la pena examinar detenidamente las entrañas delservidor de aplicaciones y la tecnología del contenedor Web y analizar su impacto en los equiposde desarrollo. En este artículo se comparan dos de las opciones de código abierto más populares:GlassFish y Tomcat.
Dos opciones populares, muchas diferencias importantesGlassFish es el servidor de aplicaciones de código abierto creado por la comunidad GlassFish,lanzado por Sun en 2005, y que ha demostrado gozar de gran popularidad entre losdesarrolladores. Actualmente, existen dos versiones principales: GlassFish v2 y la recienteGlassfish v3 Prelude. Hasta la fecha, se han descargado cerca de 9,000000 de copias deGlassFish v2, con 300,000 productos registrados sólo en 2009. GlassFish v3 Prelude ofrecenuevas características y mejoras. Es una excelente plataforma para desplegar aplicaciones deInternet con Java y lenguajes dinámicos como jRuby.
Mientras que GlassFish es un conjunto de contenedores Java EE, uno de los cuales es uncontenedor Web, Tomcat es sólo un contenedor Web. Esta diferencia fundamental se traduce enuna serie de ventajas importantes para GlassFish.El servidor de aplicaciones Tomcat fue promovido por Apache y un grupo que incluía adesarrolladores de Sun y JServ. El código inicial procedía de Sun. Tomcat fue fundamental para laadopción de Java en servidores, se ofrecía con una licencia de código abierto y contribuyódecisivamente a la implantación del software de código abierto en las grandes empresas.
En general, las aplicaciones que funcionan en Tomcat lo harán sin necesidad de cambios enGlassFish. Sin embargo, hay diferencias importantes que afectan al rendimiento, la escalabilidad yla facilidad de uso de las aplicaciones, así como a la productividad de los desarrolladores.
Para comprender estas diferencias, es importante examinar la tecnología del contenedor Websubyacente. El contenedor Web es la parte de un servidor de aplicaciones que se encarga demanejar los servlets, las páginas JavaServer Pages (JSP) y otros componentes del nivel Web.
Mientras que GlassFish es un conjunto de contenedores Java EE, uno de los cuales es uncontenedor Web, Tomcat es sólo un contenedor Web. Esta diferencia fundamental se traduce en
5/12/2018 GlassFish y Tomcat - slidepdf.com
http://slidepdf.com/reader/full/glassfish-y-tomcat 2/4
una serie de ventajas importantes para GlassFish:
Ruta de migración más sencilla. Con GlassFish v2 hay una forma clara y sencilla de aprovechar tecnologías tales como Enterprise Java Beans (EJBs), Java Persistence API (JPA) y Java MessageService (JMS), entre otras. Con Tomcat, estas tecnologías deben agregarse poco a poco, una auna. El desarrollador es responsable de implementar las capacidades y de asegurarse de que todoel conjunto funcione.Preparado para entornos de clustering con failover. GlassFish v2 ofrece capacidad de clustering ysofisticadas funciones de alta velocidad para que las aplicaciones puedan cumplir los exigentesacuerdos de nivel de servicio (SLA) de tipo empresarial. GlassFish v3 Prelude admite clustering através de un equilibrador de carga, aunque todavía no t iene un perfil de clustering.Superioridad en la administración y la supervisión. GlassFish v2 y v3 Prelude permiten laadministración centralizada a través de una consola de administración y de una interfaz de línea decomandos (CLI). GlassFish v2 ofrece supervisión Callflow, que permite a un desarrollador deaplicaciones o un administrador de servidores determinar a qué dedica la aplicación la mayor partede su tiempo. Esta característica también estará disponible en GlassFish v3. Además, otrosproveedores pueden ofrecer su software a través de GlassFish Update Center para facilitar lainstalación en GlassFish. Con Tomcat, el software nuevo se configura de forma poco sistemática.Update Center también proporciona acceso en primicia a las nuevas versiones de tecnologías talescomo EJB 3.1, que permite empaquetar EJB en un WAR en lugar de empaquetar la aplicación en
un archivo EAR.Compatibilidad con lenguajes de script. GlassFish admite, o lo hará en breve, Ruby/JRuby,Python/Jython, Groovy, PHP, JavaScript/Phobos y Scala, entre otros lenguajes.Lo esencial: diferencias adicionales entre los contenedores Web
Además de las ventajas generales mencionadas, GlassFish se diferencia de Tomcat por lasposibilidades que ofrece su contenedor Web. Le ofrecemos algunos ejemplos:
La capacidad de retener sesiones entre distintos despliegues de aplicaciones (v3 Prelude) suponeun importante ahorro de tiempo para los desarrolladores que crean aplicaciones Web Java.GGlassFish v2 y v3 Prelude facilita la reconfiguración dinámica de servidores virtuales y ListenersHTTP sin necesidad de reiniciar el servidor. Con Tomcat, cuando se modifica una fuente derecursos, suele ser necesario reiniciar el servidor de aplicaciones.En v2 y v3 Prelude, el entorno Grizzly de alto rendimiento y alta escalabilidad mejora los tiempos
de solicitud/respuesta. Las capas inferiores del nivel Web de GlassFish se implementan a través deGrizzly Framework. Este entorno está escrito en Java y aprovecha las APIs NIO (red escalable yE/S de archivos) para proporcionar escalabilidad y es altamente personalizable.GlassFish v2 y v3 Prelude incluyen varias optimizaciones de rendimiento, como ³flattened valveinvocation´, una modificación de la arquitectura de válvula que racionaliza la forma de llamar acada válvula, reduciendo así la profundidad de la pila y mejorando el rendimiento. GlassFish v3Prelude también admite válvulas de estilo Tomcat.Sun ha realizado pruebas exhaustivas de escalabilidad para comparar los conectores NIO deTomcat y Glassfish. Estas pruebas utilizan un servlet simple para minimizar el tiempo dedicado enel contenedor y medir cuántas operaciones por segundo admiten los distintos contenedores paraincrementar el número de usuarios. Por ejemplo, con 16,000 usuarios, el benchmark arroja lossiguientes resultados:
GLASSFISH TOMCATOperaciones/segundo 6988,9 6615,3Tiempo medio respuesta 0,242 0,358Tiempo máx. respuesta 1,519 3,69390% tiempo respuesta 0,6 0,75
Consiga todos los detalles y tome la decisión adecuadaLa selección de un servidor de aplicaciones afecta a muchos aspectos de las operaciones de laempresa, no sólo a los equipos de desarrollo. Se trata de una decisión con gran carga estratégicapara el negocio. Sun afirma que GlassFish ha demostrado ser una opción superior para los
5/12/2018 GlassFish y Tomcat - slidepdf.com
http://slidepdf.com/reader/full/glassfish-y-tomcat 3/4
desarrolladores de la nueva generación. Pero le animamos a documentarse en profundidad y asopesar detenidamente sus alternativas. Encontrará información adicional y estudios comparativosde GlassFish y Tomcat en nuestro informe técnico.
Habilitar Tomcat y Glassfish para conexion a bases de datos
En muchas ocasiones me he visto en la necesidad de configurar mi Tomcat o Glassfish para que
mis aplicaciones se peguen a su respectiva base de datos, aun cuando en las librerías de los
respectivos proyectos incluya el driver jdbc necesario.
La forma de configurar Tomcat y Glassfish es muy simple solamente es
necesario incluir en la carpeta "lib" que esta dentro de la ruta de instalación de cualquier de losdos servidores el respectivo JAR.
Para Tomcat y Glassfish:
$HOME_PATH/lib
Donde $HOME_PATH es la ruta de instalación de Tomcat.
En mi debian el instalador de Netbeans deja el $HOME_PATH de Tomcaty Glassfish en la
siguiente ubicación:
/usr/local/apache-tomcat-6.0.18
/usr/local/glassfish-v2ur2 Para windows como tengo ratos de no instalarlo Tomcat no recuerdo donde lo dej el instalador
por defecto pero al igual que en GNU/Linux al obtener el archivo descomprimible lo podemos
ubicar en el lugar que queramos el $HOME_PATH.
En el caso de sistemas GNU/Linux ó Unix no es necesario copiar fisicamete el archivo pues
también se puede utilizar un enlace simbólico.
# ln -s /ruta/del/driver/jdbc_driver.jar $HOME_PATH/lib Como también en mis aplicaciones el DAO Oracle TopLink para JPA en el caso de Glassfish no
es necesario por que ya esta incluido pero paraTomcat no así que es necesario descargar los
respectivos JAR de Oracle TopLink para poder usar persistencia de datos.
Luego de eso reiniciamos los servicios.
5/12/2018 GlassFish y Tomcat - slidepdf.com
http://slidepdf.com/reader/full/glassfish-y-tomcat 4/4
Dejare los links para poder descargar los respectivos driver jdbc para los diferentes gestores debases de datos mas populares.
JDBC Driver para MySQL JDBC Driver para Oracle JDBC Driver para PostgreSQL
JDBC Driver para Apache Derby JDBC Driver para SQL Server / Sybase puede usarse el driver libre o el propietario.