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