Está en la página 1de 3

JavaServerFaces - fap-devel - Documento descriptivo de JSF - Frame...

http://code.google.com/p/fap-devel/wiki/JavaServerFaces

plataforma.subrogacion.granada@gmail.com | My favorites | Profile | Sign out

fap-devel
Framework para la Administracin Pblica Project Home Search Downloads for Wiki Issues Source Search Search projects

JavaServerFaces
Documento descriptivo de JSF JavaServerFaces
Updated Jan 13, 2009 by juancordovez@gmail.com

Qu es javaserver faces?
JSF es un framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. JSF usa javaserver pages (JSP) como la tecnologa que permite hacer el despliegue de las pginas, pero tambin se puede acomodar a otras tecnologas como XUL. JSF incluye: Un conjunto de APIs para representar componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegacin de las pginas y dar soporte para internacionalizacin y accesibilidad. Un conjunto por defecto de componentes para la interfaz de usuario. Dos libreras de etiquetas personalizadas para javaserver Pages que permiten expresar una interfaz JavaServer Faces dentro de una pgina JSP. Un modelo de eventos en el lado del servidor. Administracin de estados. Beans administrados. La especificacin de JSF fue desarrollada por la Java Community Process como JSR 127, que defina JSF 1.0 y 1.1, y JSR 252 que defina JSF 1.2.

Ventajas e inconvenientes de JSF


Existen 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.

Qu es una Aplicacin JavaServer Faces?


En su mayora, las aplicaciones JavaServer Faces son como cualquier otra aplicacin Web Java. Se ejecutan en un contenedor Servlet Java, y tpicamente contienen: Componentes JavaBeans (llamados objetos del modelo en tecnologa JavaServer Faces) conteniendo datos y funcionalidades especficas de la aplicacin. Oyentes de Eventos.

1 de 3

04/02/2014 18:56

JavaServerFaces - fap-devel - Documento descriptivo de JSF - Frame...

http://code.google.com/p/fap-devel/wiki/JavaServerFaces

Pginas, cmo pginas JSP. Clases de utilidad del lado del servidor, como beans para acceder a las bases de datos. Adems de estos tems, una aplicacin JavaServer Faces tambin tiene: Una librera de etiquetas personalizadas para dibujar componentes UI en una pgina. Una librera de etiquetas personalizadas para representar manejadores de eventos, validadores, y otras acciones. Componentes UI representados como objetos con estado en el servidor. Validadores, manejadores de eventos y manejadores de navegacin.

Distintas implementaciones de JSF


Actualmente 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 Tomahawk Desarrollado 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 MyFaces Sandbox Desarrollado 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/ ICEfaces Desarrollado 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 RichFaces Rich 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 components Desarrollado por java.net: https://blueprints.dev.java.net/ajaxcomponents.htmlConsiste 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 Extensions Desarrollado por java.net: https://jsf-extensions.dev.java.net/nonav/mvn/ Este proyecto almacena el desarrollo de software para extender las capacidades de la especificacin JSF. El software de este proyecto est pensado para que funcione en cualquier implementacin que cumple la especificacin JSF, aunque segn la pgina oficial las capacidades se mejoran cuando se ejecuta con la implementacin de SUN. Este proyecto est dividido en tres, pudiendo trabajar de forma conjunta o por separado. La separacin es en funcin del ciclo de vida del desarrollo: run time, test time y design time. Ajax4jsf Fue desarrollado por java.net y patrocinado por Exadel. A partir del 05/03/2007 Exadel y Red Hat decidieron colaborar en el desarrollo de esta y otras tecnologas. La pgina oficial del proyecto se ha movido a: http://labs.jboss.com/jbossajax4jsf/ Actualmente el proyecto se encuentra dentro del proyecto RichFaces. Ajax4JSF es una extensin opensource para el estndar JSF que aade capacidades AJAX a las aplicaciones JSF sin la necesidad de escribir cdigo Javascript. RichFaces es una librera de componentes para JSF construida sobre Ajax4jsf. Permite una integracin fcil de capacidades AJAX en el desarrollo de aplicaciones de negocio. RichFaces mejora el framework Ajax4jsf de dos formas importantes. Primero, aumenta el nmero de componentes visuales listos para usar. En segundo lugar, implementa completamente la caracterstica skinnability de incluir un gran nmero de temas (skins) predefinidos. Con esta caracterstica resulta mucho ms fcil gestionar el look-and-feel de una aplicacin. Pueden visualizarse algunos ejemplos en la siguiente URL: http://livedemo.exadel.com/richfaces-demo/welcome.jsf

2 de 3

04/02/2014 18:56

JavaServerFaces - fap-devel - Documento descriptivo de JSF - Frame...

http://code.google.com/p/fap-devel/wiki/JavaServerFaces

RC Faces (Rich Client Faces) Desarrollado por Vedana: http://www.rcfaces.org/ RC Faces es una librera JSF que proporciona un conjunto de componentes para construir la siguiente generacin de aplicaciones web. RC Faces usa tecnologas AJAX y una API de Javascript orientada a objetos para construir pginas de forma dinmica. Es compatible con la implementacin estndar de JSF. Desde la pgina oficial se muestran algunos ejemplos de esta librera: http://www.rcfaces.org/starter/index.jsf ADF Faces Todos los componentes de ADF Faces han sido donados por Oracle a la Fundacin Apache, la cual lo acogi bajo el proyecto Trinidad y ahora se hace el lanzamiento de Apache MyFaces Trinidad Core 1.2.1. Proporciona un amplio conjunto de componentes JSF, siempre permitiendo las interacciones con AJAX, que simplifican radicalmente el desarrollo de aplicaciones web.

Documentos
- Descripcin breve y de alto nivel de javaserver faces de la wikipedia: http://es.wikipedia.org/wiki/JavaServer_Faces - Tutorial sobre javaserver faces: http://www.programacion.com/java/tutorial/jsf_intro/ - Tutorial sobre introduccin a la tecnologa javaserver faces: http://www.programacion.com/java/tutorial/jsf_intro/4/ - Tutorial sobre primeros pasos de javaserver faces usando Eclipse: http://www.laliluna.de/first-java-server-faces-tutorial-es.html - Tutorial sobre aplicacin web con netbeans y visual web javaserver faces: http://luauf.com/2008/08/05/ejemplo-de-aplicacion-web-connetbeans-y-visual-web-javaserver-faces/comment-page-1/

Terms - Privacy - Project Hosting Help Powered by Google Project Hosting

3 de 3

04/02/2014 18:56

También podría gustarte