SlideShare a Scribd company logo
1 of 42
Download to read offline
Let's Rock Java
Fundamentos de Java Enterprise Edition
con JDeveloper
Eudris Cabrera Rodriguez
Ingeniero Telemático
Senior Software Developer
Skype:eudriscabrera
LinkedIn: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 !!!

More Related Content

What's hot

UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloAnder Martinez
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)Enrique Polo
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesAnder Martinez
 
UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6Ander Martinez
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf springIBM
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Formshenryjzbl
 
Diapositivas Web Util
Diapositivas Web UtilDiapositivas Web Util
Diapositivas Web Utilsudamericano
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’sayreonmx
 
Trabajo De Oracle
Trabajo De OracleTrabajo De Oracle
Trabajo De Oraclefpiedra
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EEPaco Saucedo
 
UDA-Arquitectura conceptual
UDA-Arquitectura conceptualUDA-Arquitectura conceptual
UDA-Arquitectura conceptualAnder Martinez
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
UDA-Selección de tecnologías
UDA-Selección de tecnologíasUDA-Selección de tecnologías
UDA-Selección de tecnologíasAnder Martinez
 
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)Ander Martinez
 
UDA-Componentes RUP. Upload
UDA-Componentes RUP. UploadUDA-Componentes RUP. Upload
UDA-Componentes RUP. UploadAnder Martinez
 
webutil oracle forms
webutil oracle formswebutil oracle forms
webutil oracle formsisrael
 
UDA-Guia de desarrollo
UDA-Guia de desarrolloUDA-Guia de desarrollo
UDA-Guia de desarrolloAnder Martinez
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingAnder Martinez
 

What's hot (20)

UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrollo
 
Javaserver Faces (jsf)
Javaserver Faces (jsf)Javaserver Faces (jsf)
Javaserver Faces (jsf)
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
 
UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6UDA-Componentes RUP. Tabla.v2.4.6
UDA-Componentes RUP. Tabla.v2.4.6
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Forms
 
Diapositivas Web Util
Diapositivas Web UtilDiapositivas Web Util
Diapositivas Web Util
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’s
 
Trabajo De Oracle
Trabajo De OracleTrabajo De Oracle
Trabajo De Oracle
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
 
UDA-Arquitectura conceptual
UDA-Arquitectura conceptualUDA-Arquitectura conceptual
UDA-Arquitectura conceptual
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
UDA-Selección de tecnologías
UDA-Selección de tecnologíasUDA-Selección de tecnologías
UDA-Selección de tecnologías
 
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
 
Spring framework 3
Spring framework 3Spring framework 3
Spring framework 3
 
UDA-Componentes RUP. Upload
UDA-Componentes RUP. UploadUDA-Componentes RUP. Upload
UDA-Componentes RUP. Upload
 
webutil oracle forms
webutil oracle formswebutil oracle forms
webutil oracle forms
 
UDA-Guia de desarrollo
UDA-Guia de desarrolloUDA-Guia de desarrollo
UDA-Guia de desarrollo
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. Reporting
 

Viewers also liked (17)

Force copy
Force   copyForce   copy
Force copy
 
retención en la fuente
retención en la fuenteretención en la fuente
retención en la fuente
 
Kle Gus - VB - LMS 678
Kle Gus - VB - LMS 678Kle Gus - VB - LMS 678
Kle Gus - VB - LMS 678
 
Clase 22-05-2015
Clase 22-05-2015Clase 22-05-2015
Clase 22-05-2015
 
2015 Toyota 4Runner
2015 Toyota 4Runner2015 Toyota 4Runner
2015 Toyota 4Runner
 
Political Quiz before the Puja's.
Political Quiz before the Puja's.Political Quiz before the Puja's.
Political Quiz before the Puja's.
 
FAGERHULT | FREEDOM : art of light
FAGERHULT | FREEDOM : art of lightFAGERHULT | FREEDOM : art of light
FAGERHULT | FREEDOM : art of light
 
Bitzer compressor rack
Bitzer compressor rackBitzer compressor rack
Bitzer compressor rack
 
Chembond
ChembondChembond
Chembond
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力する
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
 
Ophthalmic Manifestations of Systemic Disorders
Ophthalmic Manifestations of Systemic Disorders Ophthalmic Manifestations of Systemic Disorders
Ophthalmic Manifestations of Systemic Disorders
 
Prueba de hipotesis
Prueba de hipotesisPrueba de hipotesis
Prueba de hipotesis
 
Estilos de aprendizaje
Estilos de aprendizajeEstilos de aprendizaje
Estilos de aprendizaje
 
Dart Valley Systems Anti Ligature Washroom Controls
Dart Valley Systems Anti Ligature Washroom Controls Dart Valley Systems Anti Ligature Washroom Controls
Dart Valley Systems Anti Ligature Washroom Controls
 
PMBOK 5th edition Project Risk Management
PMBOK 5th edition Project Risk ManagementPMBOK 5th edition Project Risk Management
PMBOK 5th edition Project Risk Management
 
From the Ground Up
From the Ground UpFrom the Ground Up
From the Ground Up
 

Similar to [ES] Desarrollo de aplicaciones con Java Server Faces

DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)René Pilataxi
 
Tutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosTutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosNorman Enmanuel
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5Eudris Cabrera
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition Eudris Cabrera
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7Eudris Cabrera
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Robert Rayco Quiroz
 
Visual Web Developer
Visual Web DeveloperVisual Web Developer
Visual Web Developermartha
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfPedro Gallardo
 
Microsoft Visual Web Developer
Microsoft Visual Web DeveloperMicrosoft Visual Web Developer
Microsoft Visual Web Developerescapa
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Pedro Gallardo
 

Similar to [ES] Desarrollo de aplicaciones con Java Server Faces (20)

Expo
ExpoExpo
Expo
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Tutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasosTutorial javafx-primeros-pasos
Tutorial javafx-primeros-pasos
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
Java ee 6
Java ee 6Java ee 6
Java ee 6
 
[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Visual Web Developer
Visual Web DeveloperVisual Web Developer
Visual Web Developer
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
 
Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01
 
Microsoft Visual Web Developer
Microsoft Visual Web DeveloperMicrosoft Visual Web Developer
Microsoft Visual Web Developer
 
Web Developer
Web DeveloperWeb Developer
Web Developer
 
Visual Web Developer
Visual Web DeveloperVisual Web Developer
Visual Web Developer
 
Visual Web Developer
Visual Web DeveloperVisual Web Developer
Visual Web Developer
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0
 

Recently uploaded

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Recently uploaded (19)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

[ES] Desarrollo de aplicaciones con Java Server Faces

  • 1. Let's Rock Java Fundamentos de Java Enterprise Edition con JDeveloper Eudris Cabrera Rodriguez Ingeniero Telemático Senior Software Developer Skype:eudriscabrera LinkedIn:http://www.linkedin.com/in/eudriscabrera Diciembre 2011, Santiago de los Caballeros, R. D.
  • 2. Objetivos Aprender los conceptos fundamentales sobre el desarrollo de aplicaciones empresariales usando Java Server Faces (JSF).
  • 3. Agenda ○ Introducción a JSF 2.0 ○ Diferentes implementaciones de JSF ○ Implementación de Ajax con JSF ○ Introdución a Facelets
  • 4. 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.
  • 5. 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.
  • 8. 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).
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 13. 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.
  • 14. Introducción a JSF 2.0 Estructura de una aplicación JavaServer Faces
  • 15. Creando una aplicación JavaServer Faces
  • 16. 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.
  • 17. Diferentes implementaciones de JSF Implementaciones Las principales implementaciones de JSF son: ● JSF Reference Implementation de Sun Microsystems. ● MyFaces proyecto de Apache Software Foundation.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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.
  • 22. Ciclo de una aplicación con Facelets
  • 23. 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.
  • 24. 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.
  • 25. Creando una aplicación simple con Facelets
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 29. 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.
  • 30. 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.
  • 32. 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>.
  • 34. Creando una aplicación simple con Facelets Template
  • 35. 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.
  • 36. 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.