Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA...

27
Sistema de Administración Vehicular Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara Víctor Joel Morales Ruvalcaba José Francisco Ruvalcaba Castañeda

Transcript of Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA...

Page 1: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Sistema de Administración Vehicular

Materia: Programación AvanzadaMaestría en Tecnologías de InformaciónPosgrados CUCEAUniversidad de Guadalajara

RAM Producciones

Alumnos:Emmanuel Alcántara

Víctor Joel Morales RuvalcabaJosé Francisco Ruvalcaba Castañeda

Page 2: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

AgendaJustificaciónDescripciónMarco TeóricoDesarrollo del proyectoArquitecturaProblemáticaDemo

Page 3: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

JustificaciónEl empleo de sistemas de información en la vida cotidiana es cada vez más significativo para el desarrollo profesional e integral de las personas así como de instituciones educativas, gubernamentales y de la industria en general. El impacto de estos sistemas en la sociedad ha afectado diametralmente el pensamiento de las personas a tal grado de ofrecer procesamiento ágil, rápido y seguro de información haciendo que los procedimientos se aceleren y por ende, esto reduzca los costos ocasionando un efecto positivo en los eventos de la sociedad misma.

Sin embargo, uno de los grandes retos hoy en día para la tecnología es la amigabilidad con la que ésta se debe presentar ante la sociedad. En la actualidad, en México, existe un alto porcentaje de gente que rechaza el uso de medios digitales y electrónicos. Una ilustración es que la gente prefiere el dinero en mano, que una tarjeta de plástico y que implique el uso de más tecnología. Es por eso, que el profesionista de la informática debe buscar esquemas y mecanismos más amigables e intuitivos para el usuario no importando su estrato social o condición económica; en resumen, debe encontrar las formas y canales adecuados para que la tecnología se adapte al ser humano, y no que el hombre se adapte a la tecnología, que es sin duda esta última, la razón más importante del rechazo generalizado al uso de tecnología.

Este proyecto pretende ayudar con estas brechas para hacerlas de la confianza de los usuarios.

Page 4: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Descripción del proyectoSistema de Control de EstacionamientosLas metas principales son:• Ahorro de tiempo y papel con el uso de tarjetas

inteligentes la cual se registra ligada a la placa del vehículo.

• Mejor integración, identificación y captura de los datos del infractor permitiendo una resolución ágil del problema

Page 5: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Descripción del proyectoFuncionamientoSe consideran los siguientes actores:• Conductor, es la persona que ingresa a un estacionamiento automatizado, apoyado

por el sistema, a través de su licencia digital de conductor (tarjeta inteligente)• Guardia de seguridad, es la persona que efectúa los rondines en el estacionamiento a

efectos de detectar y reportar una infracción. Éste cuenta con sistema móvil que le permite capturar los datos del vehículo infractor. Él mismo opera en red lo cual le permite ingresar los datos en un

sistema central en tiempo real.• Administrador, es la persona que se encarga de alimentar el sistema central. Aquí se

dan de alta usuarios (guardias de seguridad), se mantienen las bases de datos, se generan reportes y se resuelven los casos de inconformidad por parte de los conductores.

El sistema se basa en el modelo clásico cliente/servidor en diferentes escenarios dentro del mismo.

Page 6: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Descripción del proyectoEl sistema en su globalidad se puede dividir en cuatro subsistemas:

1. El subsistema de control central (CC) que cuenta con la base de datos de las entradas y salidas de los conductores, infracciones, guardias de seguridad, usuarios, etc. Además, ofrece la generación de reportes estadísticos que permiten visualizar el fenómeno de infracción. Esta aplicación es operada por el administrador.

2. El subsistema móvil de captura de infracción (CI) que cuenta con un formulario para el ingreso de los datos del vehículo infractor y enlace en red con el CC para su almacenamiento persistente.

3. El subsistema de cobro automatizado (CA) que cuenta con lectura de tarjeta inteligente ya que es donde se encuentran los datos del conductor y del vehículo. El CA se enlaza con el CC para extraer los montos de cobro. Aquí también se presentan los cargos por infracción y se hace el respectivo desglose.

4. El subsistema de control de entrada (CE) y de control de salida (CS) son las casetas que controlan las plumas de entrada y de salida respectivamente. El CE cuenta con lector de tarjeta inteligente y enlace de red con el CC para enviar la información obtenida de la licencia de conductor. Así mismo, se captura la hora de entrada para efectos de determinar el tiempo usado del estacionamiento. El CS es similar a CE en sus características físicas (lector de tarjeta inteligente y red), pero solo permite o bloquea la salida del vehículo de acuerdo a la resolución efectuada por el CC.

Page 7: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - JavaEs un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems. Las principales características son:Es seguro, fácil de usar, independiente de la plataforma y confiable.

Page 8: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - RMIRMI (Remote Method Invocation/ Invocación Remota de Métodos) es para programación distribuida en java. Forma parte del entorno estándar de ejecución de Java y provee de un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.

Page 9: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - MySQLMySQL® proporciona un servidor de base de datos SQL (Structured Query Language) muy rápido, multi-threaded, multi usuario y robusto. El servidor MySQL está diseñado para entornos de producción críticos, con alta carga de trabajo así como para integrarse en software para ser distribuido.

Page 10: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - EclipseEclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar entornos de desarrollo integrados (del inglés IDE), Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.

Page 11: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - HibernateHerramienta de Mapeo objeto-relacional para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación. Busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación.

Page 12: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - SpringUn framework contenedor liviano basado en la técnica Inversión de Control (IoC) y una implementación de desarrollo según el paradigma de Orientación a Aspectos (AOP) , además permite la interacción otros frameworks.

Page 13: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - Log4jBiblioteca desarrollada por la Apache Software Foundation que permite elegir la salida y el nivel de granularidad de los mensajes o “logs” (logging). La configuración de salida y granularidad de los mensajes es realizada a tiempo de ejecución mediante el uso de archivos de configuración externos.

Page 14: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Marco Teórico - JUnitEs un conjunto de clases que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. Es también un medio de controlar las pruebas de regresión.

Page 15: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Desarrollo del proyectoTrabajo en equipo

Se decidió realizar la mayor parte del trabajo de forma remota, realizando reuniones semanales para revisar el avance del proyecto y coordinar los esfuerzos.

Control de versiones con Subversion.Subversion es un sistema de control de versiones. Subversion maneja archivos y directorios, y los cambios que se les hacen, en el tiempo. Esto permite recuperar versiones antiguas de los datos o examinar la historia de cómo van cambiado. Subversion puede operar a través de redes, lo que le permite ser utilizado por personas en diferentes equipos. A cierto nivel, la capacidad para que varias personas puedan modificar y administrar el mismo conjunto de datos desde sus respectivas localizaciones fomenta la colaboración. Se puede progresar mas rápidamente sin un único conducto a través del cual todas las modificaciones tienen que hacerse. Y porque el trabajo está en versiones, no hay motivos para pensar que se pierde en calidad, si es un cambio realizado es incorrecto, simplemente se deshace el cambio.

Page 16: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Arquitectura - Estructura de la base de datos

Page 17: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Arquitectura - Estructura de datos

Page 18: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Arquitectura - Soporte multilenguajeEl diseño de la aplicación permite el manejo de la misma en distintos lenguajes (Español, Ingles, Francés, etc.)

Page 19: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Arquitectura - AccionesPara la ejecución de cada acción (Agregar, Eliminar, Actualizar, Obtener, etc.) sobre cada uno de los catálogos ( usuarios, tarjetas, adeudos, etc.) en el servidor se utilizo el patrón de diseño Command.

Page 20: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Requerimientos mínimos - ServerMicroprocesador Intel Core 2 Duo e7500 2.93ghzRAM 1 GbHDD 80 GbMonitor SVGATarjeta de Red (Ethernet o Wireless)JRE

Page 21: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Requerimientos mínimos - ClienteMicroprocesador Intel Celeron 1.4GhzRAM 512 MbHDD 16 GbMonitor VGATarjeta de Red (Ethernet o Wireless)JRE

Page 22: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Proceso - Adición de usuariosSecuencia de llamadas para la creación de un usuario en el sistema

Page 23: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Problemática - Consumo de ancho de banda

Debido al excesivo consumo de ancho de banda utilizado por la tecnología RMI por el envió y recepción de objetos, fue necesario implementar un proceso compresión en el intercambio de datos

Page 24: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Problemática – Creación de stubsYa que el proceso de creación de stubs involucra llamadas al rmiregistry lo cual supone un coste alto, fue necesario la implementación de una clase para el cacheo de objetos.

Page 25: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Demo

Page 26: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

Dudas y preguntas

Page 27: Materia: Programación Avanzada Maestría en Tecnologías de Información Posgrados CUCEA Universidad de Guadalajara RAM Producciones Alumnos: Emmanuel Alcántara.

¡Gracias!

RAM Producciones © 2010