1 curso javaserverfaces-presentacion_clase_1

33
Curso Java Server Faces José Zapana

Upload: josezapana

Post on 21-Jul-2015

232 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

Curso Java Server Faces

José Zapana

Page 2

CLASE 1

Page 3

Java Server Faces

Java Server Faces nace como una JSR (252 )

Page 4

Java Server Faces

JSF 2.1 (2010-10-22) — Current version. Second maintenance release of

2.0. Only very minor amount of spec changes.

JSF 2.0 (2009-06-28) — Major release for ease of use, enhanced

functionality, and performance. Coincides with Java EE 6.

JSF 1.2 (2006-05-11) — Many improvements to core systems and APIs.

Coincides with Java EE 5. Initial adoption into Java EE.

JSF 1.1 (2004-05-27) — (DEPRECATED) bug fix release. There were no

spec or HTML renderkit changes.

JSF 1.0 (2004-03-11) — (DEPRECATED) the initial release of the JSF

specification. Separate release that wasn't part of any Java EE/J2EE

release.

Page 5

Java Server Faces

JSRs correspondientes a Java Server Faces y sus diferentes versiones

JSR 127 (versión 1.0 y 1.1)

JSR 252 (versión 1.2 Se corresponde con JEE 5)

JSR 314 (versión 2.0 Se corresponde con JEE 6 y versión 2.1)

JSR 316 (JEE 6)

JSR 344 (versión 2.2 Estado: En progreso)

Page 6

Java Server Faces 2

JSF 1

JSP

Facelets

Rich Facs

Ice Faces

Seam

Spring Faces

Woodstock components

Page 7

Tips para el mejor aprovechamiento de las nuevas características de Java Server Faces 2

Deshacerse de la configuración XML

Simplificación de la navegación

Uso de Groovy

Tomar ventaja del nuevo manejo de recursos

Page 8

Java Server Faces

La tecnología Java Server Faces establece los estándares para construir

interfaces de usuarios del lado del servidor.

La tecnología Java Server Faces provee lo siguiente

– Un conjunto de APIs para representar componentes de interfaz de usuario y

gestionar su estado, eventos y validaciones, definir reglas de navegación,

internacionalización y accesibilidad

– Una librería de tags para desarrollar las paginas web y conectar componentes

de interfaz de usuarios con objetos del lado del servidor

Page 9

Java Server Faces

La tecnología Java Server Faces permite realizar lo siguiente con un

mínimo esfuerzo:

– Desarrollar una pagina web.

– Colocar componentes UI en una pagina web.

– Enlazar componentes UI con datos del lado del servidor.

– Enlazar los eventos generados sobre los componentes UI con código del lado

del servidor.

– Guardar y recuperar el estado de la aplicación mas allá de la vida de los

request realizados al servidor

– Reusar y extender componentes UI a través de la customización

Page 10

Componentes típicos de una aplicación Java Server Faces

Un conjunto de paginas web

Un conjunto de tags de componentes UI para agregar a las paginas web

Un conjunto de managed beans

Un archivo web.xml

Opcionalmente, uno o mas archivos de configuración tales como faces-

config.xml

Opcionalmente, un conjunto de objetos customizados como por ejemplo

componentes, validators, converters, o listeners

Un conjunto de tags para representar objetos customizados en las

paginas web

Page 11

Interacción entre el cliente y el servidor

La pagina web myfacelet.xhtml es construida usando tags de

componentes UI de Java Server Faces

myUI es la representación de la pagina web en el servidor

Ante la petición del cliente la vista es renderizada como un html

Renderización es el proceso mediante el cual el contenedor web genera

una salida html o xhtml a partir de la representación de la pagina web en

el servidor

Page 12

Beneficios de Java Server Faces

Provee una separación limpia entre la capa de representación y

comportamiento de una pagina web.

Separación clara de roles entre diseñadores y programadores

Es posible usar diferentes tecnologías para la capa de presentación

Creación y uso de componentes UI customizados

La tecnología Facelets, disponible como parte de JSF 2.0 se ha

convertido en opción preferida para la implementación de la capa de

presentación.

Page 13

Crear una aplicación Java Server Faces simple

Crear una aplicación Java Server Faces típicamente implica realizar las

siguientes tareas:

– Desarrollo de managed beans

– Desarrollar paginas web

– Mapear la instancia de FacesServlet

Page 14

Managed Beans

Un managed bean es un objeto liviano gestionado por el web container.

Los componentes UI de la pagina web están asociados con managed

beans que proveen la lógica de la aplicación.

Ejemplo:

Page 15

Managed Beans

Page 16

Pagina Web

En una aplicación JSF típica las paginas web son creadas como xhtml

XHTML es la evolución de HTML.

XHTML tiene como objetivo es mantener una clara separación entre la

información y la forma de presentarla

La sintaxis de XHTML es mas estricta que la de HTML

La pagina web se enlaza con los managed beans a través de expresiones

EL

Page 17

Mapear la instancia de FacesServlet

Es necesario mapear la instancia del servlet Faces Servlet en

el archivo web.xml

Page 18

Ciclo de vida

Toda aplicación web tiene un ciclo de vida para un request

Por defecto JSF maneja la gran parte del ciclo de vida de un request

Sin embargo JSF ofrece etapas del ciclo de vida de un request en donde es posible

realizar acciones customizadas.

No es necesario conocer el ciclo de vida de JSF para un desarrollador pero su

entendimiento permite realizar aplicaciones mas complejas.

Page 19

Facelets

La tecnología JSP fue usada anteriormente como la tecnología por

defecto para la capa de presentación en JSF

A partir de JSF 2.0 la tecnología Facelets es la tecnología por defecto a

utilizar para la capa de presentación de aplicaciones JSF

Page 20

Que es Facelets?

Facelets es un lenguaje de declaración de vista poderoso pero liviano

Las características de facelets son las siguientes:

– Uso de XHTML

– Soporte para librerías de tags Facelets

– Soporte para librerías de tags JSTL

– Soporte para el lenguaje de expresión EL

– Templates de componentes y paginas

Ventajas del uso de Facelets en aplicaciones de gran escala

– Soporte para el reuso de código a través de templates de componentes y

paginas

– Funcionalidad extensible para componentes UI y objetos del lado del servidor a

través de la customización

– Tiempo de compilación rápido

– Validación de expresiones EL en tiempo de compilación

– Alto rendimiento en el proceso de renderización

Page 21

Librería de Tags soportadas

Page 22

Creación de una aplicación Facelets

Pasos generales para la creación de una aplicación JSF

– Desarrollo de managed beans

– Desarrollo de paginas web usando tags

– Definición de navegación de paginas

– Mapeo de la instancia FacesServlet

– Agregar declaraciones de managed beans

Page 23

Creación de una aplicación Facelets

Aplicación ―Adivine el numero‖

Page 24

Desarrollo de managed beans

Cada pagina web de la aplicación se

conecta a uno o mas managed beans

Los managed beans definen

propiedades y métodos relacionados

con los componentes de la pagina

web.

La creación de managed beans suele

ser responsabilidad del arquitecto

La implementación del comportamiento

o lógica de negocios en los managed

beans suele ser responsabilidad de los

desarrolladores

Page 25

Desarrollo de paginas web La creación de las paginas suele ser responsabilidad de los arquitectos.

El diseño de las paginas web es responsabilidad de los desarrolladores

El diseño involucra agregar tags, enlazar managed beans con componentes

UI y registrar Converters, Validators o Listeners

En la sección 1 se definió el tipo de contenido para la pagina web, en este

caso XHTML

En la sección 2 se define el idioma y las librerias de tags que de van a usar

1

2

Page 26

Desarrollo de paginas web

Page 27

Desarrollo de paginas web

Page 28

Simplificación de la navegación

JSF 1.2

JSF 2

Page 29

Configuración de la aplicación

Page 30

Recursos

Los recursos web son todos aquellos artefactos de software que una

aplicación web requiere para rendirizar una pagina web de manera

completa, estos recursos comprenden, imágenes, scripts, librerías de

componentes, etc.

Los recursos web deben estar ubicados en una ubicación estándar que

puede ser cualquiera de las siguientes:

– web-application-root/resources/resource-identifier

– META-INF/resources/

– META-INF/resources/resource-identifier

Java Server Faces buscara los recursos web en las ubicaciones

anteriores en tiempo de ejecución

Page 31

Recursos

Page 32

Recursos

Page 33

Preguntas