Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Felipe Benavente Cabrera Ingeniería en Informática Josep Maria Camps.

Slides:



Advertisements
Presentaciones similares
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Advertisements

Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Sistema de notificación de incidencias de analizadores para dispositivos móviles Master Universitario de Desarrollo de aplicaciones para dispositivos móviles.
Java Server Faces Desarrollo de Aplicaciones Empresariales con Java Instructor: Geovanny Cudco
Administración de un proyecto de Software Libre: FAVS Jesús Sánchez Sánchez F AVS.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Migración de informes de Oracle Reports 6i a IReport en el Escritorio de Tramitación de la Consejería de Salud de la Junta de Andalucía Dpto. Informática.
Plataforma electrónica RAEE Estado de situación y desarrollo informático 15 de junio de 2016.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Ingeniería en Informática
MODELOS DE REFERENCIAS DE PROCESOS NEGOCIOS
Metodología de Implementación de Sistemas ERP
11 de enero PFC 2016 Proyecto Final de Carrera – 2015 Semestre 2 – Oscar Escudero Sanchez Andorra la Vella - Andorra Copyright © 2016 Adrián Chavero Ramos.
Programación Avanzada
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA
SWEBOK.
FECHA ÚLTIMA REVISIÓN: 13/12/11
“POLIMORFISMO PARAMETRICO”
Clasificación de Software
Gestión de Riesgos Corporativos
Tópicos de bases de datos
Conceptos y definición básicos
El hardware y el software
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Introducción a programación web Martin Esses
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Software de aplicación de escritorio y web
UNIVERSIDAD DE LAS FUERZAS ARMADAS-ESPE
Ingeniería de Sistemas Requerimientos
Grupo Abigaíl Mejía.
Tema 3. Lenguaje unificado de modelado UML
Aplicaciones Web de Servidor
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
DIRECTOR: Ing. José Sancho Autor: Jorge Escobar
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Metodología de la programación
Modelo Vista Controlador (MVC)
Ingeniería del Software
M.V.C (Modelo-vista-controlador)
SOL GUTIÉRREZ Y MARIANA HEINTZ 4°C Prof. Gustavo price
ARQUITECTURA DE APLICACIONES WEB.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Roles del Analista de Sistemas Y Ciclo de Vida del Desarrollo de Sistemas.
Customización en ADempiere
Ing. Dahiana Ferreira Ing. Dahiana Ferreira Facultad Politécnica - UNE.
Java Enterprise edition
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
Servidor de Reportes basado en Tecnología Java y XML
Class adapter.
PROYECTO DE GRADUACIÓN
Spring Framework.
ARQUITECTURA DEL PROYECTO. La estructura modelo vista controlador se muestra en la siguiente ilustración : ESTRUCTURA DE PROYECTOS DE MVC.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
Características de los Sistemas Operativos
PROYECTO DE GRADUACIÓN
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS By Pachas Garay Bruno.
HOJA DE VERIFICACIÓN DE CALIDAD. Una hoja de verificación es una herramienta expresada en un formato que se utiliza para recolectar de manera estructurada.
ICI 502 Procesos de Software
Transcripción de la presentación:

Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Felipe Benavente Cabrera Ingeniería en Informática Josep Maria Camps Riba UOC - 20 de junio de 2011 Este trabajo está sujeto –excepto que se indique lo contrario– a una licencia de Atribución-NoComercial-SinDerivadas 2.5 España de Creative Commons.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Justificación ● J2EE es posiblemente el estándar de desarrollo más usado. ● En estos entornos, gran parte del tiempo es para el desarrollo de la capa de presentación: ● La interfaz de usuario es un componente complejo. ● Código fuente disperso: JSP, Servlets, Beans... ● Una buena solución puede ser disponer de un marco de trabajo con las siguientes características: ● Estructure el código en componentes independientes: Modelo, Vista, Controlador (Patrón MVC). ● Disponga de un conjunto de utilidades que agilicen el desarrollo.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Objetivos Para el desarrollo del marco de trabajo nos fijaremos los siguientes objetivos: ● Estudiar y evaluar marcos de trabajo de presentación existentes en el mercado. ● Diseñar e implementar un marco de presentación. ● Implementar una pequeña aplicación que muestre su funcionamiento.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Planificación Para el cumplimiento de los objetivos se fijan los siguientes hitos: ● 8 de abril, entrega del estudio y evaluación de marcos de trabajo de presentación actuales así como el diseño. ● 29 de abril, entrega de la implementación del marco de trabajo base y una aplicación de pruebas. ● 17 de mayo, entrega de la implementación mejorada del marco y la aplicación de pruebas adaptada. ● 20 de junio, entrega de la memoria y presentación del proyecto. Como suele ser habitual, esta planificación sufrirá cambios durante el desarrollo del proyecto.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Aspectos técnicos Antes de empezar a trabajar en un proyecto es necesario hacer un estudio de los aspectos que le atañen, en nuestro caso: ● Patrones de diseño. El patrón MVC. ● Marcos de trabajo (Frameworks) ● Frameworks de presentación ● Struts ● Spring MVC ● Java Server Faces (JSF)

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Patrones de diseño. El patrón MVC Los patrones de diseño son plantillas que ofrecen soluciones genéricas a problemas comunes. Uno de los patrones más conocidos es el patrón MVC, gracias al cual se consigue aislar la interfaz gráfica de la lógica de la lógica de negocio. Para ello se divide la lógica de presentación en 3 componentes que dan nombre al patrón: ● Model (M), encapsula la lógica de negocio. ● View (V), presenta la información al usuario. ● Controller (C), gestiona los eventos producidos por el usuario interactuando con el modelo y presentando las vistas adecuadas.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Frameworks Los frameworks, o marcos de trabajo, son un conjunto de librerías, clases u otros ficheros que definen y/o implementan un comportamiento genérico y que suelen incluir un conjunto de utilidades para agilizar el trabajo del programador. En el caso que aplica al proyecto nos centraremos en los marcos de trabajo de presentación que además implementan el patrón de diseño MVC. Nos centramos en tres de los más importantes: ● Struts, en sus dos versiones (1 y 2). ● Spring MVC. ● Java Server Faces (JSF).

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Frameworks - Struts ● Struts 1, uno de los primeros marcos de presentación y de los que tienen una vida más larga. Se compone de: ● Controlador (ActionServlet), configurable mediante un fichero (struts-config.xml) y se encarga de dar respuesta a las peticiones del cliente. ● Action, contienen la lógica de la capa de presentación. ● ActionForms, contienen los datos necesarios para la capa de presentación. ● A parte contiene utilidades de validación y conversión para los datos enviados a los formularios, otras utilidades para la internacionalización y un conjunto de taglibs que ayudan al desarrollo de las vistas. ● Struts 2, no es propiamente una evolución del primero, ya que su origen es WebWork2. Esta soluciona problemas de diseño de la primera versión y proporciona nuevas funcionalidades.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Frameworks - Spring MVC Forma parte de un marco más potente para el desarrollo de aplicaciones (Spring). ● El DispatcherServlet es el controlador principal, configurable por ficheros XML o anotaciones. ● La lógica de la capa de presentación se encuentra en los llamados Controllers, más simples de implementar que los de Struts 1. ● Permite diferentes tipos de vistas. No sólo JSP. ● Al igual que el anterior contiene utilidades de validación, conversión, internacionalización y taglibs.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Frameworks - Java Server Faces Es una especificación propia de JEE, por lo que permite diferentes implementaciones. ● Basado en componentes, como si de una aplicación de escritorio se tratara. ● También contiene un controlador principal (FacesServlet) configurable mediante ficheros XML y anotaciones. ● La lógica se encuentra en los ManagedBeans.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Frameworks – tabla comparativa Del estudio anterior obtenemos la siguiente tabla comparativa

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Diseño Partiendo de la información anterior, parece claro que el marco debe tener las siguientes características: ● Un controlador principal encargado de gestionar las peticiones. ● Un sistema de configuración para determinar el comportamiento del controlador y definir los componentes básicos. ● Utilidades de validación y conversión de datos. ● Debe permitir la internacionalización. ● Permitir el uso de taglibs estándares. ● Interfaces que ayuden al usuario a definir los componentes básicos, aunque es preferible que permita componentes de tipo POJO.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Diseño – Controlador principal El controlador es el componente principal. Gestiona las peticiones, valida y convierte los datos, interactúa con el modelo y determina las vistas siguiendo el siguiente flujo: Dicho controlador será configurado mediante un fichero XML.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Diseño – Componentes El controlador delegará cada una de las acciones en los siguientes componentes: ● PFCManager, serán los componentes que el programador deberá desarrollar y contendrán la lógica y datos de presentación. ● PFCValidator, encargados de validar los datos introducidos por el usuario. Serán proporcionados por el marco aunque podrán ser ampliados por el usuario. ● PFCConversor, convierten los datos introducidos por el usuario a objetos que los managers pueden tratar. También son proporcionados por el marco y pueden ser ampliados.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Diseño – Delegación de funciones Para facilitar la programación del controlador se ha decidido delegar la gestión de los componentes en disparadores, tal como muestra el siguiente gráfico:

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Implementación – Entorno de desarrollo El primer paso para proceder con la implementación ha sido preparar el entorno de desarrollo que en nuestro caso ha sido el siguiente: ● Sistema Operativo: Ubuntu ● IDE: Netbeans 6.9. ● Versión java: 1.6. ● Servidor: Apache Tomcat 6.0 sobre Ubuntu

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Implementación – Configuración Para la configuración del controlador hemos decidido usar un fichero XML y transformarlo a objetos java para tratarlo desde el controlador. Para ello: ● Se ha definido el contenido del XML mediante un fichero DTD. ● Se ha utilizado la librería XStream para pasar el contenido del XML a una serie de objetos. ● Se ha implementado una clase que se lanza durante el inicio de la aplicación que será la encargada de ejecutar la lectura y registrarla en un objeto accesible dentro del contexto de la aplicación.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Implementación – Controlador Siguiendo el flujo definido en el diseño el controlador sigue los siguientes pasos: ● Extraer de la petición el mapeo adecuado. De él se obtienen, las validaciones, los conversores, el manager y método del manager, así como las rutas de salida en función del resultado. ● Validar los datos de la petición delegando en el PFCValidatorDispatcher. ● Convertir los datos a valores del manager o parámetros del método a ejecutar delegando en PFCConverterDispatcher. ● Ejecutar el método del manager apropiado a través del PFCManagerDispatcher. ● Si todo es correcto se muestra la visa configurada por el usuario. Si hubiera fallos el controlador se encargaría de procesar el error y determinar la acción a realizar en función de la configuración.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Aplicación de pruebas La aplicación de pruebas es un carro de la compra sencillo con las siguientes funciones: ● Pantalla de selección de productos. ● Consulta y modificación del carro. ● Confirmación de la compra realizada. ● Introducción de los datos del cliente.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Conclusiones ● La capa de presentación es una de las partes más costosas en el desarrollo de aplicaciones J2EE. ● Usar el patrón de diseño MVC permite tener componentes independientes donde cada uno tiene unas responsabilidades concretas. ● Usar marcos de trabajo que implementen el patrón MVC permiten al programador centrarse exclusivamente en la programación de la aplicación. ● Usando marcos establecidos en el mercado nos aprovecharemos de la experiencia de éstos y darán una garantía a nuestro programa.

UOC de junio de 2011 Diseño e implementación de un marco de trabajo de presentación para aplicación J2EE Aspectos a mejorar Por diversas causas, el desarrollo del marco no ha sido tal cual se planificó y se ha quedado en un sistema básico, por lo que carece de ciertas funciones que pueden resultar interesantes: ● Configuración del marco mediante anotaciones. ● Integración con AJAX. ● Subida de ficheros. Además, puntos detallados en diseño que no se han podido alcanzar como: ● Mayor número de conversores y validadores. ● Obtención de parámetros a través de la URL de la petición.