¿Que es JavaServer Faces?

¿Que es JavaServer Faces(JSF)?

JavaServer 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. JSF usa JavaServerPages(JSP) como la tecnología que permite hacer el despliegue de las paginas, pero también se puede acomodar a otras tecnologías como XUL(acronimo de XML-based Uder-interface Language, lenguaje basado en XML para la interfaz de usuario)


JSF 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 la internacionalización y accesibilidad.
  • Un conjunto por defecto de componentes para la interfaz de usuario 
  • Dos bibliotecas de etiquetas personalizadas para JavaServer Pages que permiten expresar una interfaz JavaServer Faces dentro de una pagina JSP.
  • Un modelo de eventos en el lado del servidor.
  • Administración de estados.
  • Beans administrados.


Características de JSF

JSF es un framework MVC (Modelo-Vista-Controlador) basado en la API de Servlets que proporciona un conjunto de componentes en forma de etiquetas definidas en paginas XHTML mediante el framework Facelets. Facelets se define en la especificación 2 de JSF como un elemento fundamental de JSF que proporciona características de plantillas y de creación de componentes compuestos. Antes de la especificación actual se utilizaba JSP para componer las pagians JSF.

Características destacables:
  • Definición de las interfaces de usuario mediante vistas que agrupan componentes gráficos
  • Conexión de los componentes gráficos con los datos de la aplicación mediante los denominados beans gestionados 
  • Conversión de datos y validación automática de la entrada del usuario
  • Navegación entre vistas
  • Internacionalización
  • A partir de la especificación 2.0 un modelo estándar de comunicación Ajax entre la vista y el servidor




¿Que es la API JSF?

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

WebSphere Application Server da soporte a JavaServer Faces 2.2 a nivel de timpo de ejecucion. Utilice el tiempo de ejecucion de JSF para las funciones siguientes:
  • Construir fácilmente una interfaz de usuario a partir de un conjunto de componentes de interfaz de usuario reutilizables
  • Simplificar la migración de datos de aplicación a o desde la interfaz de usuario
  • Ayudar a gestionar el estado de la interfaz de usuario durante las solicitudes de servidor
  • Proporcionar un modelo sencillo para enviar sucesos generados por el cliente al código de aplicación del lado del servidor
  • Dar soporte a componentes de la interfaz de usuario personalizados para su compilación y reutilizacion 



Diferencias entre JSP, JSF y SPRING

JSF

  • Es un framework para la generación de paginas web dentro de una aplicación web. Sigue la filosofia MVC
  • Tiene dos "modos" usando JSP o Facelets
  • Estandariza cuestiones como navegación entre páginas y la internacionalización de recursos que en JSP simplemente no estaba definidas

Ventajas

  • El código JSF con el que creamos las vistas (etiquetas jsp) es muy parecido al HTML estándar
  • JSF se integra dentro de la pagina JSP y se encarga de la recogida y generación de los valores de los elementos de la página
  • JSF resuelve validaciones, conversiones, mensajes de error e internacionalización 
  • JSF permite introducir javascript en la pagina para acelerar la respuesta de la interfaz del cliente
  • JSF es extensible por lo que se pueden desarrollar nuevos componentes a medida, También se puede modificar el comportamiento del framework mediante APIs que controlan su funcionamiento 

Desventajas


  • Curva de aprendizaje empinada es una de las principales desventajas de JSF. Sin embargo si estas familiarizado con los conceptos de HTML y CSS, va a ser mas sencillo.
  • Hay muy pocos ejemplos disponibles para desarrollar paginas dinámicas
  • Cada botón o enlace hace clic en los resultados en un formulario de publicación. Eso esta mal, ¿por que no puedo tener enlaces verdaderos como se supone que debe tener la web? El envió de formularios para la navegación de paginas hace una codificación compleja para requisitos simples como el botón Cancelar
  • El componente de la base de datos requiere los mismos datos del bean en a fase de vista de restauración. Si los datos se recuperan de la base de datos esto tendrá un impacto en el rendimiento


SPRING

SPRING es un framework de Java creado con la finalidad de estandarizar el trabajo, resolver, agilizar y manejar los problemas y complejidades que van apareciendo en el mundo de la programación, a medida las exigencias van creciendo.

SPRING nos permite desarrollar aplicaciones de manera mas rápida y eficaz saltándonos tareas repetitivas y ahorrándonos lineas de código.

Ventajas

  • Buena separación entre componentes de front-end y la lógica de java
  • No utiliza archivos de configuracion XML, la configuración se lleva a cabo desde código, solo configuración mínima en web.xml para su integración
  • Desarrollo orientado a componentes estilo SWING
  • Elementos gráficos básicos fáciles de implementas, ideales para aplicaciones pequeñas CRUD
  • Fácil de debuggear
  • Su uso son Java y HTML simples, los conceptos de java se utilizan a gran nivel (encapsulamiento, herencia, eventos)

Desventajas

  • Se actualiza muy constantemente, puede ocasionar mucho trabajo en migración a versiones nuevas
  • Documentación actualizada escaza 
  • Para aplicaciones escalables, donde se demanden elementos gráficos mas flexibles no tan básico, el catálogo de wicket podria quedarse corto
  • Entre mas componentes tiene una pagina mas complejo y desorganizado se vuelve el código y sus elementos
  • Limitado a paginas simples debido a sus elementos predefinidos






Comentarios

Entradas populares de este blog

INTRODUCCIÓN A JAVA