Download Java Server Faces (JSF) - Departamento de Ingeniería Telemática
Document related concepts
no text concepts found
Transcript
Java Server Faces (JSF) Sandra Álvarez Teruelo Miguel Ángel Barcenilla Mancha Cristina Rodríguez Gallego Ana María Salas Fernández Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Software de Comunicaciones 2007-2008 Contenido • Introducción • Descripción • Desarrollo • Uso • Conclusiones • Referencias Software de Comunicaciones 2007-2008 2 Introducción ¿Qué es? JavaServer Faces (JSF) es un framework basado en el patrón MVC (Modelo Vista Controlador) para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. Un framework es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente suelen incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros para ayudar a desarrollar y unir los diferentes componentes de un proyecto. Software de Comunicaciones 2007-2008 3 Introducción JSF pretende normalizar aplicaciones web. y estandarizar el desarrollo de Ofrece una clara separación entre el comportamiento y la presentación, lo que permite a cada miembro del equipo de desarrollo de una aplicación Web enfocarse en su parte del proceso de desarrollo, y proporciona un sencillo modelo de programación para enlazar todas las piezas. Software de Comunicaciones 2007-2008 4 Introducción Origen Los frameworks son diseñados con el intento de facilitar desarrollo de software, permitiendo a los diseñadores programadores pasar más tiempo identificando requerimientos software que tratando con los tediosos detalles de bajo nivel proveer un sistema funcional. el y de de La tecnología JavaServer Faces surge como una solución a la separación entre la presentación y el comportamiento en una aplicación Web, de forma tal que las actividades de los autores de las páginas puedan separarse de las actividades de los desarrolladores de la lógica. Software de Comunicaciones 2007-2008 5 Introducción Esto posibilita el desarrollo de entornos de desarrollos (IDE) que permitan trabajar en el diseño con funcionalidades del tipo dragand-drop. Te permite programar más rápidamente, ahorra trabajo, da consistencia a tu código, permite separar presentación de negocio y mejora la seguridad de tu aplicación JSF es posterior a la herramienta de soporte para el desarrollo de aplicaciones Web Apache Struts, por lo que se nutre de su experiencia y mejora algunas sus deficiencias. Software de Comunicaciones 2007-2008 6 Introducción Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC bajo la plataforma J2EE (Java 2, Enterprise Edition). Struts vs JSF: JSF gana en Flexibilidad del Controlador y manejo de eventos, navegación, desarrollo de paginas, integración y extensibilidad se las lleva JSF. Struts sale vencedor en madurez… y en nada mas!! Software de Comunicaciones 2007-2008 Esto no significa que JSF vaya a desplazar a otros frameworks. Struts y JSF pueden combinarse para dotar a la aplicación de una extensa plataforma de desarrollo en donde todas las capas de la implementación tienen su espacio definido. Descripción Caracterí ísticas Caracter Características Tecnología que ejecuta del lado del servidor La especificación JSF fue diseñada según los siguientes principios: Amigable Independiente del protocolo y del dispositivo del cliente Posibilidad de utilizarse con tecnologías JSP Independencia de tecnologías JSP Escalable Posibilidad de utilizarse con navegadores Web actuales Software de Comunicaciones 2007-2008 Descripción Caracterí ísticas Caracter Características Principales componentes API e implementación de referencia Librería de etiquetas JSP personalizadas Con estos elementos podemos: Conectar eventos generados en el cliente con código de la aplicación en el servidor Mapear componentes UI a la página de datos del servidor Construir un UI con componentes reutilizables y extensibles Software de Comunicaciones 2007-2008 Grabar y restaurar el estado del UI más allá de la vida de las peticiones del servidor Descripción Ventajas Ventajas Clara separación entre el comportamiento y la presentación La separación de la lógica permite a cada miembro del equipo de desarrollo encargarse de su cometido y posteriormente enlazar las partes Mejora los conceptos familiares de componente-UI y capaWeb sin limitarnos a tecnología de script particular o lenguaje de marcas Aunque incluye librería de etiquetas JSP personalizadas, los APIs de JSF se han creado sobre el API JavaServlet: usar tecnología presentación distina de JSP, crear componentes personalizados, generar salida para diferentes dispositivos cliente Software de Comunicaciones 2007-2008 Proporciona una rica arquitectura para manejar el estado de los componentes, procesar datos, validar la entrada del usuario y manejar eventos Desarrollo Instalación de MyFaces: Implementación de JSF de Software Libre – Implementación de JSF de Software Libre. – Proporciona herramientas adicionales. – Posibilidad de instalar otro tipo de implementación, nos permite no adaptarnos al proveedor. Desarrollar una sencilla aplicación JavaServer Faces requiere la realización de estos pasos: – Desarrollar los objetos del modelo, los que contendrán los datos. – Añadir las declaraciones del bean controlado al fichero de configuración de la aplicación. – Crear las páginas. – Definir la navegación entre las páginas. Software de Comunicaciones 2007-2008 Desarrollo : Desarrollar los Objetos del Modelo Software de Comunicaciones 2007-2008 Desarrollo:Añadir las Declaraciones del Bean Controlado Añadir declaraciones para los beans en el fichero de configuración de la aplicación. Declaración de Bean controlado para UserNumberBean: – Procesa este fichero en el momento de arrancar la aplicación e inicializa los beans y los almacena en el ámbito de sesión. Equivalente a jsp:useBean en JSP’s. Software de Comunicaciones 2007-2008 Desarrollo: Crear las Páginas Software de Comunicaciones 2007-2008 Desarrollo: Definir navegación por las páginas. Definir la navegación de páginas por la aplicación. Software de Comunicaciones 2007-2008 Cada regla de navegación define cómo ir de una página a otras páginas de la aplicación. Uso ¿Dónde se usa? Hay cientos de sitios públicos en la web utilizando la tecnología JSF. No se sabe cuántos sitios JSF no evidentes existen, ni el número de sitios de la intranet que lo están utilizando, debido a la naturaleza secreta del mundo financiero. Varias empresas han acordado ser usuarios JSF referenciados, y sus historias están documentadas en la página http://jsfcentral.com/trenches/. Cualquier cliente de JavaStudio Creator, Oracle JDeveloper, o cualquiera de los productos y herramientas que aparece en el Listado Central de Productos de JSF también están utilizando JSF. Software de Comunicaciones 2007-2008 Existe una lista de sitios desarrollados con Java Server Faces que se publica en Java.Net, una página Wiki sobre sitios desarrollados con JSF. 16 Uso Algunos sitios añadidos por los usuarios: Gecko Hosting Sunburnt Web Services Intra Muros... Oxford from Inside Sunshine Coast Cycling Club Maximize Physiotherapy The AntiqueRegistry Ninth Avenue Software UQ Triathlon Ordina Job Portal UQ Dance Peerflix (similar to Netflix) Steel-MAX Rebecca Preston Virgin Megastores UK Riverside Fitness InFact Book Search Santapark Pastoral Co Suikonix - Gensou Suikoden Artworks Software de Comunicaciones 2007-2008 17 Uso Kennard Consulting Software de Comunicaciones 2007-2008 http://www.kennardconsulting.com/kc/index.jsf 18 Uso Rite Aid - Ask Your Pharmacist Software de Comunicaciones 2007-2008 https://www.riteaid.com/myriteaid/login.jsf 19 Uso Sydney Buyers Agents - We Find, You Buy Software de Comunicaciones 2007-2008 http://www.sydneypropertybuyersagents.com.au/spba/index.jsf 20 Uso Se puede observar que con JSF conseguimos un nivel de presentación llamativo, que es sencillo de hacer y modificar. Los elementos del interfaz de usuario (componentes JSF) y demás aspectos gráficos de las páginas estarán diseñados de forma que se pueda cambiar posteriormente su aspecto sin necesidad actuar sobre cada uno de los formularios o páginas de aplicación. Software de Comunicaciones 2007-2008 21 Uso Historias Linking Paths Es una empresa aventurera e innovadora formada por Aitor García, Alberto Molpeceres y Roberto Salicio. Han trabajado con Java Server Faces en algunos de sus productos. No porque creyesen que es el framework definitivo, sino como una apuesta estratégica de cara al futuro. Después de más de 5 años haciendo aplicaciones web, les plantea tanto dudas como respuestas. Software de Comunicaciones 2007-2008 Dicen que JSF ofrece una serie de ventajas indudables (componentes configurables, ocultar en parte que es una aplicación web, ser un estándar, etc. ), pero que a la vez muestra que aún le faltan un par de vueltas. 22 Uso Creen que los dos grandes problemas son: o La forma estándar de distribuir y configurar los nuevos componentes: • Hay proyectos como Tomahawk (perteneciente a myfaces) que ofrece componentes varios para nuestras aplicaciones (menus paginadores, pestañas, etc.), pero no hay forma sencilla de utilizarlos (no se pueden usar con pinchar y arrastrar, que es otra de las bondades que se esperan de JSF). o Información: como toda nueva tecnología, la cantidad de información es menor que la disponible para otras más consolidadas como Apache Struts. No sólo libros, sino información de proyectos reales, de los problemas que se han ido encontrando, etc. Software de Comunicaciones 2007-2008 23 Uso Ellos se preguntan…¿Está Java Server Faces preparado para un uso real en la empresa?. Su respuesta es sí. A pesar de esos pequeños inconvenientes Java Server Faces es una posibilidad más que ha venido para quedarse y con buenas perspectivas de futuro, y nadie que se dedique al desarrollo web en Java debería perderlo de vista. Software de Comunicaciones 2007-2008 24 Conclusiones JSF surge como un framework muy prometedor y una opción muy recomendable para nuevos desarrollos. Una de las principales ventajas de trabajar con la tecnología Java Server Faces es que esta basado en el patrón MVC (Modelo Vista Controlador) ofreciendo una limpia separación entre el comportamiento y la presentación JSF pretende normalizar y estandarizar el desarrollo de aplicaciones web Permite la posibilidad de reutilización de beans de otras aplicaciones. A JSF aun le falta consolidarse algunos años más para poder encontrar tanta información sobre esta tecnología como se encuentra sobre otros frameworks competidores. Software de Comunicaciones 2007-2008 25 Referencias http://es.wikipedia.org/wiki/JavaServer_Faces http://es.wikipedia.org/wiki/Framework http://www.programacion.com/java/tutorial/jsf_intro/2/ http://www.desarrolloweb.com/articulos/2380.php http://www.comunidadjava.com.ar/JavaServer.pdf´ http://weblog.linkingpaths.com/ http://weblog.linkingpaths.com/2005/10/11/%C2%BFesta-java-server-facespreparado-para-la-vida-real-%C2%BFya/ http://wiki.java.net/bin/view/Projects/RealWorldJSFLinks http://www.jsfcentral.com/listings/A3070?link http://java.sun.com/developer/technicalArticles/GUI/JavaServerFaces/ Software de Comunicaciones 2007-2008 26