Java Server Faces (JSF)



Documentos relacionados
Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Capítulo 2. Marco Teórico

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Curso de HTML5 y CSS3

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Solución GeoSAS. Otros módulos

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Novedades. Introducción. Potencia

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo II. Arquitectura del Software

Desarrollo de Software con

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

Capítulo 1 Documentos HTML5

Arquitectura de sistema de alta disponibilidad

Diseño e implementación de una tienda electrónica mediante Struts y SOAP. Rocío López Valladolid Tutor: Dr. Abelardo Pardo Sánchez

Capítulo 5. Cliente-Servidor.

Curso de Spring Framework

Gestión de Incidencias

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

App para realizar consultas al Sistema de Información Estadística de Castilla y León

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

Curso de Android con Java

Aplicación para la gestión de prácticas en empresas. Memoria

CONCLUISIONES Y RECOMENDACIONES

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

UNIVERSIDAD DE SALAMANCA

Contenido Qué es Joomla?... 2 Tipos de extensiones... 4 Referencias... 8

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

CMS JOOMLA. Características

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Curso de JavaServer Faces

Universidad Nacional Autónoma de México. Facultad de Química. Herramienta de planeación Enterprise Resource Planing (ERP)

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Diseño dinámico de arquitecturas de información

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

Sistema informatizado de Trazabilidad alimentaria

Capítulo I. Marco Teórico

Taller de Sistemas de Información 2

Capitulo III. Diseño del Sistema.

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Cómo elegir tu SOFTWARE DE GESTIÓN?

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez


Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

LiLa Portal Guía para profesores

Descuartiza un módulo de Magento

Obteniendo más valor de su Sistema ERP

1 EL SISTEMA R/3 DE SAP AG

Alfresco permite su integración y personalización en sistemas de gestión documental para implementar funcionalidades específicas


Sistema de Gestión Bibliotecaria

Curso de HTML5 y CSS3

TFM Comunicación, Redes y Gestión de Contenidos

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

UNIVERSIDAD COOPERATIVA DE COLOMBIA POSTGRADO MULTIMEDIA PARA LA DOCENCIA ELECTIVA I CREACIÓN DE AMBIENTES VIRTUALES

Diseño de Base de Datos

Curso de HTML5 y CSS3

Introducción. Metadatos

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

El Portal de la Transparencia

Studium, Campus Virtual de la Universidad de Salamanca.

Aplicaciones Web con Delphi

Presentación de contenidos y funcionalidades. Plataforma on-line de libros electrónicos para estudiantes de Ciencias, Ingeniería y Arquitectura

CATÁLOGO DE FORMACIÓN

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

Desarrollo Profesional con Open Source en Java. Abner Ballardo Urco

e-commerce vs. e-business

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Sistema de gestión de tareas y proyectos

Lección 1 Introducción a Struts. uacosta@globalmentoring.com.mx

TENDENCIAS EN LA PRESTACIÓN DE SERVICIOS EN BIBLIOTECAS VIRTUALES. Lic. Maria Isabel Vargas Billon

arquitectura que maneja. Encontraremos también los diferentes servidores que

CAPÍTULO 3 Servidor de Modelo de Usuario

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

OpenProdoc. ECM Open Source

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

CAPITULO I El Problema

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio

APLICACIONES WEB GOOGLE ANAYLITICS

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Nuestros servicios - Colaboración. Soporte y desarrollo en SharePoint. Web 2.0 y Ajax. Nuestros productos. maps. Mapas y tutoriales

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Transcripción:

Java Server Faces (JSF) Sandra Álvarez Teruelo Miguel Ángel Barcenilla Mancha Cristina Rodríguez Gallego Ana María Salas Fernández Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contenido Introducción Descripción Desarrollo Uso Conclusiones Referencias 2

Introducción Qué es? JavaServer Faces (JSF) es un framework basado en el patrón MVC (Modelo Vista Controlador) para aplicaciones Java basadas en web que simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. Un framework es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente suelen incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros para ayudar a desarrollar y unir los diferentes componentes de un proyecto. 3 Introducción JSF pretende normalizar y estandarizar el desarrollo de aplicaciones web. Ofrece una clara separación entre el comportamiento y la presentación, lo que 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. 4

Introducción Origen Los frameworks son diseñados con el intento de facilitar el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel de proveer un sistema funcional. La tecnología JavaServer Faces surge como una solución a la separación entre la presentación y el comportamiento en una aplicación Web, de forma tal que las actividades de los autores de las páginas puedan separarse de las actividades de los desarrolladores de la lógica. 5 Introducción Esto posibilita el desarrollo de entornos de desarrollos (IDE) que permitan trabajar en el diseño con funcionalidades del tipo dragand-drop. Te permite programar más rápidamente, ahorra trabajo, da consistencia a tu código, permite separar presentación de negocio y mejora la seguridad de tu aplicación JSF es posterior a la herramienta de soporte para el desarrollo de aplicaciones Web Apache Struts, por lo que se nutre de su experiencia y mejora algunas sus deficiencias. 6

Introducción Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC bajo la plataforma J2EE (Java 2, Enterprise Edition). Struts vs JSF: JSF gana en Flexibilidad del Controlador y manejo de eventos, navegación, desarrollo de paginas, integración y extensibilidad se las lleva JSF. Struts sale vencedor en madurez y en nada mas!! Esto no significa que JSF vaya a desplazar a otros frameworks. Struts y JSF pueden combinarse para dotar a la aplicación de una extensa plataforma de desarrollo en donde todas las capas de la implementación tienen su espacio definido. Descripción Características Tecnología que ejecuta del lado del servidor La especificación JSF fue diseñada según los siguientes principios: Amigable Independiente del protocolo y del dispositivo del cliente Posibilidad de utilizarse con tecnologías JSP Independencia de tecnologías JSP Escalable Posibilidad de utilizarse con navegadores Web actuales

Descripción Características Principales componentes API e implementación de referencia Librería de etiquetas JSP personalizadas Con estos elementos podemos: Conectar eventos generados en el cliente con código de la aplicación en el servidor Mapear componentes UI a la página de datos del servidor Construir un UI con componentes reutilizables y extensibles Grabar y restaurar el estado del UI más allá de la vida de las peticiones del servidor Descripción Ventajas Clara separación entre el comportamiento y la presentación La separación de la lógica permite a cada miembro del equipo de desarrollo encargarse de su cometido y posteriormente enlazar las partes Mejora los conceptos familiares de componente-ui y capa- Web sin limitarnos a tecnología de script particular o lenguaje de marcas Aunque incluye librería de etiquetas JSP personalizadas, los APIs de JSF se han creado sobre el API JavaServlet: usar tecnología presentación distina de JSP, crear componentes personalizados, generar salida para diferentes dispositivos cliente Proporciona una rica arquitectura para manejar el estado de los componentes, procesar datos, validar la entrada del usuario y manejar eventos

Desarrollo Instalación de MyFaces: Implementación de JSF de Software Libre Implementación de JSF de Software Libre. Proporciona herramientas adicionales. Posibilidad de instalar otro tipo de implementación, nos permite no adaptarnos al proveedor. Desarrollar una sencilla aplicación JavaServer Faces requiere la realización de estos pasos: Desarrollar los objetos del modelo, los que contendrán los datos. Añadir las declaraciones del bean controlado al fichero de configuración de la aplicación. Crear las páginas. Definir la navegación entre las páginas. Desarrollo : Desarrollar los Objetos del Modelo

Desarrollo:Añadir las Declaraciones del Bean Controlado Añadir declaraciones para los beans configuración de la aplicación. en el fichero de Declaración de Bean controlado para UserNumberBean: Procesa este fichero en el momento de arrancar la aplicación e inicializa los beans y los almacena en el ámbito de sesión. Equivalente a jsp:usebean en JSP s. Desarrollo: Crear las Páginas

Desarrollo: Definir navegación por las páginas. Definir la navegación de páginas por la aplicación. Cada regla de navegación define cómo ir de una página a otras páginas de la aplicación. Uso Dónde se usa? Hay cientos de sitios públicos en la web utilizando la tecnología JSF. No se sabe cuántos sitios JSF no evidentes existen, ni el número de sitios de la intranet que lo están utilizando, debido a la naturaleza secreta del mundo financiero. Varias empresas han acordado ser usuarios JSF referenciados, y sus historias están documentadas en la página http://jsfcentral.com/trenches/. Cualquier cliente de JavaStudio Creator, Oracle JDeveloper, o cualquiera de los productos y herramientas que aparece en el Listado Central de Productos de JSF también están utilizando JSF. Existe una lista de sitios desarrollados con Java Server Faces que se publica en Java.Net, una página Wiki sobre sitios desarrollados con JSF. 16

Uso Algunos sitios añadidos por los usuarios: Gecko Hosting Intra Muros... Oxford from Inside Maximize Physiotherapy Ninth Avenue Software Ordina Job Portal Peerflix (similar to Netflix) Rebecca Preston Riverside Fitness Santapark Pastoral Co Suikonix - Gensou Suikoden Artworks Sunburnt Web Services Sunshine Coast Cycling Club The AntiqueRegistry UQ Triathlon UQ Dance Steel-MAX Virgin Megastores UK InFact Book Search 17 Uso Kennard Consulting http://www.kennardconsulting.com/kc/index.jsf 18

Uso Rite Aid - Ask Your Pharmacist https://www.riteaid.com/myriteaid/login.jsf 19 Uso Sydney Buyers Agents - We Find, You Buy http://www.sydneypropertybuyersagents.com.au/spba/index.jsf 20

Uso Se puede observar que con JSF conseguimos un nivel de presentación llamativo, que es sencillo de hacer y modificar. Los elementos del interfaz de usuario (componentes JSF) y demás aspectos gráficos de las páginas estarán diseñados de forma que se pueda cambiar posteriormente su aspecto sin necesidad actuar sobre cada uno de los formularios o páginas de aplicación. 21 Uso Historias Linking Paths Es una empresa aventurera e innovadora formada por Aitor García, Alberto Molpeceres y Roberto Salicio. Han trabajado con Java Server Faces en algunos de sus productos. No porque creyesen que es el framework definitivo, sino como una apuesta estratégica de cara al futuro. Después de más de 5 años haciendo aplicaciones web, les plantea tanto dudas como respuestas. Dicen que JSF ofrece una serie de ventajas indudables (componentes configurables, ocultar en parte que es una aplicación web, ser un estándar, etc. ), pero que a la vez muestra que aún le faltan un par de vueltas. 22

Uso Creen que los dos grandes problemas son: o La forma estándar de distribuir y configurar los nuevos componentes: Hay proyectos como Tomahawk (perteneciente a myfaces) que ofrece componentes varios para nuestras aplicaciones (menus paginadores, pestañas, etc.), pero no hay forma sencilla de utilizarlos (no se pueden usar con pinchar y arrastrar, que es otra de las bondades que se esperan de JSF). o Información: como toda nueva tecnología, la cantidad de información es menor que la disponible para otras más consolidadas como Apache Struts. No sólo libros, sino información de proyectos reales, de los problemas que se han ido encontrando, etc. 23 Uso Ellos se preguntan Está Java Server Faces preparado para un uso real en la empresa?. Su respuesta es sí. A pesar de esos pequeños inconvenientes Java Server Faces es una posibilidad más que ha venido para quedarse y con buenas perspectivas de futuro, y nadie que se dedique al desarrollo web en Java debería perderlo de vista. 24

Conclusiones JSF surge como un framework muy prometedor y una opción muy recomendable para nuevos desarrollos. Una de las principales ventajas de trabajar con la tecnología Java Server Faces es que esta basado en el patrón MVC (Modelo Vista Controlador) ofreciendo una limpia separación entre el comportamiento y la presentación JSF pretende normalizar y estandarizar el desarrollo de aplicaciones web Permite la posibilidad de reutilización de beans de otras aplicaciones. A JSF aun le falta consolidarse algunos años más para poder encontrar tanta información sobre esta tecnología como se encuentra sobre otros frameworks competidores. 25 Referencias http://es.wikipedia.org/wiki/javaserver_faces http://es.wikipedia.org/wiki/framework http://www.programacion.com/java/tutorial/jsf_intro/2/ http://www.desarrolloweb.com/articulos/2380.php http://www.comunidadjava.com.ar/javaserver.pdf http://weblog.linkingpaths.com/ http://weblog.linkingpaths.com/2005/10/11/%c2%bfesta-java-server-facespreparado-para-la-vida-real-%c2%bfya/ http://wiki.java.net/bin/view/projects/realworldjsflinks http://www.jsfcentral.com/listings/a3070?link http://java.sun.com/developer/technicalarticles/gui/javaserverfaces/ 26