Struts y JSF
 

Roadmap JavaServer Faces

Puntos destacados

  • JavaServer Faces es un framework para definir interfaces de usuario de aplicaciones web
  • Configuración de JSF: ficheros JAR, fichero web.xml y fichero faces-config.xml
  • JSF sigue el patrón Modelo/Vista/Controlador
  • El Modelo en JSF se basa en los denominados backing beans, beans Java definidos en el fichero faces-config.xml
  • La Vista en JSF se basa en etiquetas con las que se define un árbol de componentes
  • El Controlador en JSF se basa en métodos Java que se implementan en los backing beans
  • Todo árbol de componentes de una página JSF debe estar dentro de la etiquieta <f:view>
  • Existen componentes de entrada de datos (input) y de visualización (output)
  • Cuando JSF recibe una petición, construye un árbol de objetos Java basándose en las etiquetas JSF y genera la página HTML a partir de este árbol de componentes
  • JSF controla la navegación entre páginas mediante una especie de máquina de estados de navegación definida en el fichero faces-config.xml en la que la próxima página a mostrar depende de la página actual y de la cadena devuelta por la ejecución de cualquier acción de esa página
  • JSF se encarga de la validación y de la conversión de datos
  • En la implementación estándar de Sun, tanto la validación como la conversión de los datos se realiza en el servidor (aunque existen implementaciones comerciales en las que esta validación se exporta a JavaScript)
  • Existen reglas estándar de validación, pero también es posible añadir nuevas
  • JSF proporciona soporte para la internacionalización, pudiendo definirse un fichero de recursos en el que se encuentran todos los mensajes a mostrar en la aplicación en los distintos idiomas para los que queremos configurarla
  • El uso de JSF en la industria es menor que el de Struts, aunque esta ganando inercia por momentos
  • Comienza a generalizarse las herramientas gráficas que soportan JSF: Javaserver Faces Tools Subproject Eclipse, Rational Application Developer V7 de IBM o el Sun Studio Creator
  • Existen implementaciones y etiquetas de JSF que dan soporte a AJAX

Certificación Sun

Por el momento, Sun no menciona ningún objetivo relacionado con JSF en ninguna de sus certificaciones. Sin embargo, ofrece dos cursos sobre JSF:

Recursos adicionales