Skip to main content
Available in Español

ODISEA: Aspectos tecnológicos implementados en Redatam

25 November 2020|Insights

El presente capítulo tiene la finalidad de describir en forma sintética los aspectos tecnológicos que dan soporte a la aplicación ODISEA bajo la plataforma Redatam Webserver.

El desarrollo de ODISEA contempla principalmente la utilización del conjunto de tecnologías informáticas vinculadas con REDATAM, e inicialmente los microdatos en formato Redatam de los censos de población y vivienda de: Guatemala 2018, Perú 2017 y Costa Rica 2011; permitiendo la generación dinámica de indicadores predefinidos y que se visualizan de forma intuitiva en novedosos componentes cartográficos, gráficos y tabulares.

La implementación de la aplicación ODISEA se encuentra alojada en el sitio web de procesamiento en línea que provee CEPAL para aplicaciones basadas en REDATAM; y se utilizaron los estándares tecnológicos de la CEPAL para desarrollo de aplicaciones web, tales como:

  • Sistema de manejo de contenidos (CMS) Drupal en la integración,
  • Openlayers Parcel en la elaboración de mapas temáticos,
  • Generación de gráficos con Echarts como base,
  • Y otras tecnologías de código abierto como JavaScript, CSS, Bootstrap, React, etc.

Todo esto vinculado al nuevo integrante de la familia REDATAM: el servicio REST API for Redatam Online Processing (REST4Red), y que se sintetiza en la siguiente figura:

La interacción del usuario con ODISEA se inicia a partir de la selección del módulo, censo y año a procesar (junto a indicadores y filtros específicos), implementadas en el administrador de contenidos DRUPAL, en el cual se agregaron los programas en lenguaje Redatam que van a ser enviados al servicio REST4Red, que es el encargado de procesar los microdatos y producir el resultado (en formato Json) que se retorna a DRUPAL para que se generen dinámicamente la tabla (matriz de datos) y los visualizadores de mapas temáticos y gráficos, que a su vez pueden ser utilizados intuitivamente de acuerdo a los requerimientos del análisis requerido, a través de botones, barras de desplazamiento, capas, etc.

En lo referente al servicio REST4Red, su desarrollo permite la interconexión de varios sistemas y amplía exponencialmente el uso de microdatos en formato Redatam en ambientes web, más allá de la plataforma Redatam Webserver, al permitir recibir programas escritos en lenguaje Redatam (SPC), utilizar el motor de Redatam7 y generar resultados en un formato estándar (Json) que puede ser presentado, visualizado o incorporado en otro sistema o aplicación y en diferentes plataformas, como es el caso de ODISEA y que se esquematiza en la siguiente figura:

REST4Red está implementado a través de un programa que se ejecuta como CGI dentro de un servidor web tal como Apache HTTPD y proporciona acceso a servicios REST para consumir procesos de tipo AREALIST (listas por área), FREQUENCY (frecuencias), CROSSTABS (cruces de variables), TABLELIST (listado de tablas) y mostrar información de los diccionarios Redatam (dicX).

Las operaciones disponibles actualmente corresponden a:

  • Ejecutar un bloque de programa en formato SPC /execute
  • Recuperar información de un diccionario de una base de datos Redatam /dictionary

El acceso a una determinada base de microdatos se hace a través de un ALIAS (cómo es el caso de las bases de microdatos de los tres censos en ODISEA), por lo que es factible agregar más censos e inclusive otras estadísticas al servicio, siempre y cuando se encuentren en formato Redatam.

Dada la limitación en cuanto al tamaño de la cadena de consulta del método HTTP GET, la operación /execute utiliza el método HTTP POST en donde se incluye el programa en lenguaje Redatam (SPC) y que es la forma de llamar al servicio.  Si la operación se realiza con éxito, el servicio retorna un código HTTP 200, en caso contrario retorna un código HTTP 500 indicando el error: HTTP/1.1 200 OK. Adicionalmente fija el tipo de contenido devuelto a application/json: Content-Type: application/json.

Un ejemplo del uso del servicio REST4Red, se muestra a continuación para el caso del módulo de Segregación de ODISEA, en donde se envía por POST un programa Redatam7 para procesar la base de microdatos del Censo de Población y Vivienda 2018 de Guatemala (ALIAS: gtm2018).

La condición display, en este caso en false, determina que el resultado se almacene en la carpeta “folder” segrega y disponible para uso desde los componentes de visualización.

En el caso de que la condición de display está en true, el resultado no se almacena y se envía directamente a quien invocó el servicio para su consumo, como se muestra en la siguiente figura:

El proceso es similar para los módulos de Migración Interna y Movilidad Cotidiana de ODISEA, con una optimización importante cuando no se activan los filtros opcionales y es que se accede directamente a las matrices ya previamente calculadas y almacenadas, sin utilizar el servicio REST4Red, algo así como un repositorio de salidas.

Los visualizadores son completamente innovadores y serán utilizados en las distribuciones futuras de Redatam Webserver e inclusive adaptables para otras aplicaciones que requieran visualización interactiva de mapas temáticos, gráficos y tablas.