API Management y OpenData

Son tantos los entornos, los usos, que se han hecho de la célebre frase “ … connect the dots …” que me parece abusar. Es cierto que el contexto me parece perfecto en mi caso, en el que tuve una pequeña exposición a open-data, smartcities, hace algún tiempo y es ahora que mi interés está más cercano al API Management, que una chispa, un comentario en una reunión,  me acercó a conjuntar ambos elementos.

Es más, leo un post muy interesante de Mark Boyd (@mgboydcom), http://blog.programmableweb.com/2013/10/24/government-open-data-how-to-get-involved/,  en el que ciertamente termino por cerrar el círculo de la importancia de unir ambos conceptos.

{"topic":"OpenData"}

Para poder exponer aquellos datos que las diferentes agencias gubernamentales publican, de forma que podamos consumirlos desde cualquier página o app, es importante tener ciertos aspectos en cuenta:

  • Formato de la información: habitualmente csv, excel, html, pero también json, txt, kml, xml, georss, rdf, entre tantos otros.
  • Adquisición de la información: atendiendo a los criterios de actualización de las fuentes, unas serán cuasi automáticas y otras contienen datos históricos sin mucha frecuencia de actualización.
  • Uso de la información: quizá el aspecto más complejo, y sobre el que quería centrarme ya que esta información puede ser expuesta no solo en distintos formatos, sino también relacionada con otras informaciones, o enriquecida por los ciudadanos.

El uso de la información opendata, una vez queremos exponerla con nuestro propio “toque”, nos permite publicar apps y exponer servicios en los que podemos aportar valores añadidos:

  • Enriquecimiento de la información con otras APIs, o servicios, tanto públicos como privados que permitan no solo contextualizar la información en un área geográfica, sino relacionarla con otra información como la previsión del tiempo o la concentración de agentes microscópicos (polen, partículas, gases).
  • Información personalizada por usuario, o localización del usuario, de forma que acercar la información pública a la palma de la mano del ciudadano le reporte un beneficio tangible en el día a día.
  • Abrir la posibilidad a un usuario de enriquecer la información provista, es muy común el caso en entornos de smart-cities de la notificación de los ciudadanos sobre elementos del mobiliario estropeados o incluso información sobre el tráfico, atascos y obras la lista se me antoja infinita.

Ante lo que es también importante disponer de ciertas capacidades:

  • Mediación, disponer de las capacidades necesarias para poder expresar la información abierta u open-data, en cualquiera de los formatos en los que se encuentre, de forma que sea comprensible por los dispositivos donde vaya a ser consumida, principalmente JSON utilizando el paradigma REST.
  • La nube, ser capaz de acceder a la información pública en distintos formatos, mediante protocolos como http/s no es un hándicap hoy en día. Si es cierto que es necesario disponer de las capacidades de exponer servicios o web APIs sobre este open-data, en la nube con los requisitos de crecimiento elástico necesarios para crecer si se produce un efecto viral, o simplemente porque nuestro servicio es un servicio de éxito.
  • Gestión de identidad, donde no solamente es importante la gestión de la autenticación de usuarios sino la posibilidad de utilizar identidades federadas en terceros y autenticar utilizando protocolos y tecnologías como OpenID entre otras.
  • Frontal de seguridad, merece quizá una serie de capítulos completos en los que evaluar las distintas posibilidades de securización, control de amenazas, gestión de ataques (ddos, code inyection,…) .
  • Monitorización y control, los elementos que suelen darse por supuestos y que marcan la diferencia en un entorno productivo en el que es imprescindible tener claro cuáles de los servicios expuestos están siendo consumidos y cómo lo están siendo, emitiendo las alertas pertinentes en el caso de que alguno de los SLA definidos hayan sido sobrepasados.

En definitiva, las Web APIs permiten la aproximación del ciudadano a los datos abiertos, opendata, en los dispositivos que éste tiene en la palma de la mano.

Así mismo es posible un enfoque desde el punto de vista profesional del consumo de datos, protección de infraestructuras, mash-up de servicios y oferta de servicios tanto en formatos free APIs como freemium. Lo que indudablemente añadirá más competición a la explotación de datos, que no olvidemos son de todos porque todos los pagamos, y la obtención de valor de estos bienes comunes.