• No se han encontrado resultados

Software seleccionados para la construcción del geoportal

CAPÍTULO II ARQUITECTURA PARA EL DESARROLLO DE UN GEOPORTAL 2.0,

2.3 Componentes necesarios para la construcción del geoportal

2.3.1 Software seleccionados para la construcción del geoportal

Existen varios paquetes de software disponibles que pueden ser usados para dar soporte y generar los servicios OGC necesarios para la construcción de un geoportal. Los software geoespaciales que se describen a continuación son los más representativos del mundo libre, y los seleccionados para el desarrollo de la solución Geoliferay, entre ellos Geoserver31 como servicio de mapas y objetos geográficos, Geonetwork32 para la gestión de metadatos y PostgreSQL/Postgis33 como soporte al almacenamiento de datos espaciales. Estos proyectos forman parte de la comunidad de OsGeo34, y la selección de los mismos estuvo dada, en adición a su notoriedad

30

Catalogue Service Web (OGC, 2006)

31 http://geoserver.org/display/GEOS/Welcome 32 http://geonetwork-opensource.org/ 33 http://www.postgis.org/ 34

[37]

señalada en eventos científicos35 y por varios autores (Moreno, 2012), (Steiniger & Hunter, 2010), (Christl, 2009), (Stefanakis & Prastacos, 2008), por la experiencia acumulada en el uso y desarrollo del equipo de trabajo de la Agencia GeoMIX donde se desarrolla la solución.

Geoliferay como plataforma de servicio, pretende la construcción de un Geoportal 2.0 o colaborativo, de ahí la inclusión de Tocororo (Lorenzo & Capote Fernández, Tocororo, Servicio De Datos Temáticos Georreferenciados En La Nube., 2013), herramienta desarrollada en GeoMIX, en el centro de la solución encargándose de la interacción y la gestión de la información proporcionada por los usuarios, permitiendo la publicación e intercambio de la información mediante servicios interoperables y estandarizados. Fuera del marco geoespacial, pero garantizando la autenticación común entre las distintas plataformas, se encuentra CAS36, permitiendo a los usuarios acceder a múltiples aplicaciones presentando sus credenciales una sola vez.

PostGIS

PostGIS es una extensión espacial al sistema de base de datos objeto-relacional PostgreSQL. Permite el uso de tipo de datos espaciales y alrededor de trescientas funciones para el trabajo con este tipo de datos. PostGIS incluye soporte para índices GiST basados en R-Tree, y funciones básicas para el análisis de objetos geográficos. Está creado por Refractions Research Inc, como un proyecto de investigación de tecnologías de bases de datos espaciales y se publica bajo licencia GNU37. Con PostGIS se pueden usar todos los objetos que aparecen en la especificación OpenGIS “Simple Features for SQL” (OGC, 1999) como puntos, líneas, polígonos, multilíneas, multipuntos, y colecciones geométricas (OBE, 2011).

Geoserver

35

FOSS4G Free and Open Source Software for Geospatial Applications, evento global auspiciado por OsGeo desde el 2006. http://foss4g.org/

36

Welcome-CAS http://www.jasig.org/cas 37

GNU General Public License, Licencia de documentación libre de GNU diseñada por la Fundación para el Software Libre (FSF) http://www.gnu.org/licenses/gpl-2.0.html

[38]

Geoserver es un servidor de código abierto escrito en Java, que permite a los usuarios compartir y editar información geoespacial. Diseñado para la interoperabilidad, publica datos de las principales fuentes de datos espaciales usando estándares abiertos. Geoserver sirve de implementación de referencia del estándar WFS de OGC, y también implementa las especificaciones de WMS y WCS.

Geoserver pretende operar como un nodo a través de una Infraestructura de Datos Espaciales libre y abierta para ofrecer datos geoespaciales. Entre las principales características se pueden citar algunas como:

 Enteramente compatible con las especificaciones WMS, WCS y WFS, evaluados

por el test de conformidad CITE38 de la OGC.

 Fácil utilización a través de la herramienta de administración vía web, no es necesario entrar en archivos de configuración grandes y complicados.

 Soporte amplio de formatos de entrada PostGIS, Shapefile, ArcSDE y Oracle. VFP, MySQL, MapInfo y WFS en cascada también están entre los formatos de entrada soportados.

 Soporte de formatos de salida tales como JPEG, GIF, PNG, SVG y GML.

 Soporte completo de SLD.

 Proyectado para ser compatible con extensiones.

 Facilidad de escritura de nuevos formatos de datos con la interfaz de almacenamiento de datos GeoTools39 y clases de ayuda.

 A través del protocolo WMS se sirven imágenes de forma segura y rápida.

 Permite enviar datos puramente vectoriales a clientes que implementen el protocolo WFS.

 Se pueden enviar datos raster a un cliente utilizando protocolo WCS.

38

Compliance and Interoperability Testing and Evaluation Program, http://cite.opengeospatial.org/ 39

[39]  Reproyección „al vuelo‟.

Usa Restlet40 como framework para los servicios REST que proporciona. GeoWebCache, un componente de cacheado basado en Java similar a TileCache41, se incluye con Geoserver, aunque también está disponible por separado.

Geonetwork

Geonetwork es un entorno de gestión de información espacial estandarizado y descentralizado, diseñado para permitir acceso a bases de datos georreferenciadas, productos cartográficos y metadatos de varias fuentes, mejorando el intercambio y la cooperación entre organizaciones y su audiencia, usando las capacidades de internet (GeoNetwork opensource Developers, 2012).

Geonetwork implementa el Servicio Web de Catálogo (CSW) y es un Proyecto de Software Libre que integra en una aplicación web un conjunto de servicios:

 Portal de metadatos y visor de mapas.

 Catálogo de metadatos: datos y servicios con capacidad para editar y mantener distintos tipos de estándares o perfiles de metadatos.

 Editor de metadatos que soporta los principales estándares de metadatos.  Un servidor de catálogo que permite publicar los metadatos.

 Un motor de búsqueda que permite realizar búsquedas de información geoespacial tanto en el servidor de catálogo local como en servidores de catálogo externos.

 Un módulo de administración para gestionar los usuarios y permisos del servidor de catálogo.

 Implementa servicio CSW, Z39.5042 y OAI-PMH43.

40

http://restlet.com/ 41

[40]

 Clientes de servicio CSW, Z39.50 y OAI-PMH.

 Enteramente desarrollado en Java junto a XML y XSL44.

Geonetwork puede gestionar los metadatos, los usuarios y la lógica de la aplicación en distintos gestores de bases de datos: MySQL, PostgreSQL y Oracle. Almacena los metadatos (archivos XML) como un atributo en una tabla de la base de datos, y otro tipo de información como la fuente, el propietario, los índices, etc. Indexa y realiza las búsquedas en los metadatos utilizando Lucene45 (GeoNetwork opensource Developers, 2012).

Deegree

Deegree46 es un software de código abierto para las Infraestructuras de Datos Espaciales y la web geoespacial. Deegree incluye componentes para la gestión de datos geoespaciales, incluyendo el acceso a datos, la visualización, el descubrimiento y la seguridad. El software se basa en los estándares del Open Geospatial Consortium (OGC) y el Comité Técnico ISO 211.

Es la implementación de referencia del WMS de OGC, totalmente compatible con WFS, así como paquetes de Servicio de Catálogo (CSW), Web Coverage Service (WCS), Web Processing Service (WPS) y Web Map Tile Service (WMTS). Desde el año 2000 Deegree ha sido desarrollado con la firme intención de que sea un proyecto impulsado por la comunidad. Un paso importante en este sentido fue la aceptación de ser un

42

Z39.50 es un protocolo cliente-servidor dirigido a facilitar la búsqueda y recuperación de información en distintos sistemas a través de una misma interfaz. Permite la consulta de recursos distribuidos en distintas bases de datos, desde un mismo punto de acceso.

http://www.niso.org/standards/resources/Z39.50_Resources

43

Open Archives Initiative-Protocol Metadata Harvesting, es un mecanismo de interoperabilidad entre repositorios. http://www.openarchives.org/pmh/

44

Extensible Stylesheet Language, es una familia de lenguajes basados en el estándar XML que permite describir cómo la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación en un medio.

45

Apache Lucene http://lucene.apache.org/

46

[41]

proyecto de OSGeo en 2010. Hoy en día, Deegree se mantiene por varias organizaciones e individuos con una gran base de usuarios en todo el mundo.

OpenLayers

OpenLayers47 es una librería JavaScript pura para la visualización de datos de mapa en la mayoría de los navegadores web modernos, sin dependencias de servidor. OpenLayers implementa una API de JavaScript para la construcción de aplicaciones geográficas basadas en la Web, similar a las API de Google Maps, con una diferencia importante, OpenLayers es software libre, desarrollado por y para la comunidad de software de código abierto. OpenLayers permite incorporar mapas dinámicos en las páginas web. Los mapas se pueden dotar de diversos controles con capacidades de ampliación, navegación, medida de distancias y muchas otras herramientas que permiten acceder a todo tipo de información geográfica proveniente de muy variadas fuentes, por ejemplo Web Map Services, Web Feature Services, Mapas comerciales, información genérica vectorial. Es un proyecto de OsGeo, totalmente libre bajo licencia BSD.

Central Authentication Security (CAS)

CAS es un sistema de autenticación originalmente creado por la Universidad de Yale, proporciona una forma segura para que una aplicación pueda autenticar un usuario. CAS se convirtió en un proyecto JASIG en diciembre de 2004. Su propósito es permitir a los usuarios acceder a múltiples aplicaciones, presentando sus credenciales (usuario y contraseña) una sola vez (Ver Figura 11). Además, permite a las aplicaciones web autenticar los usuarios sin tener acceso a las credenciales de seguridad del usuario, como la contraseña. El protocolo de CAS incluye al menos tres partes: un navegador cliente web, la aplicación web que realiza la petición de autenticación, y el servidor de CAS. Cuando un cliente visita una aplicación que solicita su autenticación, la aplicación lo redirecciona a CAS. Se valida la autenticidad del cliente, casi siempre

47

[42]

chequeando usuario y contraseña contra una base de datos. Si la autenticación fue satisfactoria, CAS retorna el cliente a la aplicación, transfiriendo un ticket de seguridad. La aplicación entonces valida el ticket contactando a CAS sobre una conexión segura y proporcionando su propio servicio de identificación y el ticket. CAS le brinda a la aplicación la verdadera información sobre algún usuario en particular que haya sido autenticado satisfactoriamente.

CAS permite múltiples formas de autenticación vía dirección proxy. Un servicio de trasfondo como una base de datos o un servidor de correo pueden participar con CAS, validando la autenticidad de sus usuarios a través de la información recibida desde las aplicaciones web.

[43]

Tocororo

Tocororo es una Aplicación Web Colaborativa que permite publicar información temática en la Web. Se centra en el diseño de una plataforma basada en software libre que permite:

 Publicar y compartir información temática de indicadores, datos estadísticos o medioambientales en la nube.

 Gestión de campos autocalculados.

 Administración de la información georreferenciada y la información temática, así como los mapas.

 Importar y exportar la información georreferenciada desde y hacia diferentes fuentes y destinos (xls, pdf).

 Publicar y compartir los mapas generados por el usuario.

 Indexar la información de los usuarios para su futura recuperación.

Tocororo es una plataforma desarrollada enteramente sobre las tecnologías de Software Libre y Open Source. Para más información de Tocororo consultar (Lorenzo, Manual de Usuario de Tocororo, 2013).

Tocororo SDK

Tocororo es distribuido como un SDK, esto permite la reutilización de los componentes. Tocororo SDK está desarrollado sobre la filosofía de una arquitectura de n-capas. Hace uso de varias tecnologías del mundo java (Ver Figura 12):

 Spring  Hibernate  GeoTools

[44]  GWT48

 JFreeChart49

Está distribuido como bibliotecas, aprovechando esta posibilidad para la reutilización de código, haciendo muy fácil su uso, solamente necesitando un conjunto de configuraciones necesarias para un correcto funcionamiento. Para utilizar el SDK basta con incluir las bibliotecas (cliente y servidor) y habilitar algunos ficheros de configuración.

La arquitectura que plantea el SDK de Tocororo proporciona las siguientes características.

 Escalabilidad, capacidad de administración y utilización de recursos mejorados.  Cada capa es un grupo de componentes que realiza una función específica.  Se puede actualizar una capa sin recompilar otras capas.

Están presentes tres capas:  Capa de presentación.  Capa de negocios.  Capa de datos.

Capa de servicios de usuario o presentación: Esta capa reúne todos los aspectos del

software que tiene que ver con las interfaces y la interacción con los usuarios. Incluye el manejo y vista de las ventanas, la autentificación de usuarios, el formato de los reportes, menús, gráficos y elementos visuales en general.

Capa de servicios de negocios: Esta capa reúne todos los aspectos del software que

automatizan o apoyan los procesos de negocio que llevan a cabo los usuarios. Estos aspectos típicamente incluyen las tareas que forman parte de los procesos, las reglas y

48

Google Web Toolkit, http://code.google.com/webtoolkit/

49

[45]

restricciones que aplican. La lógica de negocios construida en componentes lógicos personalizados enlaza los ambientes clientes y el nivel de servicios de datos.

Capa de servicios de datos: Esta capa reúne todos los aspectos que tienen que ver con

el manejo de los datos persistentes, por lo que también se le denomina la capa de Bases de Datos.

Figura 12: Arquitectura del SDK de Tocororo