Sistema de Información Geográfica siginfocentros Arquitectura del Sistema Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros Índice de contenido Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros Sobre este Documento El presente documento contiene el diseño elaborado para el proyecto Sistema de Información Geográfica Infocentros, el cual es producto de un análisis minucioso de los requisitos del sistema, según estos pueden ser satisfechos con las tecnologías y características discutidas con los clientes y usuarios. El documento esta organizado alrededor de tres ideas principales: 1. Las características generales del diseño 2. Los requisitos atendidos por el diseño 3. Los modelos y vistas que lo detallan Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 1. Arquitectura del Sistema El Sistema de Información Geográfica Infocentros ha sido concebido como un componente web bajo la especificación PHP5, con una arquitectura N-capas, usando el framework Symfony. La versión actual del sistema esta compuesta bajo patrón de diseño Modelo-Vista-Controlador: Vistas: La vista es principalmente una combinación de plantillas PHP que son guardadas en varios directorios templates y formularios de usuario que se almacenan en la carpeta lib/forms. Adicionalmente se usa la librería de JQuery para completar la funcionalidades del lado del cliente. Se utilizó el patrón de diseño decorador para lograr una plantilla decorada después de que el contenido es mostrado por una plantilla global, llamada layout en Symfony . Controladores: Los Controladores de Symfony son aquellos que reciben y procesan todas las solicitudes del usuario bajo el patrón MVC. Todas las Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros solicitudes son gestionadas por un controlador frontal ubicado en web/index.php. Modelos: En esta capa se define la lógica de negocio (la base de datos pertenece a esta capa). Symfony guarda todas las clases y archivos relacionados con el modelo en el directorio lib/model. Para la implementación de acceso a los datos se utiliza el ORM Propel. 2. Vista Lógica En esta vista se detallan las partes del modelo de diseño que son significativas arquitectónicamente representando los diagramas que permiten tener una visión de los elementos que conforman el sistema y de la interacción entre ellos. 2.1 Diagrama de Paquetes 2.2 Paquetes de Diseño significativos Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros En esta sección se muestra para cada uno de los paquetes representados anteriormente una breve descripción y el nombre de las clases que contiene. P01- nodeide Descripción Este paquete contiene la aplicación publica la cual utiliza open layer para mostrar los datos geográficos Clases Disponibles: N/A P02- registro Descripción Este paquete contiene la aplicación de registro de infocentros Clases Disponibles: Archivos EventoComunitario Infocentro P03- wms Descripción Este paquete contiene los servicios wms publicos disponibles. Clases Disponibles: N/A P04- intranet Descripción Este paquete contiene la aplicación principal para acceder a todos los componentes del sistema Clases Disponibles: N/A Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros P05- pmapper Descripción Este paquete contiene el servidor de mapas mapserver. Clases Disponibles: N/A 2.3 Diagrama de clases Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 2.4 Casos de usos Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 3. Vista de Implementación La vista de implementación muestra el empaquetado físico de las partes reutilizables del sistema en unidades sustituibles, llamadas componentes. Una vista de implementación muestra los elementos físicos del sistema mediante componentes, así como sus interfaces y dependencias entre componentes. Los componentes son piezas reutilizables de alto nivel a partir de las cuales se pueden construir los sistemas. 3.1 Diagrama de Componentes del Sistema Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 4. Vista de Despliegue La vista de despliegue muestra la disposición física de los recursos de ejecución computacionales, tales como computadores y sus interconexiones. La vista de despliegue puede mostrar cuellos de botella para el rendimiento si las instancias de los componentes con dependencia se ponen en distintos nodos. 4.1 Diagrama de Despliegue del Sistema Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 5. Modelo de Datos El Modelo de datos es aquel que describe de forma abstracta cómo se representan los datos de un sistema. Un modelo de datos consiste en: entidades, atributos y sus relaciones. 5.1 Modelo Entidad-Relación de las Bases de Datos Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported. Sistema de Información Geográfica siginfocentros 6. Detalles de Implementación El código fuente del sistema esta disponible en la forja, los manuales de instalación e implementación están disponibles en el siguiente enlace. http://forja.softwarelibre.gob.ve/projects/siginfocentro/ 7. Plataformas y Lenguajes PHP5: PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Symfony: Es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web mediante algunas de sus principales características. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Postgresql: PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. PostGIS: PostGIS es un módulo que añade soporte de objetos geográficos a la base de datos objeto-relacional PostgreSQL, convirtiéndola en una base de datos espacial para su utilización en Sistema de Información Geográfica. Se publica bajo la Licencia pública general de GNU. Mapserver: MapServer es un entorno de desarrollo en código abierto (Open Source Initiative) para la creación de aplicaciones SIG en Internet/Intranet con el fin de visualizar, consultar y analizar información geográfica a través de la red mediante la tecnología Internet Map Server (IMS). MapServer no es un SIG completo, pero tampoco aspira a serlo. OpenLayer: OpenLayers hace fácil poner un mapa dinámico en cualquier página web. Puede mostrar fragmentos del mapa y marcadores cargados de cualquier fuente. OpenLayers se ha desarrollado para promover el uso de la información geográfica de todo tipo. OpenLayers es completamente libre, de código abierto de JavaScript, publicado bajo la licencia BSD (también conocido como el FreeBSD). Fundación para la investigación y desarrollo de software libre en Venezuela Este documento se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-Compartir Igual 3.0 Unported.