Al día de hoy, al menos en el entorno geoespacial, todo profesional con pensamiento neutro reconoce que el software de código libre es tan maduro como el software comercial, y en algunos aspectos superior.
La estrategia de estándares funcionó con mucho tino. Si bien es cuestionable su equilibrio de actualización ante la energía que requiere la evolución tecnológica, quizá fue lo que sentó las bases para garantizar el éxito en otros esfuerzos como la comunidad, planteamiento filosófico, economía y demás ideas que se usaron para justificar el modelo, que en definitiva también son necesarios.
No obstante, vender las soluciones Open Source no es fácil en ambientes empresariales o gubernamentales, por muchos motivos que en parte tienen origen en la competencia pero también como resultado inevitable de las debilidades del modelo, que debe evolucionar y convivir con el software privativo. Los tomadores de decisiones se hacen preguntas como:
-
Si una mañana nos aparece un problema resultado de las actualizaciones de otras plataformas, en aspectos como seguridad ¿Quién responde al momento que necesitemos soporte, y a qué precio para dejarlo presupuestado?
-
Ante la gama de alternativas en lenguaje, librerías, soluciones cliente, soluciones web, ¿Qué combinación debemos elegir que nos asegure compatibilidad cuasi total?
OpenGeo Suite es una solución que no solo aprovecha toda la madurez de las herramientas disponibles, sino que también apunta a responder a esas debilidades del modelo. Además de darle a la comunidad una solución con la que pueden potenciar sus iniciativas de desarrollo, crea un hilo conductor para que los componentes involucrados orienten su evolución y, para las empresas OpenGeo Suite provee la seriedad que requiere decidirse por el código abierto. Si bien hay otras empresas, luego de un tiempo de probar esta alternativa no me queda otra que reconocer la alta capacidad y creatividad de lo pensantes detrás de Boundless, la empresa creadora de esta solución.
Veamos algo de lo que implica el planteamiento de OpenGeo Suite:
¿Qué herramientas incluye OpenGeo Suite?
Tener tantas opciones de solución no es malo, es normal, aunque complica un tanto cómo asegurar la selección de herramientas en procesos productivos integrales. Una selección erronea puede salir costosa si nos damos cuenta cuando ya hemos invertido esfuerzos en investigación, desarrollo, capacitación y sobre todo tiempo no recuperable.
Para ejemplo, solo en cuanto a lenguaje de desarrollo tenemos un rompecabezas resultante de las necesidades de la comunidad, muchas de ellas haciendo exáctamente lo mismo, otras emulando en otro sabor, algunas con características únicas en rutinas sencillas que ya quisiéramos las tuvieran todas. Veamos esta separación por funcionalidades y lenguajes; aunque debo ser honesto, la categorización no es excluyente y en algunos casos cuesta distinguir la frontera:
- A nivel de cliente que es el contexto más popularizado están: QGis, Grass, ILWIS, SAGA, Kapaware, basadas en C++. gvSIG, Jump, uDIG, Kosmo, LocalGIS, GeoPista, SEXTANTE, basadas en Java. MapWindow por su lado sobre ActiveX basado en .NET.
- En librerías tenemos: GDAL, OGR, PROJ4, FDO, GEOS sobre C++. GeoTools, WKB4J, JTS, Baltic basadas en Java. NTS, GeoTools.NET, SharpMap sobre .NET.
- En cuanto a soluciones para web, que hoy están teniendo mucho auge: MapServer, MapGuide OS sobre C++; GeoServer, Degree, Geonetwork sobre Java. OpenLayers, Leaflet y Ka-Map en Javascript, mapFish sobre Python, MapBender en PHP/Javascript.
- En cuanto a bases de dato, Postgres es el indiscutible dominante, aunque también están otras soluciones.
Lo anterior nos demuestra que es posible montar un sistema casi en cualquier entorno. Es más, muchas de ellas si bien nacieron en un lenguaje ahora soportan otros. También muchos de ellos nacieron como cliente pero son capaces de gestionar datos web y en casos como Open Layers hasta es posible desarrollar en un entorno web casi todo lo que semhace en una herramienta cliente.
¿Qué combinación de software libre usar?
OpenGeo suite se decidió por QGis como cliente de escritorio, que a esta altura ya se merece una categoría de artículos en Geofumadas. Para web eligieron GeoServer como servidor de datos que opera sobre Tomcat, Jetty como entorno runtime Java, GeoWebCache para el teselado y OpenLayers como librería aunque esta última opción no tiene una matrícula obligada considerando soluciones como Leaflet que está creciendo con gran suceso especialmente por su modelo basado en Plugins y su potencial con las aplicaciones para móviles. Vean que pudieron irse por una sola línea de lenguaje pero ya quisiera ver la matriz de análisis que los ha llevado a esta definición.
Seamos claros, cualquiera puede implementar estas soluciones por individual. Lo que contiene OpenGeo es un instalador con versiones de estos componentes con mejorías para eficientar rutinas tediosas; por ejemplo:
El instalador hace el montaje de forma nítida. Pudiéndose elegir qué componentes instalar, quitar o desinstalar. Para quienes han lidiado con un motor runtime de Java con el dichoso Error 503 sabrán la utilidad.- Existen diferentes instaladores: para Windows, Mac OS X, CentOS/RHEL, Fedora, Ubuntu y Application Servers.
- La versión reciente 4.02 trae PostgreSQL 9.3.1, PostGIS 2.1.1, GeoTools 10, GeoServer 2.4.3 y GeoWebCache 1.5; y soporta OpenLayers 3.
- En el menú de inicio se crean enlaces directos para detener o iniciar GeoServer y Postgres; también para levantar la interfaz de usuario de carga de datos shapefiles a Postgres (shp2psql) y también para acceder a la base de datos PostGis (PgAdmin).
- También en el menú de inicio hay un acceso hacia el localhost, que en esta versión elimina a la interfaz cliente de la versión 3, con un limpio panel control hacia los servicios GeoServer, GeoWebCache y GeoExplorer.
- Este producto, GeoExplorer es un desarrollo impresionante de Boundles basado en GeExt que hace las veces de visor de datos para GeoServer, permite la subida de datos desde un fichero local o desde un almacén de datos, pudiendo configurar color, grosor de líneas, transparencia, rotulado, inclusive reglas y guardando directamente sobre el fichero de estilo (sld) de geoServer. Nadie en su sano juicio trabaja éste a puro código y GeoExplorer es una excelente solución –aunque hace más cosas-.
- La versión instalada de GeoServer incluye un enlace a la importación de datos, pudiendo crearse orígenes a partir de capas shape locales, inclusive PostGis con lo que se pueden mover datos de una base a otra incluido del Localhost a un servicio hospedado; es interesante que esta subida de datos resuelve problemas OGR2OGR que a menos que se hagan con línea de consola, arrojan dificultades cuando se sube una capa multipolígono, pues el predeterminado es polígono sencillo.
- En este caso, aparecen los servicios WPS porque en la opción de instalar decidí integrarlos.
- Al momento de la instalación se puede agregar Add-ons de GeoServer como CSS Styling, CSW, Cloustering y el soporte para librerías de imágenes GDAL. También hay un Add-on para PostGIS que soporta nubes de puntos sobre la base de datos y como cliente también se puede instalar GDAL/OGR. Para desarrolladores hay opción a instalar Webapp SDK y GeoScript.
- A diferencia de mi versión hospedada en el servidor, veo que hay más posibles orígenes de datos, que seguro se pueden agregar pero en el caso de la versión que viene con OpenGeo Suite trae texto delimitado por comas, H2, H2 JNDI, SQL Server, OGR, Oracle y un puño de posibilidades en orígenes raster.
¿Qué hay de Qgis?
- De lo mejor, para Qgis crearon un genial plugin llamado OpenGeo explorer con el que se puede interactuar con la base Postgres y también con GeoServer. Desde aquí se puede editar los sld, mover capas, grupos de capas, editar nombres, borrar, ver workspaces, capas en caché, etc.
- Si se elimina una capa, se elimina el sld; todo esto es configurable y al final logra un trabajo desde el cliente controlando lo que está arriba, esa sincronización puede ser usando la API REST.
- Por ahora lo que no tiene es shp2psql pero no me extraña que luego lo integren en ese mismo panel, quizá tan transparente como el plugin Spit que a diferencia del UI almacena las conexiones, puede subir varias capas en bloque, la barra de progreso es más realista y los mensajes de error más entendibles.
Con esto OpenGeo Suite no está diciendo que esta es la receta mágica. Pero con toda seguridad moverá gran parte de la comunidad a esta preferencia, sobre todo porque las empresas que venden cursos preferirán enseñar esta ruta que garantiza una curva de aprendizaje más corta.
El combo es compatible con otras herramientas que se pueden montar en el servidor.
Que impacto viene con OpenGeo Suite
Ya veremos que impacto tiene esto sobre la comunidad, porque detrás de Boundless hay gente de mucha experiencia en la materia, que ha estado involucrada en el desarrollo de herramientas y librerías que ahora hacen sostenible el sector. Pero sobre todo con cancheo en emprendimiento y mercadeo de servicios, que muchas veces se desperdicia desde el nivel técnico. Para mencionar al menos seis:
-
Eddie Pickle y Ken Bossung, fundadores de IONIC, empresa que compró ERDAS en 2007 y que ahora es propiedad de Leica.
-
Andreas Hocevar y Bart van den Eijnden, que estuvieron inmerso en el desarrollo de OpenLayers 2 y GeoExt.
-
Victor Olaya, que nos dejó ese legado de SEXTANTE,
-
Paul Ramsey, de los primeros iniciadores de PostGIS.
El otro impacto positivo es en la formalidad de una empresa grande, que fuera de volverse un monstruo en el mercado -que es siempre un riesgo-, aporta formalidad a la competencia contra las empresas del sector privativo en aspectos como soporte, credibilidad, seguridad y control de calidad sobre los desarrollos.
La oferta de servicios que tiene Boundless, que va desde migración de plataformas hasta servicios de soporte anual nos parecen consecuentes con el mercado empresarial e institucional que poco a poco entienden la diferencia de tener soporte local y respaldo empresarial. No debe ser sencillo este mercado, pero vemos con buenos ojos como las instituciones maduran en pensamiento, valorando el desarrollo de software y la información como un activo, así lograron pasar de asignar labores de mecánica automotriz a sus motoristas, a contratar seguros especializados y servicios de las empresas distribuidoras.