Documento de Arquitectura de Software Anexo 9 2014 - I Pontificia Universidad Javeriana - Bogotá Alex Arias
1. Introducción El presente documento describe la arquitectura utilizada para la implementación de la aplicación alertas tempranas, donde se detallan los subsistemas, paquetes, componentes, capas y el tipo de arquitectura usada. 2. Arquitectura trabajada Fue necesario organizar el código de forma que fuera fácil su desarrollo y para esto se utilizó el patrón de diseño MVC, donde se separa de las siguientes capas: 1. Capa Modelo: esta capa define la lógica del negocio y es donde se encuentra la base de conocimiento extraída de los modelos de minería de datos útiles. 2. Capa Vista: Esta capa contiene la interfaz de usuario o comúnmente llamada GUI, la cual hace que los usuarios puedan interactuar con el sistema. 3. Capa controlador: Aquí se encuentra las clases que contienen la ejecución del modelo de minería de datos con el fin de obtener los patrones requeridos por el usuario por medio de la capa vista. Esta capa actúa como un intermediador entre la GUI y la base de conocimiento. En la siguiente ilustración se puede observar el comportamiento a nivel global de la arquitectura utilizada: Ilustración 1 Vista global MVC
Se puede observar en la anterior ilustración que los componentes se comunican mediante un protocolo de petición respuesta. Para el caso particular del proyecto, se asignaron los paquetes que componen la aplicación a cada uno de los componentes de la arquitectura de la siguiente forma: Vista: GUI Controlador: Lógica Modelo: Conexión 3. Diagrama de Componentes La aplicación de alertas tempranas contiene información acerca de los modelos CAO3 y CAPM10, dadas unos valores como entrada con el fin de que los stakeholders puedan realizar consultas y análisis del estado de la calidad del aire en tiempo real. La arquitectura de la aplicación se presenta de forma global en la siguiente imagen:
Ilustración 2 Arquitectura global de la aplicación de alertas tempranas Fuente: Autor por medio de la herramienta Enterprise Architect 7.5 GUI: Este componente contiene toda la lógica de presentación de la aplicación, donde el usuario puede interactuar ingresando los datos de entrada y visualizando la información que generan los modelos de minería de datos. Lógica del negocio: En este componente se encuentran todas las clases que hacen posible cumplir las funcionalidades de pronóstico y visualización de los resultados de los modelos por filtros de los contaminantes. Este componente consume los servicios
del componente consulta y a su vez localmente expone sus servicios al componente de presentación GUI. Consulta: este componente contiene información en lenguaje SQL con el fin de consumir los servicios de la base de conocimiento que se encuentra en el gestor de bases de datos SQL server. Una vez obtenida la información solicitada por el componente de negocio se exponen dichos servicios al mismo con el fin de responder la solicitud del usuario. Este componente es el encargado de consultar los resultados de los modelos CAO3 y CAPM10. SQL Server: En este componente se encuentran las bases de conocimiento y son consultadas y accedidas por medio del gestor de bases de datos SQL Server quien se conecta con facilidad a su vez con los servicios de Analysis. Analysis Services: Este componente contiene los modelos de minería de datos seleccionados (CAO3 y CAPM10), pueden ser consultados mediante consultas DMX por medio del componente SQL Server. La aplicación puede habilitar la funcionalidad de cargar registros históricos con los datos climatológicos y con el formato de cada dato y consultar los modelos, de modo que la salida sean las predicciones junto con las métricas probabilísticas de cada contaminante. Sin embargo esto solo se puede habilitar cuando la RMCAB otorgue permisos para acceder a la información tomada.