I NTEGRACIÓN DE APLICACIONES GESTORAS DE PROYECTOS Ingeniería Técnica en Informática de Sistemas Proyecto de fin de carrera, Junio 2010 Director: German.

Slides:



Advertisements
Presentaciones similares
Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
Advertisements

ELEARNING. ANÁLISIS DE PLATAFORMAS DE LIBRE DISTRIBUCIÓN
Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat Codes
Joomla. ¿Qué es Joomla? Es un sistema de gestión de contenidos (CMS) construido con PHP, usado por muchas personas y organizaciones para publicar contenido.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
CMS (Content Management Systems) Sistemas Gestores de Contenidos
AUTORES: Eloy Cantero Salvador López
Intranet Clínica Ingeniería técnica de informática de sistemas
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
Felipe Donoso Natalia Sandoval
ESCUELA POLITÉCNICA DEL EJÉRCITO CARRERA DE INGENIERÍA DE SISTEMAS
Framework Hexápodo PHP fácil, rápido y sin dolor
Índice 1. Introducción, objetivos y justificación del proyecto.
STRUTS, IBATIS Y AJAX PARA LA GESTIÓN INTEGRAL DE UN TALLER MECÁNICO
Herramientas QA Morax.
DESARROLLO DE APLICACIONES
HERRAMIENTAS CASE.
MAIRA LUCIA ORTIZ CAMILO ORTEGON DIAZ CRISTIAN CAMILO VARGAS
ACTUALIZACIÓN GRÁFICA Y FUNCIONAL DEL PROYECTO “RODOLFO”. Estudiante: David Guaita Tello Ingeniería técnica de informática de Gestión. Consultor: Manel.
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
Haga clic para modificar el estilo de título del patrón DESARROLLO DE UN NUEVO PORTAL.
SQL. PRESENTADO POR: JHENYFER PUENTES ADRIANA LOTE MARCO YEPEZ ROQUE ECHEVARRIA CARLOS ROBLES JAVIER TRUJILLO.
Aplicación Web para Informes de Asignaturas de Trabajo en Grupo
Bases de Datos Relacionales.  Responsable Cátedra: Silvina Migani  JTP: Liliana Romera  Ayudante:
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
INSTITUTO TECNOLÓGICO DEL VALLE DEL GUADIANA
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
Gestor de Datos de Banco de Pruebas para Generadores Síncronos
PRESENTACIÓN MULTIPLAN Grupo 3. Componentes del Grupo  Alexis Loyola  David Montero  David Salinas  Ekaitz Virto  Iñigo Aragón  Raquel Montero 
Computación en la Nube UASF.
Introducción a los Sistemas Operativos
Diseño de Sitios Web con CMS David Chura. Sesión 1.
DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB ¿Cómo instalar un wiki?
Ingeniería del Software
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
UNIDAD EDUCATIVA CALASANZ Manual de usos de WORDPRESS. NOMBRE: Melissa Veintimilla Labanda Curso: 1º ´´C´´ FECHA: 29 de marzo del 2015.
Proyecto Fin de Carrera - ITIS
Administracion de Base de Datos I
escuela técnica superior
Aplicaciones del office para windows Word Word ofrece ahora la posibilidad de copiar tablas con arrastrar y colocar, y se pueden personalizar los estilos.
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Sistemas de gestión de contenidos (CMS)
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Sistema de gestión de amonestaciones y sanciones en centros educativos
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Proyecto de Fin de Carrera
Programación Java y Desarrollo de Aplicaciones Modulo 3 Lenguaje de programación Java Software utilizado.
CMS DRUPAL HERRAMIENTAS DE DISEÑO CARLOS LLANOS V. JENNIFER QUINDE G. JUAN MACIAS B. KERLY UBE.
UNIVERSIDAD LATINA III. MANTENIMIENTO Y GESTIÓN DE LA INFORMACIÓN DE UNA BASE DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Manual violento de Navicat
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Tecnologías Cliente / Servidor
27 de enero Joomla 3
FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA:
INTRODUCCIÓN A INGENIERIA KARLA TATIANA OLAYA TORRES ID ( )
Base de Datos para la Gestión de Proyectos
MULTIPLAN Multiplan es la práctica en grupo que hemos tenido que realizar durante el curso según las especificaciones dadas en la asignatura.
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
Desarrollo Web en Entorno Servidor
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Tipos de Software ¿Qué es software? Se conoce como software al equipamiento lógico o soporte lógico de un sistema informático, comprende el conjunto.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Repositorios de recursos digitales educativos
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Gestión y Administración Web INTRODUCCIÓN AL CURSO Ing. Barros R. D. Ronald.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
COMUNICACIÓN Y TICS KÁROL FERNANDA BARRAGÁN M. JENNYLITH DAYANA ARDILA P. WENDY PAOLA PINTO F.
CMS de Código Abierto y Código Cerrado JOHANA PACHECO GUZMÁN DORELY SARABIA.
Transcripción de la presentación:

I NTEGRACIÓN DE APLICACIONES GESTORAS DE PROYECTOS Ingeniería Técnica en Informática de Sistemas Proyecto de fin de carrera, Junio 2010 Director: German Rigau i Claramunt Alumno: Lorea Ustarroz Leandro 1

ÍNDICE Introducción. Método de trabajo. Elección de las aplicaciones. Elección tecnológica. Captura de requisitos. Desarrollo técnico. Pruebas. Gestión del proyecto. Conclusiones. Demo. 2

INTRODUCCIÓN Origen del proyecto. Conveniencia de una herramienta de gestión de proyectos para un centro de investigación: Gestionar el contenido de proyectos. Gestionar los aspectos financieros, tareas, resultados y contribución de los participantes. Objetivo. Alternativas para lograr un sistemas formado por un gestor de proyectos y un gestor de contenidos. Gestores de proyectos: DotProject, Achievo… Gestores de contenidos de proyectos: Drupal, Joomla,… No existen aplicaciones que reúnan las funcionalidades de ambas. Creación de una aplicación integrando ambas. 3 3

MÉTODO DE TRABAJO Métodos de desarrollo de software: El Proceso Unificado de Desarrollo (PUD). Organización de trabajo: Se ha seguido el Documento de Objetivos del Proyecto (DOP). Reuniones con el director del proyecto. Seguir plan de contingencia y planificación temporal para evitar problemas. Pasos a seguir para el desarrollo del proyecto: Búsqueda de información de las aplicaciones existentes. Elección de dos aplicaciones. Alternativas de integración. 4

ELECCIÓN DE LAS APLICACIONES (1) Estudio previo de las aplicaciones existentes: Gestor de contenidos o CMS (Content Management System). Gestor de proyectos. Aplicaciones opensource, para poder estudiar: Código (implementación). Base de datos. 5

Gestores de contenidos de proyectos (CMS) Nombre Plataforma compatibleLenguaje y soporte Alfresco  Red Hat Enterprise  Sun Solaris 10  Windows Server 2003  Cualquier sistema con soporte JSP debería soportarlo (MacOS, Linux, Unix)  Desarrollado en JSP  Soporta cualquier base de datos apoyada por Hibernate, incluidas: MySQL 5 y Oracle 10  Servidor Web: Apache Tomcat Drupal  Unix/Linux  Windows  Desarrollado en PHP  Soporte para MySQL y PostgreSQL  Servidor Web: Apache 1.3 o superior. Joomla  Unix/Linux  Windows  Desarrollado en PHP  Soporte para MySQL y PostgreSQL  Servidor Web: Apache 6 o superior. DotCMS Core  Unix/Linux  Windows  Desarrollado en J2EE/Java  soporte para MySQL, PostgreSQL, MS-SQL y Oracle  Servidor Web: Apache Tomcat 6

Gestores de proyectos Requisitos previos Características generales Nombre de aplicación ServidorLenguaje Gestor de base de datos Dotproject Servidor web: Apache o superior PHP 4.1.x ó superior. MySQL ó superior.  Utilización de plantillas.  Creación de graficas de Gantt.  Repositorio de fichero.  Disponibilidad de diversos módulos.  Aplicación multiusuario.  Multi-idiomas. Achievo Servidor web: apache 2 PHP 5MySQL  Utilización de módulos.  Multi-idiomas. 7

ELECCIÓN DE LAS APLICACIONES (2) Criterios para la elección de las aplicaciones:: Lenguaje en que han sido implementadas. Tipo de bases de datos soportadas. Funcionalidades de la aplicación. Dificultad de la instalación. 8

ELECCIÓN DE LAS APLICACIONES (3) 9 AplicacionesServidorLenguajeGestor de bases de datos Instalación DotProject Servidor web: Apache o superior Desarrollado en PHP 4.1.x o superior. Soporte para MySQL o superior. Rápida instalación. Instalable en equipos antiguos y modernos. Drupal Servidor Web: Apache 1.3 Desarrollado en PHP Soporte para MySQL y PostgreSQL Rápida instalación.

ELECCIÓN TECNOLÓGICA WAMP Plataforma para Windows que incorpora PHP, MySQL y Apache. Para el correcto funcionamiento de las aplicaciones seleccionadas. Análisis de las bases de datos. NetBeans IDE 6.5 Entorno de desarrollo implementado en java pero que sirve para cualquier otro lenguaje de programación. Análisis de la implementación de las aplicaciones. 10

CAPTURA DE REQUISITOS (1) ¿Qué vamos a integrar? Muchas alternativas. Decisión: integración únicamente a nivel de usuarios. Criterios de integración: Minima intervención en la aplicaciones. Manera sencilla para el desarrollador. ¿Cómo? Manera menos invasiva. Integrando las BD  modificando las BD. 11

CAPTURA DE REQUISITOS (2) Base de datos de DotProject: Cuando un usuarios es creado en DotProject se modifican las siguientes tablas. 12 Contiene información complementaria a la contenida en la tabla users. Relaciona cada usuario al rol correspondiente. Usuarios existentes.

CAPTURA DE REQUISITOS (3) Base de datos de Drupal: en estas tablas se almacena la información principal de los usuarios. 13 Contiene cada usuario al rol que está asociado. Roles existentes. Usuarios existentes.

CAPTURA DE REQUISITOS (4) DotProject: utiliza una clase DBQuery y sus funciones para crear las consultas a la base de datos. … $q = new DBQuery; $q->addTable('users'); $q->addQuery('user_id, user_password, user_contact'); $q->addWhere("user_username = '$username'"); … Drupal: directamente hace la consulta, mediante una única función. db_query('INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)', $array['uid'], $rid); Implementación DotProject y Drupal: 14

DESARROLLO TÉCNICO (1) Alternativa 1: sincronización de las BD. Alternativa 2: sincronizar los usuarios mediante triggers. Alternativa 3: Creación de una nueva BD para los usuarios. Alternativa 4: Creación de vistas, procedimientos y triggers. Alternativa 5: variante de la Alternativa 4. 15

DESARROLLO TÉCNICO (2) Alternativa 1: Sincronización de las BD. Solo se necesita sincronizar las tablas de los usuarios, no la BD entera. Problemas: Redundancia en la información de los usuarios. Inconsistencia de datos. APLICACIÓN BASE DE DATOS DRUPAL DOTPROJECT users tabla_dot_1 tabla_dot_2 tabla_dot_n BD_DRUPAL users tabla_dru_1 tabla_dru_2 tabla_dru_p SINCRONIZACIÓNSINCRONIZACIÓN DOTPROJECT 16

DESARROLLO TÉCNICO (3) Alternativa 2: sincronizar los usuarios mediante triggers. Replica de la misma tabla en las dos aplicaciones. Alternativa 5 similar a esta alternativa. Problemas: Continuamos con redundancia de la información. Dificultad para mantenerla consistente. APLICACIÓN BASE DE DATOS DOTPROJECT DRUPAL TRIGGERSTRIGGERS DOTPROJECT users tabla_dot_1 tabla_dot_2 tabla_dot_n BD_DRUPAL users tabla_dru_1 tabla_dru_2 tabla_dru_p 17

DESARROLLO TÉCNICO (4) Alternativa 3: creación de una nueva BD para los usuarios. No se modifican las BD originales. Problemas: Dificultad en las actualizaciones  modificar todas las llamadas. 18 DotProject.users MIPROYECTO my_users DOTPROJECT users APLICACIÓNBASE DE DATOS bd_drupal.users DRUPAL DOTPROJECT BD_DRUPAL users miproyecto.my_users

DESARROLLO TÉCNICO (5) Alternativa 4: Creación de vistas, procedimientos y triggers. Se ha averiguado: Crear usuario en Drupal  utilizarlo en DotProject. NO funciona. Crear usuario en DotProject  utilizarlo en Drupal. SI funciona. 19 DRUPAL PROCEDIMIENTOS MIPROYECTO my_users TRIGGERS DOTPROJECT APLICACIÓN BASE DE DATOS BD_DRUPAL users (vista) DOTPROJECT contacts gacl_aro gacl_aro_seq gacl_groups_aro_map users (vista)

DESARROLLO TÉCNICO (6) Para ponerla en práctica: Crear nueva BD  miproyecto. Crear tabla de usuarios en miproyecto  my_users. Crear las vistas users en cada BD. Crear los triggers y procedimientos. 20 DotProject bd_ drupal

DESARROLLO TÉCNICO (7) Se ejecutan los triggers en cascada: Problema : ERROR CIRCULAR. MySQL no permite modificar una tabla que se esta consultando por el mismo trigger. insert_contacts AFTER my_users (insert in contacts ); insert_gacl_aro AFTER contacts (insert in gacl_aro ); insert_gacl_groups AFTER gacl_aro (insert in gacl_group_aro_map ); update_user_contact AFTER gacl_groups_aro_map (update in my_users );

DESARROLLO TÉCNICO (7) Alternativa 5: variante de la Alternativa 4. DOTPROJECT DRUPAL APLICACION BASE DE DATOS MIPROYECTO my_users PROCEDIMIENTOS my_contacts my_gacl_aro my_gacl_aro_seq my_gacl_groups_a ro_map my_aplic TRIGGERS DOTPROJECT users (vista) contacts (vista) gacl_aro (vista) gacl_groups_aro_ map (vista) gacl_aro_seq (vista) BD_DRUPAL users (vista) 22

DESARROLLO TÉCNICO (8) Suma de las anteriores alternativas. Crear una replica de las tablas de DotProject, en la BD miproyecto. Crear las vistas en DotProject, de las tablas de miproyecto. Crear 2 triggers: Crear usuarios: trigger insert_user_drupal. Eliminar usuarios: trigger drop_user_drupal. 23

PRUEBAS Pruebas unitarias: Funcionamiento de los procedimientos y triggers generados en este proyecto Pruebas de integración: Probar todos los elementos unitarios (triggers y procedimientos) que componen un proceso. Pruebas de validación: ¿se ha cumplido el objetivo? Pruebas de carga: Probar múltiplas operaciones concurrentemente y correcto funcionamiento de las transacciones. 24

GESTIÓN DEL PROYECTO (1) Planificado: 216 h. Real: 225,9 h. Desajuste de horas total: 4,58% 25

GESTIÓN DEL PROYECTO (2) Gráfica de procesos tácticos, operativos y formativos. 26

CONCLUSIONES Gestión del proyecto: Se han cumplido los objetivos de forma satisfactoria y a tiempo. Desarrollo de la aplicación: Gran importancia del análisis y el diseño para facilitar la implementación. Objetivos logrados: únicamente modificando la BD y utilizando las capacidades triggers, procedimientos… Valoraciones personales: Demostrar lo aprendido en diversas asignaturas. Experiencia enriquecedora y satisfactoria. Conocer aplicaciones existentes. Se han aprendido y utilizado nuevas tecnologías. 27

I NTEGRACIÓN DE APLICACIONES GESTORAS DE PROYECTOS Ingeniería Técnica en Informática de Sistemas Proyecto de fin de carrera, Junio 2010 Director: German Rigau i Claramunt Alumno: Lorea Ustarroz Leandro 1 28