1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial mayo 2015 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial Índice de contenido I. Introducción.............................................................................................................................................................5 II. Objetivos..................................................................................................................................................................5 III. Análisis....................................................................................................................................................................5 III.1 La interacción con el usuario.......................................................................................................................5 III.2 La gestión de datos......................................................................................................................................6 III.3 La construcción de mapas..........................................................................................................................7 III.3.1 Complementos del lado del servidor................................................................................................7 III.3.2 Complementos del lado del cliente..................................................................................................7 III.4 Conclusión.......................................................................................................................................................8 III.4.1 Sistema operativo:.................................................................................................................................8 III.4.2 Servidor web..........................................................................................................................................8 III.4.3 Base de Datos........................................................................................................................................8 III.4.4 Plataformas GIS......................................................................................................................................8 III.4.5 librerias javascript..................................................................................................................................8 3 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial I. Introducción Las tecnologías informáticas que brindan acceso y permiten la gestión de información territorial hoy en día son múltiples y de características diversas. En este breve documento se propone relevar aquellas de mayor relevancia y afinidad a las necesidades del proyecto de desarrollo en que se inserta. En este mismo documento se evaluará la capacidad de un conjunto de tecnologías que cumpla con los objetivos del proyecto de desarrollo. II. Objetivos Se tiene por objetivo general construir un servidor con capacidad de brindar actividades didácticas relacionadas con la territorialidad. Se tiene como objetivos específicos los siguientes: Contar con tecnologías libres. Contar con tecnologías de licencia de uso gratuita. Contar con tecnologías facilmente apropiables por usuarios y desarrolladores. Contar con tecnologías escalables. Contar con tecnologías para visualizar claramente el territorio y atributos asociados al mismo. Contar con tecnologías para almacenar información territorial. Contar con tecnologías para buscar y gestionar información territorial. Contar con tecnologías para visualizar y archivar información multimedia. Contar con tecnologías para la construcción colectiva de información e tiempo real. III. Análisis Con los objetivos definidos se procedió a analizar posibles tecnologías disponibles y combinaciones de tecnologías para su concreción. El trabajo realizado no barrió extensivamente todas las posibilidades, sino que se centro en analizar la viabilidad que aquellas alternativas que presentaran mayor potencial. III.1 La interacción con el usuario Teniendo en cuenta que la inmediatez al usuario resulta un factor relevante para la apropiación del sistema, se considera que el acceso debe estar garantizado para múltiples sistemas operativos, con mínimos requisitos de instalación, y con la mayor capacidad de actualización. También se considera que la actualización del sistema debe realizarse principalmente por actores ajenos al proyecto, con capacidad para dicha tarea. Por tanto se recomienda utilizar 5 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial plataformas de desarrollo autónomas. Dada la necesidad de trabajar en tiempo real, resulta aceptable trabajar con sistemas remotos, es decir programas que operen del lado del servidor, obligando al usuario la utilización de una conexión a internet. La interacción con el usuario deberá permitir (como es objetivo), eventualmente, la incorporación de imágenes, sonidos, videos, links, descargas. Dadas estas premisas se propone utilizar una plataforma web para este desarrollo. Esta plataforma garantizará un lenguaje común (html) para el acceso desde cualquier sistema operativo; a la vez universalmente reconocible por futuros desarrollladores. Como resultado, el lado del usuario accederá exclusivamente al lenguaje html. Mediante este lenguaje el sistema operará mediante la representación de datos en pantalla, la generación de formularios y la interacción con vínculos para visualización y descarga. Sobre el tipo de servidor web a utilizar, se recomienda un Servidor HTTP Apache, desarrollado desde 1995, con conocida trayectoria y uso. Apache es software libre. Sobre el lenguaje de programación a utilizar, del lado de servidor, se recomienda PHP, pues resulta ampliamente difundido, tiene probada compatibilidad con librerías para el procesamiento de información territorial , y es software libre. Este lenguaje resutla de los más documentados a nivel mundial, entre las alternativas analizadas. III.2 La gestión de datos Sobre la gestión de datos, se desprende del objetivo de escalabilidad, contar con una base de datos que permita gestionar la información generada. Complementariamente se podrá utilizar espacio de almacenamiento en el mismo servidor o en terceros servidores para guardar documentos (imágenes, documentos de texto, audio, video, etc.). Un sistema de base de datos permitirá gestionar la información generada de forma eficiente. En este sentido se presentan dos alternativas viables: la uitilización del sistema de base de datos Mysql y la utilización del sistema PostgreSQL + Postgis. La primer opción, presenta la ventaja de ser el sistema de base de datos más extendido y probando en interoperación con el lenguaje PHP, dentro de servidores LAMP. De esta forma una base de este tipo facilitará la apropiación del sistema por parte de futuros desarrolladores, y simplificará las instancias de instalación. Como desventaja, el sistema Mysql no es software libre, aunque su descarga y uso es libre y gratuita. Asimismo este sistema fue adquirido recientemente por una empresa de software propietario y se desconoce el curso que tendrá en los futuros años. Finalmente esta base de datos no está orientada específicamente a la gestión de información territorial. Por otro lado, el sistema PostgreSQL con el modulo Postgis, si está orientado a los datos territoriales, y si es software libre, sin embargo su uso se encuentra menos extendido, su 6 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial velocidad es menor a la de Mysql. Asimismo en las distribuciones de apache, PHP no se vincula con PostgreSQL en su instalación básica, necesitando la instalación de módulos adicionales. Ante ambas alternativas se destaca que la información territorial a gestionar en las versiones iniciales, será de tipo punto (no lineal ni superficial) y por tanto resulta eficientemente gestionable por una base de datos alfanumérica, como Mysql. De este modo se recomienda instalar ambas bases de datos, y utilizar la base Postgis solo para gestionar la información puntual, lineal y superficial (en las versiones que implementen las últimas dos). III.3 La construcción de mapas En tanto será una función recurrente la visualización de mapas se incorporarán librerías del lado del servidor capaces de generar mapas gráficos a partir de información territorial. Se recomienda la utilización de la plataforma MapServer, por contar con documentación extendida, encontrarse dentro de la lista de difusión de la OSGeo Foundation, y ser utilizado por proyectos SIG libres, de habla hispana. Mapserver es software libre. III.3.1 Complementos del lado del servidor Se recomienda instalar la plataforma i3geo por operar con la tecnología ya propuesta y facilitar la generación de mapas. Probablemente esta plataforma sirva en las instancias iniciales de desarrollo para la gestión de mapas. Una vez definido el funcionamiento del sistema es probable que esta plataforma no sea necesaria. Así y todo se puede mantener sus instalación para la consulta avanzada de información por parte de administradores. I3geo es software libre. Se recomienda instalar el servidor de mapas teselados Mapproxy, a frin de optimizar la generación de mapas. III.3.2 Complementos del lado del cliente Aunque se propone el uso primario de operaciones del lado de servidor, se recomienda incorporar librerías para la gestión de mapas del lado del cliente, al menos para las instancias tempranas de desarrollo. Se propone incorporar Openlayers como librería javascript para la representación de mapas interactivos y dinámicos. Openlayers es software libre. 7 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial IV. Configuración del servidor resultante El servidor a utilizar para el desarrollo e implementación del sistema deberá constar con los siguiente componentes: IV.1.1 Sistema operativo: ● Linux: Se recomienda Ubuntu por su compatiiblidad con librerías MapServer. Se recomienda analizar UbuntuSIG a fin de simplificar la instalación general, según el sistema prexistente. Ver: https://wiki.ubuntu.com/UbuntuGIS IV.1.2 Servidor web ● Apache ver https://www.apache.org/ ● PHP Se recomienda 5.6 o superior ver http://www.php.net/ • Imagik ver http://php.net/manual/en/imagick.installation.php • php5-pgsql: extención de conexión a postgreSQL ver http://php.net/manual/es/pgsql.installation.php IV.1.3 Base de Datos ● Mysql ver https://www.mysql.com/ ● PostgreSQL ver: http://www.postgresql.org/ • PostGIS ver: http://postgis.net/ IV.1.4 Plataformas GIS ● Mapserver ver http://mapserver.org/es/ ● i3geo ver: http://www.gvsig.com/es/web/guest/productos/i3geo ● Mapproxy: ver: http://mapproxy.org/ IV.1.5 librerias javascript ● Openlayers 8 1.2 Construcción de la estructura general del proyecto. Diagnóstico técnico de tecnologías disponibles Entorno Plataforma de producción y conocimiento colectivo de información territorial ver: http://openlayers.org/ ● Leaflet ver: http://leafletjs.com/ V. Estructura de funcionamiento inicial Se propone instalar un servidor con la totalidad de los servicios y características enumerados. Se propone iniciar las siguientes actividades a fin de poner en funcionamiento las primeras funcionalidades. V.1 Sistema de usuarios Desarrollar una aplicación PHP para la gestión de usuarios, generación de actividades. El desarrollo utilizará una base de datos Mysql para almacenar información de usuarios y atributos territoriales y de actividades. V.2 Sistema de actividades Desarrollar una aplicación PHP preliminar para la gestión de actividades. Esta aplicación se nutrirá de los trabajos de los especialistas académicos. V.3 Sistema de visualización de mapas Desarrollar una aplicación PHP preliminar para ver mapas generados del lado del servidor. 9