SlideShare uma empresa Scribd logo
1 de 12
JSF Presentado por:       Ing. RICARDO LLANOS  Ing. OSCAR VILLA
 JAVA SERVER FACES Definición. JavaServerFaces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE.  JSF usa JavaServerPages como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL.
 JAVA SERVER FACES Que es una aplicación JSF?     En su mayoría, las aplicaciones JavaServer Faces son como cualquier otra aplicación Web Java. Se ejecutan en un contenedor Servlet Java, y típicamente contienen: Paginas en JSP Clases de utilidad del lado del servidor, como beans para acceder a las bases de datos. Componentes JavaBeans (Llamados objetos del modelo en tecnología JavaServer Faces) conteniendo datos y funcionalidades especificas de la aplicación.
 JAVA SERVER FACES Componentes     Los principales componentes de la tecnología JSF son: Una API para: Representar componentes de Interfaz de Usuario (UI) y gestionar su estado. Manejar eventos, validar en el servidor y conversión de datos. Definir la navegación de páginas. Soporte de internacionalización y accesibilidad. Dos librerías de etiquetas JSP personalizadas para expresar componentes en una página JSP y enlazar los componentes a objetos del servidor.
 JAVA SERVER FACES Uso     Este framework de desarrollo java que esta basado en la logica MVC, se utiliza principalmente para separar: ,[object Object]
Logica del negocio
Logica de presentacion,[object Object]
 JAVA SERVER FACES Estructura basica Como se puede apreciar en la siguiente figura, el interface de usuario que creamos con la tecnología JavaServer Faces se ejecuta en el servidor y se renderiza en el cliente.
 JAVA SERVER FACES Ventajas       Existen numerosas ventajas que hacen que JSF sea una tecnología apropiada para el desarrollo de aplicaciones web: Una de las grandes ventajas de la tecnología JavaServer Faces es que ofrece una clara separación entre el comportamiento y la presentación.  Las aplicaciones Web construidas con tecnología JSP conseguían parcialmente esta separación. Sin embargo, una aplicación JSP no puede mapear peticiones HTTP al manejo de eventos específicos del componentes o manejar elementos UI como objetos con estado en el servidor. La tecnología JavaServer Faces permite construir aplicaciones Web que implementan una separación entre el comportamiento y la presentación tradicionalmente ofrecidas por arquitectura UI del lado del cliente. JSF se hace fácil de usar al aislar al desarrollador del API de Servlet.
 JAVA SERVER FACES Ventajas 2 JavaServer Faces ofrece una gran cantidad de componentes opensource para las funcionalidades que se necesiten. Los componentes Tomahawk de MyFaces y ADFFaces de Oracle son un ejemplo. Además, también existe una gran cantidad de herramientas para el desarrollo IDE en JSF al ser el estándar de JAVA. La separación de la lógica de la presentación también le 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. La tecnología JavaServer Faces proporciona una rica arquitectura para manejar el estado de los componentes, procesar los datos, validar la entrada del usuario, y manejar eventos. Además, ofrece una rápida adaptación para nuevos desarrolladores.
 JAVA SERVER FACES Desventajas    No obstante, el uso de JavaServer Faces también tiene un conjunto de desventajas: Su naturaleza como estándar hace que la evolución de JSF no sea tan rápida como pueda ser la de otros entornos como WebWork, Wicket, Spring , etc.
 JAVA SERVER FACES Nuevos Terminos JSF presenta dos nuevos términos: managedbean (objeto manejado): Un managedbean describe cómo se crea y se maneja un bean. No tiene nada que ver con las funcionalidades del bean. backingbean (objeto de respaldo). El backingbean define las propiedades y la lógica de manejo asociadas con los componentes UI utilizados en la página. Cada propiedad del bean de respaldo está unida a un ejemplar de un componente o a su valor. Un backingbean también define un conjunto de métodos que realizan funciones para el componente, como validar los datos del componente, manejar los eventos que dispara el componente y realizar el procesamiento asociado con la navegación cuando el componente se activa.

Mais conteúdo relacionado

Mais procurados

Ambito del software
Ambito del softwareAmbito del software
Ambito del softwareJorge Reyes
 
Tema 2 - T3: Casos de prueba
Tema 2 - T3:  Casos de pruebaTema 2 - T3:  Casos de prueba
Tema 2 - T3: Casos de pruebaMagemyl Egana
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANliras loca
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionalesignagonzalez
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractosFernando Solis
 
Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de DatosJazmin Glez.
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Practicas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespacePracticas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespaceCarlos Ocola Ugarte
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 

Mais procurados (20)

Ambito del software
Ambito del softwareAmbito del software
Ambito del software
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Tema 2 - T3: Casos de prueba
Tema 2 - T3:  Casos de pruebaTema 2 - T3:  Casos de prueba
Tema 2 - T3: Casos de prueba
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLAN
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
3.creacion de componentes visuales
3.creacion de componentes visuales3.creacion de componentes visuales
3.creacion de componentes visuales
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractos
 
Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de Datos
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Jdbc
JdbcJdbc
Jdbc
 
Practicas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespacePracticas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespace
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 
Proyecto Cultura Empresarial
Proyecto Cultura EmpresarialProyecto Cultura Empresarial
Proyecto Cultura Empresarial
 
Introducción a LDAP
Introducción a LDAPIntroducción a LDAP
Introducción a LDAP
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
ADMINISTRACION DE BASE DE DATOS UNIDAD 1
ADMINISTRACION DE BASE DE DATOS UNIDAD 1ADMINISTRACION DE BASE DE DATOS UNIDAD 1
ADMINISTRACION DE BASE DE DATOS UNIDAD 1
 
Noción de archivo real y virtual
Noción de archivo real y virtual Noción de archivo real y virtual
Noción de archivo real y virtual
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 

Destaque

Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicionFlashnet S.A
 
TRANSPORTATION & TRADE LOGISTICS
TRANSPORTATION & TRADE LOGISTICSTRANSPORTATION & TRADE LOGISTICS
TRANSPORTATION & TRADE LOGISTICSCláudio Carneiro
 
Webinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertes
Webinar: Empfehlungsstrategien zur Steigerung des WarenkorbwertesWebinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertes
Webinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertesepoq internet services GmbH
 
Cultural studies chapter 9
Cultural studies chapter 9Cultural studies chapter 9
Cultural studies chapter 9Channy Leang
 
Actividades de Coeducacion
Actividades de CoeducacionActividades de Coeducacion
Actividades de CoeducacionA. Casas
 
Working Session - Mobile Marketing - GROUPM
Working Session - Mobile Marketing - GROUPMWorking Session - Mobile Marketing - GROUPM
Working Session - Mobile Marketing - GROUPMPiN Digital Waves
 
Ertzaintzaren XXVI. Promozioa
Ertzaintzaren XXVI. PromozioaErtzaintzaren XXVI. Promozioa
Ertzaintzaren XXVI. PromozioaIrekia - EJGV
 
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo Italiano
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo ItalianoGuida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo Italiano
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo ItalianoIIS Falcone-Righi
 
In 06 making inno work 2015
In 06 making inno work 2015In 06 making inno work 2015
In 06 making inno work 2015Various Projects
 
Using Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeUsing Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeLars Schmitz
 
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...Francesco Baldassarri
 
1595 teide nevado-(menudospeques.net)
1595 teide nevado-(menudospeques.net)1595 teide nevado-(menudospeques.net)
1595 teide nevado-(menudospeques.net)feracris
 
QuaREPE - Quadro de Referência para o Ensino Português no Estrangeiro
QuaREPE - Quadro de Referência para o Ensino Português no EstrangeiroQuaREPE - Quadro de Referência para o Ensino Português no Estrangeiro
QuaREPE - Quadro de Referência para o Ensino Português no EstrangeiroEnsinar Português Andaluzia
 
Contabilidad Avanzada 3 - Impuestos Diferidos
Contabilidad Avanzada 3 - Impuestos DiferidosContabilidad Avanzada 3 - Impuestos Diferidos
Contabilidad Avanzada 3 - Impuestos DiferidosFernando Romero
 
Minchan mundaca erick examen final
Minchan mundaca erick examen finalMinchan mundaca erick examen final
Minchan mundaca erick examen finalrodriguillo
 

Destaque (20)

Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
TRANSPORTATION & TRADE LOGISTICS
TRANSPORTATION & TRADE LOGISTICSTRANSPORTATION & TRADE LOGISTICS
TRANSPORTATION & TRADE LOGISTICS
 
Webinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertes
Webinar: Empfehlungsstrategien zur Steigerung des WarenkorbwertesWebinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertes
Webinar: Empfehlungsstrategien zur Steigerung des Warenkorbwertes
 
Abbey house sztuka i luksus
Abbey house sztuka i luksusAbbey house sztuka i luksus
Abbey house sztuka i luksus
 
Ascension parish bank owned homes
Ascension parish bank owned homesAscension parish bank owned homes
Ascension parish bank owned homes
 
Cultural studies chapter 9
Cultural studies chapter 9Cultural studies chapter 9
Cultural studies chapter 9
 
Actividades de Coeducacion
Actividades de CoeducacionActividades de Coeducacion
Actividades de Coeducacion
 
Working Session - Mobile Marketing - GROUPM
Working Session - Mobile Marketing - GROUPMWorking Session - Mobile Marketing - GROUPM
Working Session - Mobile Marketing - GROUPM
 
Ertzaintzaren XXVI. Promozioa
Ertzaintzaren XXVI. PromozioaErtzaintzaren XXVI. Promozioa
Ertzaintzaren XXVI. Promozioa
 
ELOHIM INDUSTRIAL SALES INC
ELOHIM INDUSTRIAL SALES INCELOHIM INDUSTRIAL SALES INC
ELOHIM INDUSTRIAL SALES INC
 
Erik homberger erikson
Erik homberger eriksonErik homberger erikson
Erik homberger erikson
 
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo Italiano
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo ItalianoGuida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo Italiano
Guida completa ai corsi gratuiti di Lingua Italiana di Certifica il tuo Italiano
 
In 06 making inno work 2015
In 06 making inno work 2015In 06 making inno work 2015
In 06 making inno work 2015
 
Using Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-TimeUsing Spatial Data Streams In Real-Time
Using Spatial Data Streams In Real-Time
 
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...
Intel Software Android Webinar Series: Sviluppare le vostre app per Android, ...
 
1595 teide nevado-(menudospeques.net)
1595 teide nevado-(menudospeques.net)1595 teide nevado-(menudospeques.net)
1595 teide nevado-(menudospeques.net)
 
Exercises 1
Exercises 1Exercises 1
Exercises 1
 
QuaREPE - Quadro de Referência para o Ensino Português no Estrangeiro
QuaREPE - Quadro de Referência para o Ensino Português no EstrangeiroQuaREPE - Quadro de Referência para o Ensino Português no Estrangeiro
QuaREPE - Quadro de Referência para o Ensino Português no Estrangeiro
 
Contabilidad Avanzada 3 - Impuestos Diferidos
Contabilidad Avanzada 3 - Impuestos DiferidosContabilidad Avanzada 3 - Impuestos Diferidos
Contabilidad Avanzada 3 - Impuestos Diferidos
 
Minchan mundaca erick examen final
Minchan mundaca erick examen finalMinchan mundaca erick examen final
Minchan mundaca erick examen final
 

Semelhante a Exposicion 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)René Pilataxi
 
[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server FacesEudris Cabrera
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1josezapana
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesAitor Acedo
 
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
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webFelipe
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
[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] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF FrameworkEudris Cabrera
 
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
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdfMarvelNanosoft
 

Semelhante a Exposicion JSF (20)

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)
 
[ES] Desarrollo de aplicaciones con Java Server Faces
[ES] Desarrollo de aplicaciones con Java Server  Faces[ES] Desarrollo de aplicaciones con Java Server  Faces
[ES] Desarrollo de aplicaciones con Java Server Faces
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
Java server faces
Java server facesJava server faces
Java server faces
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Desarrollo con JSF
Desarrollo con JSFDesarrollo con JSF
Desarrollo con JSF
 
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
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
Spring
SpringSpring
Spring
 
[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework[ES] Introduccion a ADF Framework
[ES] Introduccion a ADF Framework
 
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
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 

Mais de castlellanos

Mais de castlellanos (15)

Servicios Web.pptx
Servicios Web.pptxServicios Web.pptx
Servicios Web.pptx
 
Foro.pptx
Foro.pptxForo.pptx
Foro.pptx
 
Induccion en ssoa virtual
Induccion en ssoa  virtualInduccion en ssoa  virtual
Induccion en ssoa virtual
 
Sustacias quimicas
Sustacias quimicasSustacias quimicas
Sustacias quimicas
 
Actividad1 sena
Actividad1 senaActividad1 sena
Actividad1 sena
 
Actividad
ActividadActividad
Actividad
 
Actividad 1 cms
Actividad 1 cmsActividad 1 cms
Actividad 1 cms
 
Proyecto de ley
Proyecto de leyProyecto de ley
Proyecto de ley
 
Proyecto de mercados definitivo
Proyecto de mercados definitivoProyecto de mercados definitivo
Proyecto de mercados definitivo
 
CMS
CMSCMS
CMS
 
Diccionario 2
Diccionario 2Diccionario 2
Diccionario 2
 
Diccionario 1
Diccionario 1Diccionario 1
Diccionario 1
 
Expo
ExpoExpo
Expo
 
Articulo MVC
Articulo MVC Articulo MVC
Articulo MVC
 
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.Segunda sesion modulo 2 : Ing. Adriana Iglesias.
Segunda sesion modulo 2 : Ing. Adriana Iglesias.
 

Exposicion JSF

  • 1. JSF Presentado por: Ing. RICARDO LLANOS Ing. OSCAR VILLA
  • 2. JAVA SERVER FACES Definición. JavaServerFaces (JSF) es una tecnología y framework para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE.  JSF usa JavaServerPages como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL.
  • 3. JAVA SERVER FACES Que es una aplicación JSF? En su mayoría, las aplicaciones JavaServer Faces son como cualquier otra aplicación Web Java. Se ejecutan en un contenedor Servlet Java, y típicamente contienen: Paginas en JSP Clases de utilidad del lado del servidor, como beans para acceder a las bases de datos. Componentes JavaBeans (Llamados objetos del modelo en tecnología JavaServer Faces) conteniendo datos y funcionalidades especificas de la aplicación.
  • 4. JAVA SERVER FACES Componentes Los principales componentes de la tecnología JSF son: Una API para: Representar componentes de Interfaz de Usuario (UI) y gestionar su estado. Manejar eventos, validar en el servidor y conversión de datos. Definir la navegación de páginas. Soporte de internacionalización y accesibilidad. Dos librerías de etiquetas JSP personalizadas para expresar componentes en una página JSP y enlazar los componentes a objetos del servidor.
  • 5.
  • 7.
  • 8. JAVA SERVER FACES Estructura basica Como se puede apreciar en la siguiente figura, el interface de usuario que creamos con la tecnología JavaServer Faces se ejecuta en el servidor y se renderiza en el cliente.
  • 9. JAVA SERVER FACES Ventajas Existen numerosas ventajas que hacen que JSF sea una tecnología apropiada para el desarrollo de aplicaciones web: Una de las grandes ventajas de la tecnología JavaServer Faces es que ofrece una clara separación entre el comportamiento y la presentación. Las aplicaciones Web construidas con tecnología JSP conseguían parcialmente esta separación. Sin embargo, una aplicación JSP no puede mapear peticiones HTTP al manejo de eventos específicos del componentes o manejar elementos UI como objetos con estado en el servidor. La tecnología JavaServer Faces permite construir aplicaciones Web que implementan una separación entre el comportamiento y la presentación tradicionalmente ofrecidas por arquitectura UI del lado del cliente. JSF se hace fácil de usar al aislar al desarrollador del API de Servlet.
  • 10. JAVA SERVER FACES Ventajas 2 JavaServer Faces ofrece una gran cantidad de componentes opensource para las funcionalidades que se necesiten. Los componentes Tomahawk de MyFaces y ADFFaces de Oracle son un ejemplo. Además, también existe una gran cantidad de herramientas para el desarrollo IDE en JSF al ser el estándar de JAVA. La separación de la lógica de la presentación también le 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. La tecnología JavaServer Faces proporciona una rica arquitectura para manejar el estado de los componentes, procesar los datos, validar la entrada del usuario, y manejar eventos. Además, ofrece una rápida adaptación para nuevos desarrolladores.
  • 11. JAVA SERVER FACES Desventajas No obstante, el uso de JavaServer Faces también tiene un conjunto de desventajas: Su naturaleza como estándar hace que la evolución de JSF no sea tan rápida como pueda ser la de otros entornos como WebWork, Wicket, Spring , etc.
  • 12. JAVA SERVER FACES Nuevos Terminos JSF presenta dos nuevos términos: managedbean (objeto manejado): Un managedbean describe cómo se crea y se maneja un bean. No tiene nada que ver con las funcionalidades del bean. backingbean (objeto de respaldo). El backingbean define las propiedades y la lógica de manejo asociadas con los componentes UI utilizados en la página. Cada propiedad del bean de respaldo está unida a un ejemplar de un componente o a su valor. Un backingbean también define un conjunto de métodos que realizan funciones para el componente, como validar los datos del componente, manejar los eventos que dispara el componente y realizar el procesamiento asociado con la navegación cuando el componente se activa.