¿ 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.