[ES] Desarrollo de aplicaciones con Java Server Faces

Preview:

DESCRIPTION

Conocer los conceptos avanzados sobre el desarrollo de aplicaciones empresariales usando Java Server Faces (JSF).

Citation preview

Let's Rock Java

Fundamentos de Java Enterprise Edition con JDeveloper

Eudris Cabrera Rodriguez

Ingeniero TelemáticoSenior Software DeveloperSkype:eudriscabreraLinkedIn:http://www.linkedin.com/in/eudriscabrera Diciembre 2011, Santiago de los Caballeros, R. D.

Objetivos

Aprender los conceptos fundamentales sobre el desarrollo de aplicaciones empresariales usando Java Server Faces (JSF).

Agenda○ Introducción a JSF 2.0○ Diferentes implementaciones de JSF○ Implementación de Ajax con JSF○ Introdución a Facelets

Introducción a JSF 2.0

JavaServer Faces 2.0 (JSF) es la nueva tecnología estándar para el desarrollo de interfaz de usuario web de Java Enterprise Edition (Java EE) 6. Se trata de una actualización a la versión 1.2 de la misma tecnología.

Esta revisión introduce dos temas clave para los desarrolladores de aplicaciones de Internet enriquecidas (RIA).

El primero de ellos, es la integración nativa de JavaScript asíncrono con XML (Ajax) en el ciclo de vida de JavaServer Faces y el segundo, es el cambio de Java Server Pages (JSP) para Facelets como lenguaje por defecto para declaración de vista.

Introducción a JSF 2.0

El estándar JSF 2.0, ocupa gran parte de las especificaciones de Java Enterprise Edition 6, fue desarrollada por el grupo de expertos JSR-314 (EG) en el Java Community Process (JCP), bajo la dirección de Sun. El EG fue compuesto por miembros de todos los actores clave en la comunidad de JSF, incluyendo los principales desarrolladores de Oracle ADF Faces y los del framework Apache Trinidad.

Muchas de las nuevas características de JSF 2.0 tiene una implementación equivalente en uno o más de los framework o conjuntos de componentes JSF que han empujado más allá de las limitaciones de la JSF 1.2. Con esto en mente, es justo decir que JSF 2.0 es una estandarización de las mejores de estas características extendidas.

Introducción a JSF 2.0

Introducción a JSF 2.0

Introducción a JSF 2.0

Que es una aplicación JavaServer Faces ?.

La funcionalidad proporcionada por una aplicación JavaServer Faces es similar a la de cualquier otra aplicación Web Java. Una típica aplicación JavaServer Faces incluye las siguientes partes:

● Un conjunto de páginas web en la que los componentes se colocan.

● Un conjunto de etiquetas para agregar componentes a la página web.

● Un conjunto de backing beans, que son componentes JavaBeans que definen las propiedades y funciones de los componentes en una página.

● Un descriptor de despliegue (web.xml).

Introducción a JSF 2.0

Opcionalmente, uno o más archivos de configuración de recursos de aplicación como un archivo faces-config.xml, que se puede utilizar para definir las reglas de navegación de la página y configurar los beans y otros objetos personalizados, como los componentes personalizados.

Opcionalmente, un conjunto de objetos personalizados creados por el desarrollador de la aplicación. Estos objetos pueden incluir componentes personalizados, validadores, convertidores, o los oyentes.

Un conjunto de etiquetas personalizadas para representar los objetos personalizados en la página.

Introducción a JSF 2.0

Beneficios de la tecnología JavaServer Faces

Una de las mayores ventajas de la tecnología JavaServer Faces es que ofrece una separación clara entre el comportamiento y la presentación de las aplicaciones web.

Una aplicación JavaServer Faces puede corresponder las peticiones HTTP para la gestión de eventos de componentes específicos y gestionar los componentes como objetos con estado en el servidor. La tecnología JavaServer Faces permite crear aplicaciones web que implementan la separación del comportamiento y la presentación que se ofrece tradicionalmente por arquitecturas UI del lado del cliente.

Introducción a JSF 2.0

La separación de la lógica de presentación también permite que cada miembro de un equipo de desarrollo de aplicaciones web pueda concentrarse en una sola pieza del proceso de desarrollo, y proporciona un modelo de programación sencillo para vincular las piezas.

Por ejemplo, los autores de páginas sin conocimientos de programación puede utilizar las etiquetas de la tecnología JavaServer Faces en una página web para vincular a los objetos del lado del servidor sin necesidad de escribir ningún script.

Otro objetivo importante de la tecnología JavaServer Faces es manejar componentes y conceptos relacionados a la capa web sin limitar a una tecnología de scripting o lenguaje de marcas.

Introducción a JSF 2.0

Introducción a JSF 2.0

Creando una aplicación JavaServer Faces

La tecnología JavaServer Faces proporciona un proceso fácil y fácil de usar para crear aplicaciones web.

El desarrollo de una sencilla aplicación JavaServer Faces por lo general requiere de las siguientes tareas:

● El desarrollo de backing beans (beans de respaldo).● Agregar declaraciones managed bean.● La creación de páginas web con etiquetas de componentes.● Mapeo de la instancia FacesServlet.

Introducción a JSF 2.0

Estructura de una aplicación JavaServer Faces

Creando una aplicación JavaServer Faces

Diferentes implementaciones de JSF

Versiones● JSF 1.0 (11-03-2004) - lanzamiento inicial de las

especificaciones de JSF.● JSF 1.1 (27-05-2004) - lanzamiento que solucionaba errores. Sin

cambios en las especificaciones ni en el renderkit de HTML.● JSF 1.2 (11-05-2006) - lanzamiento con mejoras y corrección de

errores.● JSF 2.0 (12-08-2009) - introduce nuevas funcionalidades y se

convierte en el estandar para desarrollar aplicaciones web en JEE.

● JSF 2.1 (2010-10-22) — Versión actual. Segunda versión de mantenimiento de 2,0. Solamente una cantidad muy pequeña de los cambios de especificaciones.

Diferentes implementaciones de JSF

Implementaciones

Las principales implementaciones de JSF son:

● JSF Reference Implementation de Sun Microsystems.● MyFaces proyecto de Apache Software Foundation.

Implementación de Ajax con JSF

Extensiones

Algunas extensiones a JSF son:● Rich Faces Agrega componentes visuales y soporte para AJAX.● ICEfaces Contiene diversos componentes para interfaces de usuarios

más enriquecidas, tales como editores de texto enriquecidos, reproductores de multimedia, entre otros.

● Oracle ADF Faces Rich Client, Oracle Application Development Framework.

● jQuery4jsf Contiene diversos componentes sobre la base de uno de los más populares framework javascript jQuery.

● PrimeFaces● OpenFaces Librería open source que contiene diferentes componentes

JSF, un Framework Ajax y un Framework de validación por parte del cliente.

Introdución a Facelets

El término Facelets es el lenguaje de declaración de vista para la tecnología JavaServer Faces.

A partir de JavaServer Faces 2.0, Facelets es una parte de la especificación Java Server Faces y también la tecnología de presentación preferida para la construcción de aplicaciones basadas en JavaServer Faces.

Qué es Facelets ?.

Facelets es un lenguaje potente, pero ligero lenguaje de declaración de página que se utiliza para construir vista JavaServer Faces mediante el uso de plantillas estilo HTML y la construcción de componentes.

Las características de Facelets son las siguientes:

○ El uso de XHTML para crear páginas web.○ El apoyo a las bibliotecas de etiquetas Facelets,

además de JavaServer Faces y las bibliotecas JSTL.○ Apoyo a la Expression Language (EL).○ plantillas para los componentes y las páginas.

Qué es Facelets ?.

Facelets soporta estas características a través de la reutilización de código y por la facilidad de desarrollo, que son consideraciones importantes para los desarrolladores a adoptar JavaServer Faces como la plataforma de presentación de proyectos a gran escala.

Ciclo de una aplicación con Facelets

Las ventajas de Facelets son los siguientes:

○ Apoyo a la reutilización de código a través de plantillas y componentes de material compuesto.

○ Funciones de ampliación de los componentes y otros objetos del lado del servidor a través de la personalización.

○ Reducción del tiempo de compilación.○ EL tiempo de compilación de validación.○ Prestacion de alto rendimiento.

En resumen, el uso de Facelets reduce el tiempo y el esfuerzo que debe ser gastado en el desarrollo y despliegue.

Creando una aplicación simple con Facelets

El desarrollo de una sencilla aplicación JavaServer Faces utilizando la tecnología de Facelets, por lo general requiere de las siguientes tareas:

● El desarrollo de backing beans (beans de respaldo).● La creación de las páginas utilizando componentes● Definición de navegación en la página● Mapeo de la instancia FacesServlet● Agregar declaraciones managed bean.

Creando una aplicación simple con Facelets

Templating (Plantillas)

JavaServer Faces 2.0 proporciona las herramientas para implementar interfaces de usuario que son fáciles de extender y reutilizar.

Templating es una característica útil disponible con Facelets que le permite crear una página que servirá como base o modelo para las otras páginas de una aplicación.

Mediante el uso de plantillas, puede reutilizar el código y evitar volver a crear páginas de similar construcción. Templating también ayuda a mantener una apariencia estándar de una aplicación con un gran número de páginas.

Facelets Templating Tags

ui:component Define un componente que se crea y se agrega al árbol de componentes.

ui:composition Define una composición de página que utiliza opcionalmente una plantilla.Contenido fuera de este etiqueta es ignorado.

ui:debug define un componente de depuración que se crea y se agrega al árbol de componentes.

ui:define Define el contenido que se inserta en una página de una plantilla.

Facelets Templating Tags

ui:decorate Similar a la etiqueta de composición, pero no desprecia el contenido fuera de esta etiqueta.

ui:fragment Similar a la etiqueta del componente, pero no desprecia el contenido fuera de esta etiqueta.

ui:include Encapsular y reutilizar el contenido de varias páginas.

ui:insert Inserta el contenido en una plantilla.

Facelets Templating Tags

ui:param Se utiliza para pasar parámetros a un archivo incluido.

ui:repeat Se utiliza como una alternativa para las etiquetas de lazo, como c: forEach o h: dataTable.

ui:remove Elimina el contenido de una página.

Facelets Templating Tags

La biblioteca de etiquetas Facelets incluye la principal etiqueta para templating <ui:insert> .

Una página de la plantilla que se crea con esta etiqueta, permite definir una estructura predeterminada de una página.

Una página de la plantilla se utiliza como plantilla para otras páginas, por lo general se conoce como las páginas del cliente.

Facelets Templating

Facelets Templating Tags

La página de ejemplo define una página XHTML que se divide en tres secciones: una parte superior, una sección de la izquierda, y una sección principal.

Las secciones tienen hojas de estilo asociadas con ellos. La misma estructura que puede ser reutilizado para las demás páginas de la aplicación.

La página del cliente llama a la plantilla mediante la etiqueta <ui:composition>. En el siguiente ejemplo, una página de cliente llamado templateclient.xhtml invoca a la página de la plantilla llamada template.xhtml, del ejemplo anterior.

Una página del cliente permite que el contenido se insertará con la ayuda de la etiqueta <ui:define>.

Facelets Templating

Creando una aplicación simple con Facelets Template

Composite Components (Componentes Compuestos)

La tecnología JavaServer Faces ofrece el concepto de los componentes de material compuesto con Facelets.

Un componente compuesto se puede considerar como un tipo especial de plantilla que actúa como un componente. Cualquier componente esencialmente es una pieza de código reutilizable que es capaz de una cierta funcionalidad.

Por ejemplo, un componente inputText es capaz de aceptar la entrada del usuario.

Composite Components (Componentes Compuestos)

Un componente también tiene validadores, conversores, y los oyentes (validators, converters, and listeners) que se le atribuye a realizar ciertas acciones definidas.

Un componente compuesto es un componente que consiste en una colección de marcas de revisión y otros componentes ya existentes. Se trata de un componente reutilizable, creado por el usuario, que es capaz de una ejercer una funcionalidad personalizada, que se define y puede tener validadores, conversores, y los oyentes que se le atribuye como cualquier otro componente JavaServer Faces.

Con Facelets, cualquier página XHTML que se inserta con marcas y otros componentes se pueden convertir en un componente compuesto.

Composite Components (Componentes Compuestos)

Composite Components (Componentes Compuestos)

Composite Components (Componentes Compuestos)

Fuentes Bibliográficas

http://download.oracle.com/docs/cd/E17410_01/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/

http://download.oracle.com/docs/cd/E17410_01/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/.

https://javaserverfaces.dev.java.net/nonav/rlnotes/2.0.0/index.html

http://java.sun.com/javaee/javaserverfaces/index.jsp

PREGUNTAS ?

WE ROCK JAVA !!!

Recommended