Weblog de Victor Ramirez

Sábado, septiembre 12, 2009

y tu… aún usas Tomcat???

Filed under: glassfish, Sun, web — Etiquetas: , , , , — vramirez @ 2:42 AM

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.

Miércoles, febrero 25, 2009

Haciendo debug de Javascript en Netbeans 6.5

Filed under: javascript, netbeans, tips, web — Etiquetas: , , , , , — vramirez @ 7:14 AM

Entre las múltiples características que brinda el IDE Netbeans 6.5, una de las más llamativas y quizás poco explotadas es el debugger para Javascript. A continuación mostraré como se puede hacer este debug en un ejemplo sencillo.

  1. Crear una aplicación Web, colocándole el nombre deseado (WebApplication1?) y escogemos el framework a utilizar en este casodeberá ser Visual Web JavaServerFaces(Luego explicaré por qué).
  2. Agregamos al proyecto un archivo de javascript. Vamos a File->New File. En la sección Other, seleccionamos JavaScript File. Le colocamos como nombre script.
  3. En vista de diseño de la pagina principal, vamos a la ventana Palette, buscamos una sección que dice Advanced, ahí seleccionamos script y lo arrastramos a la página.
  4. Sin cambiarnos de la vista de diseño vamos a la ventana Navigator, en la cual buscamos el objeto script que acabamos de agregar.
  5. Vista de Navigator

    Vista de Navigator

  6. Luego de haberlo encontrado y seleccionado, vamos a la ventana de Properties, donde editamos la propiedad url. Al hacer click en el boton […] nos lleva a una especie de selector de archivos. Debe aparecer en los candidatos el archivo JavaScript que acabamos de crear; script.js. Lo seleccionamos y damos click en OK. Hasta acá se han ejecutado los  pasos necesarion para poder utilizar en la página, las funciones de JavaScript que se creen en el archivo script.js
  7. Abrimos el archivo llamado script.js y pegamos el sgte código
  8. 
    function alerta(msj){
        var uno=1;
        uno+=89;
        alert(msj+uno);
    }
    
  9. Arrastramos un botón a la página principal. Editamos sus propiedades, seleccionando el botón y luego haciendo click en la ventana Properties. En la opción onClick, escribimos alerta(“Hola mundo de debugger “)
  10. Si ejecutamos de una vez la aplicación, seguro saldrá un botón, al que si le damos click dirá Hola mundo de debugger 90. Sin embargo, aún no tenemos debugger sobre el JavaScript.
  11. Hacemos click derecho sobre el nodo del proyecto y luego en Properties. En la categoría debug, seleccionamos el que dice JavaScript. Luego seleccionamos el browser (recomiendo de lejos Firefox, he tenido malos ratos con el debugger en IE)
  12. A continuación vamos al archivo JavaScript, llamado script.js y seleccionamos cualquiera de las filas donde deseamos que el debugger se detenga. Aparecerá el cuadro rojo en la linea como en el código java normal, es decir un breakpoint. Ahora si le damos ejecutar a la aplicación pero con debugger. Aparece un mensaje, confirmando lo que habiamos seleccionado antes. Podemos incluso indicarle en la parte inferior que no queremos ver ese mensaje de nuevo. Esta configuración se puede cambiar en cualquier momento en las propiedades del proyecto editadas en el paso anterior.
  13. Confirmacion JavaScript1

    Confirmacion JavaScript1

  14. La primera vez, se instalará un plugin para que Firefox soporte el debug de la aplicación. Será necesario reiniciar el navegador.
  15. Instalación de plugin para firefox

    Instalación de plugin para firefox

  16. Luego de un par de minutos, se instala el plugin y podemos hacer debug del código escrito en JavaScript.
Debugger en NetBeans IDE 6.5

Debugger en NetBeans IDE 6.5

Por alguna razón, cuando el programa llega a un breakponit y estas en el navegador, no salta a NetBeans. Hay que ir manualmente y hacer click en el IDE, para ver el programa. Los controles para avanzar son idénticos al debugger normal. Por último quiero decir que la razón por la que escogí Woodstock, sobre IceFaces es simplemente porque IceFaces no tiene un equivalente para el componente script, añadido en el paso 3.

Como vemos este debugger es una nueva ayuda para entender el funcionamiento de código JavaScript en nuestras aplicaciones web.

Una última observación es que no es recomendable que naveguemos mientras está arriba el debugger en modo javascript. La razón es que páginas con javascript (casi todas) tendrán comportamientos extraños.

Viernes, diciembre 19, 2008

Proyecto Woodstock llega a su fin

Filed under: netbeans, web — Etiquetas: , , , , — vramirez @ 7:23 AM

El proyecto Woodstock de Sun MicroSystems, el cual era considerado por muchos el corazón de JavaServer Faces, ha sido oficialmente abandonado. Es decir, no habrá más versiones, ni mucho menos soporte. La razón exacta no la sé, pero estoy seguro que la salida de Winston Prakash de Sun, tendrá algo que ver. En vista de esto, el equipo de Netbeans, nos trae un nuevo juguete para esta navidad: soporte para ICEfaces tanto en diseño como en ejecución. ICEFaces es otra, muy buena, implementación de JSF y es una de las más estables y compatibles con Netbeans y GlassFish. Todo esto, no quiere decir en ningún momento, que los proyectos actuales, hechos en Woodstock, dejarán de funcionar. Podrás seguir trabajando con tus proyectos actuales  e incluso empezar nuevos proyectos web, simplemente no se dará más soporte a esta librería, ni mucho menos, se entregarán nuevas versiones.

A través del Update Center de Netbeans, se puede conseguir los plugins de soporte para ICEfaces. Es cuestión de actualizar el catálogo de plugins disponibles y buscar los 2 plugins que contienen la palabra “ICEfaces”; uno es para la integración con los proyectos web, mientras el otro es para el soporte en tiempo de diseño y ejecución en NetBeans. Juntos pesan 9MB. Instalalos, e inmediatamente podras agregar componentes ICEfaces a tu proyecto web actual. Asimismo, podrás agregar una página una pagina de ICEfaces. y por supuesto, también podrás crear nuevos proyectos web, usando ICEfaces.

ICEFaces en Netbeans

ICEFaces en Netbeans

En esta página (en inglés), podrán encontrar más detalles sobre ICEfaces y una guía sobre como migrar de Woodstock a ICEfaces.

Lastimosamente,  no todos los componentes de woodstock tienen equivalentes en ICEfaces, a cambio, ofece nuevos componentes que no  estaban disponibles en WoodStock como un mapa de Google, o un editor de texto bastante completo (estilo MS-Word). Mi consejo es que si estas trabajando en un proyecto web con Woodstock, termínalo con este framework, y en tus ratos libres explora los componentes de ICEfaces, pues aún hay algunas incompatibilidades para la coexistencia de estas librerías en un mismo proyecto web.

Miércoles, mayo 14, 2008

Centro de actualización de GlassFish

Filed under: glassfish, java, web — Etiquetas: , , , — vramirez @ 9:34 PM

El servidor de aplicaciones, open source de Sun, desde la versión 2 (v2), provee una herramienta gráfica de fácil manejo, para actualizar e instalar nuevos componentes a GlassFish, de manera similar a como se hace con Netbeans. Para ejecutar el Centro de Actualización debemos ejecutar:

install-root/glassfish/updatecenter/bin/updatetool

En el caso de windows, por ejemplo, sería

C:\Archivos de programa\glassfish-v2ur2\updatecenter\bin\updatetool.bat

Se abre esta pantalla:

En 4 fichas diferentes, nos permite ver

  • Actualizaciones al software que tenemos instalado
  • El software que ya tenemos instalado
  • Software nuevo que está disponible para descargar
  • Preferencias

Como ven, el entorno de actualización es muy similar al de Netbeans. En las preferncias podemos añadir otros servidores desde los cuales actualizar, o programar para que se actualiza determinada fecha, o cada determinado tiempo (puede ser diario o semanal) y a determinada hora. Algo para destacar es que incluye el tamaño de la descarga, dependiendo del ancho de banda de la conexión , podemos calcular cuanto tardaremos en actualizar el servidor. Además revisa y valida por si mismo la dependencia entre paquetes, obligandonos a descargar los paquetes prerequeridos, evitando fallos en la instalación o posterior ejecución. Otra característica de mucha ayuda, son 2 iconos q marcan si el paquete que parece en la lista es nuevo y/o si al instalarlo es necesario reiniciar el servicio, cosa que en ambiente productivo puede resultar bastante molesto para el usuario final, por no decir traumático si se llega a hacer de manera inesperada.

Jueves, mayo 8, 2008

Servidor de aplicaciones de Sun cambiará de nombre

Filed under: glassfish, java, web — Etiquetas: , , — vramirez @ 3:12 PM

En el dia de ayer Sun anunció el cambio de nombre de su servidor de aplicaciones, que pasará de “Sun Java System Application Server” a “Sun GlassFish Enterprise Server”, dejando aún más clara su relación con GlassFish. El cambio de nombre se preveé sea efectivo a partir del release de la versión 2.1 de GlassFish, la cual esta próxima a lanzarse.
Aunque parezca algo trivial, creo que este cambio le da un reconocieminto tácito al gran esfuerzo hecho por la comunidad open source que se encuentra entorno a este proyecto. GlassFish es la versión opensource del servidor de aplicaciones de Sun y viene embebido con Netbeans 6.x, o lo puedes descargar aquí.

Older Posts »

Crea un blog o un sitio web gratuitos con WordPress.com.