Java Server Faces
En nuestro trabajo diario en Autentia realizamos la construcción de portales para clientes utilizando las tecnologías web más modernas. Una de estas tecnologías es el estándar Java Server Faces, que nos permite desarrollar aplicaciones empresariales robustas, en tiempos de desarrollo cortos, con una interfaz web amigable.
Cuando queremoshacer aplicaciones web empresariales, normalmente utilizamos algún framework o marco de trabajo que nos facilite la tarea. En el mundo Java disponemos de varios frameworks para este tipo de aplicaciones. En este tutorial le vamos a echar un vistazo al framework de Java Server Faces, que es un framework para desarrollo de aplicaciones web que utiliza el patrón de arquitectura MVC de tipo 2(Arquitectura Modelo-Vista-Controlador con controlador monolítico).
No vamos a extendernos en este punto, pues no es el objetivo del tutorial, sino que vamos a describir un framework Java de este tipo: Java Server Faces.
El framework JSF instala en nuestra aplicación web un controlador que se encarga de la gestión de los formularios y de la navegación entre páginas. Toda la definición de las páginasy de la navegación entre las mismas. Esta es la ventaja principal de un controlador monolítico y con un fichero de configuración central: toda la lógica de la aplicación se define en un único punto.
El modelo de funcionamiento de JSF es sencillo, muy semejante al usado en Struts. Básicamente, cada página de nuestra aplicación está compuesta de un formulario (se pueden usar varios pero no esel modo adecuado).Al igual que en Struts, JSF permite asociar funciones lógicas, llamadas acciones, para cada formulario, de manera que al enviar el formulario con el botón “submit” se procese la acción correspondiente. En este momento el controlador de la aplicación decidirá, en función del valor retornado por la función, cuál es la página que se debe mostrar para el resultado de la función. Estemecanismo es el que produce la navegación por las páginas de la aplicación.
Pero además JSF introduce el procesamiento de los formularios por etapas. Cuando el formulario es enviado, el controlador realiza el procesamiento de las acciones asociadas al formulario en diferentes etapas. Durante estas etapas:
1. Se obtienen los valores de la página
2. Se procesan los eventos
3.Se realizan las validaciones de los valores
4. Se procesan las acciones
5. Se realiza el render (dibujado) de la nueva vista de la página
6. Se realiza la navegación, si es necesario, a otras páginas.
Lo más interesante de este modelo, como veremos al comentar las acciones inmediatas, es que no se deben completar todas las fases, y el proceso se puede interrumpir antes dellegar a la etapa de navegación, con lo que obtendríamos la misma página, pero con una vista actualizada. Este mecanismo lo utilizaremos para completar datos en la página (rellenar combos en el formulario), para realizar validaciones de parámetros, para reaccionar frente a eventos en los elementos del formulario, etc.
Ahora que ya hemos dado un vistazo por encima a JSF, pongámosnos manos a laobra.
Instalación del plugin de JSF para Eclipse
Para realizar los ejemplos vamos a utilizar el entorno de desarrollo Eclipse, al que le vamos a añadir los elementos necesarios para desarrollar una página JSF.
Descargamos el plugin de JSF de Eclipse y lo instalamos
Descargando una implementación de JSF
En la página de http://javaserverfaces.dev.java.net podemos descargar unaimplementación de la biblioteca JSF de Sun Microsystems.
Nos vamos a la página de descargas.
Vamos a probar la versión jsf-1_1_02.zip, por lo que nos descargamos el fichero y lo descomprimimos a una carpeta.
En la página vemos que ya está disponible la versión 1.2 de JSF. Usaremos la versión 1.1 pues es la que soporta nuestro plugin de Eclipse, y además porque está más revisada....
Regístrate para leer el documento completo.