1.2-Estructura General del proyecto

Anuncio
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
Descargar