JAVA_SERVER-FACES



¿ QUE ES JAVA_SERVER_FACES ?

Java_Server_Faces es una tecnología y framework para aplicaciones Java basadas en Web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE.

Java_Server_Faces usa ( JSP ) como la tecnología que le permite haces el despliegue de las paginas, pero también se puede acomodar a otras tecnologías como XUL ( Acronimo de XML-Based User_Interface_Language ) lenguaje basado en XML para la inferfaz del usuario.

  • JAVA-SERVER-FACES INCLUYE :
    • Un Conjunto de Apis para representar componentes de una Interfaz de Usuario y Administrar su Estado, Manejar Eventos, Validar Entrada, definir un esquema de navegación de las paginas y dar soporte para internacionalización y accesibilidad.
    • Un Conjunto por defecto de componentes para la interfaz de usuario.
    • Dos bibliotecas de Etiquetas personalizadas para Java-Server-Faces que permiten expresar una interfaz JavaServerFaces dentro de una Pagina JSP.
    • Un modelo de Eventos en el lado del Servidor.
    • Administración de Estados.
    • Beans Administrados.


¿ CARACTERÍSTICAS DE JAVA-SERVER-FACES ?


  • Utiliza Páginas JSP para generar las vistas, añadiendo una biblioteca de etiquetas propia para crear los elementos de los formularios HTML.
  • Asocia a cada vista con formularios un conjunto de objetos java manejados por el controlador ( managed beans ) que facilitan la recogida, manipulación y visualización de los valores mostrados en los diferentes elementos de los formularios.
  • Introduce una serie de etapas en el procesamiento de la petición, como por ejemplo la de validación, reconstrucción de vistas, recuperación de los valores de los elementos, etc.
  • Utiliza un sencillo fichero de configuración para el controlador en formato XML.
  • Es extensible, pudiendo crearse nuevos elementos de la interfaz o modificar los ya existentes.

¿ QUE ES LA API JAVA-SERVER-FACES ?

JSF ( JavaServerFaces ) es una infraestructura de interfaz de usuario o interfaz de programación de aplicaciones ( API ), que facilita el desarrollo de aplicaciones web Java.

WebSphere Application Server da soporte a JavaServerFaces 2.2 en tiempo real de ejecución. Utilizando el tiempo de ejecución de JSF para las siguientes funciones.

  • Construir fácilmente una interfaz de usuario a partir de un conjunto de componentes de interfaz de usuario re utilizables.
  • Simplificar la migración de datos de aplicación a o desde la interfaz de usuario.
  • Proporcionar un modelo sencillo de la interfaz de usuario durante las solicitudes del servidor.
  • Da soporte a componentes de la interfaz de usuario personalizados para su compilación y re utilización.

¿ DIFERENCIAS ENTRE JSP, JSF, SPRING ?

  • JAVA_SERVER-PAGES
    • Era el Framework para la generación de paginas web anterior a que se definiera JSF.
    • Se basa en generar un fichero .jsp que es "traducido" a una clase Servlet que a su vez es compilada y ejecutada.
    • Hay 2 versiones con scriptlets (<%%>) que se considera obsoleta, o con la Java Standard Template Library ( JSTL ). La ultima actualización implementa el Modelo Vista Controlador.
    • Tiene que ser compilado en Java ByteCode.
    • Es un lenguaje basado totalmente en Java para hacer paginas web dinámicas.
  • JAVA_SERVER_FACES.
    • Es un framework para la generación de paginas Web dentro de un aplicación web. Sigue la filosofía MVC.
    • Tiene 2 "modos", usando JSP o Facelets. Inicialmente se usaban JSPs, pero a partir de la versión 1.2 por defecto se usan Facelets ( Componentes XML ). Normalmente se confunde "JSF" por "Facelets" ( si buscar "componentes JSF " encontraras librerías de Facelets ).
    • Estandariza cuestiones como navegación entre paginas y la internacionalización de recursos que en JSP simplemente no estaban definidas.
    • Soporta Conversión a Validator, Ajax, etc.
    • Puede Integrar JSF con ricas librerías para diferentes interfaces de usuario.
  • SPRING.
    • Es un Stack alternativo a Java EE. Como tal, proporciona una serie de servicios similares a los del Stack ( por ejemplo autentifican y seguridad, etc.).
    • No reemplaza completamente el Stack; por ejemplo es muy común integrar una capa web JSP o JSF con una base Spring o usar componentes del Stack.