Manual Jsf

Click here to load reader

  • date post

    18-Jun-2015
  • Category

    Documents

  • view

    4.079
  • download

    5

Embed Size (px)

description

Manual de JSF

Transcript of Manual Jsf

MADEJA - JavaServer Faces (JSF)

JavaServer Faces(JSF)La tecnologa JavaServer Faces es un framework de interfaz de componentes de usuarios del lado del servidor para las aplicaciones web basadas en la tecnologa Java. Los principales componentes de la tecnologa JSF son: Una API para:Representar componentes de Interfaz de Usuario (UI) y gestionar su estado. Manejar eventos, validar en el servidor y conversin de datos. Definir la navegacin de pginas. Soporte de internacionalizacin y accesibilidad. Dos libreras de etiquetas JSP personalizadas para expresar componentes en una pgina JSP y enlazar los componentes a objetos del servidor. El modelo de programacin bien definido y las libreras de etiquetas facilitan la construccin y mantenimiento de las aplicaciones web con Interfaces de Usuario (UI) de servidor. Con un mnimo esfuerzo se podra: Poner componentes en una pgina mediante etiquetas de componentes. Enlazar eventos generados por componentes con cdigo de la aplicacin en el servidor. Relacionar componentes UI en una pgina con datos del servidor. Construir una UI con componentes reutilizables y extensibles. Salvar y restaurar el estado de la UI ms all de la vida de las peticiones.

JSF es una especificacin desarrollada por la Java Community Process. Actualmente existen tres versiones de esta especificacin: JSF 1.0 (11-03-2004) JSF 1.1 (27-05-2004) ## Especificacin JSR-127: http://jcp.org/en/jsr/detail?id=127 JSF 1.2 (11-05-2006) ## Especificacin JSR-252: http://jcp.org/en/jsr/detail?id=252 Hoy en da se encuentran disponibles varias implementaciones de JSF, sin embargo la ms extendida es Apache MyFaces. ##sta es la implementacin ms usada. Actualmente implementa la versin 1.2 de la especificacin JSF. Por hacer un resumen, JSF proporciona: 1. 2. 3. 4. 5. Una clara separacin entre vista y modelo. Desarrollo basado en componente, no en peticiones. Las acciones del usuario se ligan muy fcilmente al cdigo en el servidor. Creacin de familias de componentes visuales para acelerar el desarrollo. Ofrece mltiples posibilidades de eleccin entre distintos desarrollos.

Esta ficha presenta el contenido acerca de JSF, se muestran a continuacin enlaces directos a distintos aspectos: Caractersticas Ventajas e Inconvenientes Implementaciones Requisitos e incompatibilidades Relacin con otros sistemas Modo de empleo Enlaces de inters Recomendaciones de uso Buenas prcticas Aplicaciones de ejemplo

Page 1 - 10/03/2009 a las 12:03

MADEJA - JavaServer Faces (JSF)

CaractersticasLos principales componentes de la tecnologa JavaServer Faces son: Un API y una implementacin de referencia para: representar componentes UI y manejar su estado; manejo de eventos, validacin del lado del servidor y conversin de datos; definir la navegacin entre pginas; soportar internacionalizacin y accesibilidad; y proporcionar extensibilidad para todas estas caractersticas. Una librera de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una pgina JSP. Este modelo de programacin bien definido y la librera de etiquetas para componentes UI facilitan de forma significativa la tarea de la construccin y mantenimiento de aplicaciones Web con UIs del lado del servidor. Con un mnimo esfuerzo, podemos: Conectar eventos generados en el cliente a cdigo de la aplicacin en el lado del servidor. Mapear componentes UI a una pgina de datos del lado del servidor. Construir un UI con componentes reutilizables y extensibles. Grabar y restaurar el estado del UI ms all de la vida de las peticiones de servidor.

Como se puede apreciar en la siguiente figura, el interface de usuario que creamos con la tecnologa JavaServer Faces (representado por myUI en el grfico) se ejecuta en el servidor y se renderiza en el cliente.

La pgina JSP, myform.jsp, dibuja los componentes del interface de usuario con etiquetas personalizadas definidas por la tecnologa JavaServer Faces. El UI de la aplicacin Web (representado por myUI en la imagen) maneja los objetos referenciados por la pgina JSP: Los objetos componentes que mapean las etiquetas sobre la pgina JSP. Los oyentes de eventos, validadores, y los conversores que estn registrados en los componentes. Los objetos del modelo que encapsulan los datos y las funcionalidades de los componentes especficos de la aplicacin.

Page 2 - 10/03/2009 a las 12:03

MADEJA - JavaServer Faces (JSF)

Ventajas e inconvenientes de JSFExisten numerosas ventajas que hacen que JSF sea una tecnologa apropiada para el desarrollo de aplicaciones web: Una de las grandes ventajas de la tecnologa JavaServer Faces es que ofrece una clara separacin entre el comportamiento y la presentacin. Las aplicaciones Web construidas con tecnologa JSP conseguan parcialmente esta separacin. Sin embargo, una aplicacin JSP no puede mapear peticiones HTTP al manejo de eventos especficos del componentes o manejar elementos UI como objetos con estado en el servidor. La tecnologa JavaServer Faces permite construir aplicaciones Web que implementan una separacin entre el comportamiento y la presentacin tradicionalmente ofrecidas por arquitectura UI del lado del cliente. JSF se hace fcil de usar al aislar al desarrollador del API de Servlet. La separacin de la lgica de la presentacin tambin le permite a cada miembro del equipo de desarrollo de una aplicacin Web enfocarse en su parte del proceso de desarrollo, y proporciona un sencillo modelo de programacin para enlazar todas las piezas. Otro objetivo importante de la tecnologa JavaServer Faces es mejorar los conceptos familiares Disadvantage de componente-UI y capa-Web sin limitar a una tecnologa de script particular o un lenguaje de marcas. Aunque la tecnologa JavaServer Faces incluye una librera de etiquetas JSP personalizadas para representar componentes en una pgina JSP, los APIs de la tecnologa JavaServer Faces se han creado directamente sobre el API JavaServlet. Esto permite hacer algunas cosas: usar otra tecnologa de presentacin junto a JSP, crear componentes propios personalizados directamente desde las clases de componentes, y generar salida para diferentes dispositivos cliente. As, se podrn encapsular otras tecnologas como Ajax en componentes JSF, haciendo su uso ms fcil y productivo, al aislar al programador de ellas. JavaServer Faces ofrece una gran cantidad de componentes opensource para las funcionalidades que se necesiten. Los componentes Tomahawk de MyFaces y ADFFaces de Oracle son un ejemplo. Adems, tambin existe una gran cantidad de herramientas para el desarrollo IDE en JSF al ser el estndar de JAVA. La tecnologa JavaServer Faces proporciona una rica arquitectura para manejar el estado de los componentes, procesar los datos, validar la entrada del usuario, y manejar eventos. Adems, ofrece una rpida adaptacin para nuevos desarrolladores. No obstante, el uso de JavaServer Faces tambin tiene un conjunto de desventajas: Su naturaleza como estndar hace que la evolucin de JSF no sea tan rpida como pueda ser la de otros entornos como WebWork, Wicket, Spring , etc.

Distintas implementaciones de JSFActualmente existen muchas libreras de etiquetas JSF que pueden complementar a la implementacin de la especificacin oficial. La eleccin no tiene porqu cerrarse sobre una de ellas sino que pueden combinarse segn interese.

MyFaces TomahawkDesarrollado por Apache: http://myfaces.apache.org/tomahawk/ Este conjunto de componentes tambin es compatible con la implementacin de SUN, as como con cualquier implementacin compatible con JSF 1.1. Pueden verse los distintos componentes de MyFaces Tomahawk en el siguiente enlace: http://www.irian.at/myfaces/ Adems pueden consultarse las principales caractersticas del proyecto Tomahawk en la siguiente direccin web: http://www.marinschek.com/myfaces/tiki/tiki-index.php?page=Features

Page 3 - 10/03/2009 a las 12:03

MADEJA - JavaServer Faces (JSF)

MyFaces SandboxDesarrollado por Apache: http://myfaces.apache.org/sandbox/ Sandbox es un subproyecto de MyFaces que sirve como base de pruebas para las nuevas incorporaciones al proyecto de Tomahawk. Consiste sobre todo en componentes, pero como el proyecto de Tomahawk, puede tambin contener otras utilidades para JSF. Los distintos componentes pueden consultarse en el siguiente enlace: http://www.irian.at/myfaces-sandbox/

ICEfacesDesarrollado por ICEsoft: http://www.icesoft.com/products/icefaces.html ICEFaces proporciona un entorno de presentacin web para aplicaciones JSF que mejora el framework JSF estndar y el ciclo de vida con caractersticas interactivas basadas en AJAX. Para trabajar con ICEfaces puede elegirse cualquiera de las dos implementaciones estndar. En la siguiente direccin web pueden encontrarse demos sobre sus componentes: http://www.icesoft.com/products/demos_icefaces.html

RichFacesRich Faces es un framework de cdigo abierto que aade capacidad Ajax dentro de aplicaciones JSF existentes sin recurrir a JavaScript. Rich Faces incluye ciclo de vida, validaciones, conversores y la gestin de recursos estticos y dinmicos. Los componentes de Rich Faces estn construidos con soporte Ajax y un alto grado de personalizacin del ##look-and-feel## que puede ser fcilmente incorporado dentro de las aplicaciones JSF. http://labs.jboss.com/jbossrichfaces/

AJAX blueprints componentsDesarrollado por java.net: https://blueprints.dev.java.net/ajaxcomponents.html Consiste en una serie de componentes AJAX basados en la tecnologa JSF. Tienen dos libreras de componentes JSF. Una basada en la versin 1.2 de JSF y que puede ser usada en un servidor de aplicaciones JEE5. El otro conjunto tiene componentes basados en JSF 1.1 y que pueden ejecutarse en servidores de aplicaciones J2EE 1.4. En la pgina oficial presentan demos de algunos componentes.

JSF ExtensionsDesarrollado por java.net: https://jsf-extensions.dev.java.net/nonav/mvn/ Este proyecto almacena el d