Open Data
Detalles
- Grupo: Plataforma Tecnológica e-Administración
- Área: PLATEA Web
[OpenData euskadi] se enmarca dentro de la estrategia de [Transparencia], [Colaboración] y [Participación] del Gobierno Vasco que tiene como ejes principales:
- Crear espacios de contacto directo en la red con la ciudadanía, así como espacios para el debate y el trabajo común.
- Ser transparentes en la acción de Gobierno ofreciendo los datos de primera mano sin transformar ni interpretar para que sea la sociedad la que saque sus propias conclusiones.
- La coproducción de valor social y económico, mediante la colaboración de sectores de nuestra sociedad en la propia prestación de servicios valiosos.
Los tres pilares básicos: Participación, Colaboración y Transparencia se sustentan en:
Participación y Escucha |
IREKIA es un espacio de Participación y Escucha, donde la ciudadanía puede opinar libremente, ampliar explicaciones e informaciones, debatir y contrastar ideas. Desde IREKIA también se ejerce una escucha activa de las inquietudes ciudadanas en lo que a la acción de Gobierno se refiere, tanto en la propia IREKIA como en la Red. |
Colaboración:La coproducción de valor |
IREKIA proporciona canales para:
[OpenData euskadi] pone a disposición de la comunidad reutilizadora información en crudo para que esta cree productos derivados y nuevos servicios |
Transparencia |
A través de [OpenData euskadi], cualquier ciudadano o ciudadana puede tener acceso a datos en formatos reutilizables, bajo licencias abiertas. Con esta medida se pretende:
Por otro lado el portal de [Transparencia de la Administración]: [Gardena] aglutina toda la información sobre la acción de gobierno |
[OpenData euskadi] se sitúa en un punto intermedio entre la [Colaboración] y la [Transparencia]
[OpenData euskadi] se basa en un modelo con cinco ejes directores:
1 | La publicación de datos abiertos es una derivada de la publicación web |
El objetivo principal es publicar información en euskadi.eus para la ciudadanía en general (publicación web tradicional) Sin embargo, en el mismo proceso, se publica la misma información en formatos reutilizables intentado que:
|
2 | Prioridad a la cantidad Priorizar los datos sobre la sofisticación tecnológica |
Durante estos primeros años de vida de [OpenData euskadi], puesto que se partía de cero, la prioridad ha sido publicar cuantos datos en formato abierto sea posible dejando o relegando a un segundo plano otros aspectos como publicar APIs que faciliten la reutilización de ciertos datos o crear interfaces semánticos. No obstante de lo anterior, se están dando pasos en dirección a incorporar tecnologías semánticas en la publicación de los datos con el objetivo de ir acercando [OpenData euskadi] a estándares abiertos. En cualquier caso, los datos siempre se ponen a disposición de los infomediarios en formatos abiertos no propietarios: si algún conjunto de datos se publica en un formato propietario debe publicarse también en un formato abierto equivalente. |
3 | Sostenibilidad económica del proyecto |
La organización tanto funcional como técnica que sustenta [OpenData euskadi] es bastante reducida puesto que se ha hecho un gran esfuerzo en automatizar al máximo la apertura de datos:
|
4 | Alianza con la comunidad reutilizadora |
Desde el nacimiento de [OpenData euskadi], se ha trabajado con reutilizadores, periodistas, redes sociales, etc con el objetivo de fomentar una comunidad en torno a [OpenData euskadi] y para ello:
|
5 | NO cobrar tasas ni establecer obstáculos Licencias CC-by |
A pesar de que la apertura de cualquier data set conlleva unos costes a la Administración puesto que hay que ejecutar un proyecto para “sacar” los datos de allí donde estén almacenados y publicarlos en la web / OpenData euskadi, estos costes NO se repercuten al sector infomediario reutilizador La licencia es CC-by siempre que sea posible lo que permite copiar, redistribuir, mezclar o transformar el dato publicado siempre que se indique el origen del mismo (OpenData euskadi) |
Componentes para extraer la información de su origen y publicarla en opendata.euskadi.eus
La información que se publica en opendata.euskadi.eus tiene fundamentalmente dos orígenes:
1 | Sistemas departamentales (ej: bases de datos, ficheros, sistemas gis, etc) |
2 | Contenidos web publicados en euskadi.eus utilizando el [Gestor de Contenidos PLATEA-Internet] |
A continuación se detalla cómo se publica información reutilizable en opendata.euskadi.eus de cada uno de estos orígenes:
[DataSets] cuyo origen son sistemas departamentales
La pieza más importante del sistema de publicación de datos en [OpenData euskadi] es el [Sistema de Sindicación de PLATEA-Web] que a muy alto nivel es un mecanismo que facilita la importación en el [Gestor de Contenidos] como contenidos web / OpenData de datos residentes en otros sistemas corporativos.
Para entender la necesidad de este [Sistema de Sindicación Datos], hay que partir de la premisa de que en euskadi.eus como norma general se intenta evitar que se construyan aplicaciones que acceden directamente a los datos en bases de datos corporativas ya que esta estrategia de publicación de información en la web tiene muchos inconvenientes:
- Fomenta la creación de «silos» de información ocultos en una «esquina» de la red de portales euskadi.eus: los contenidos de estos «silos» son difícilmente reutilizables
- Es muy complicado mantener la imagen corporativa especialmente cuando esta cambia (ej: cambios de legislatura)
- Es complicado tener un buscador corporativo que sea capaz de buscar en todos los «silos» de información
- Complica la infraestructura web de euskadi.eus (muchas aplicaciones ad-hoc)
- Complica la gestión de la web y su organización
Para evitar estos inconvenientes, en lugar de crear N (multiples) aplicaciones que acceden directamente a las bases de datos corporativas, los datos de estos orígenes se exportan como contenidos web cuyo ciclo de vida se gestiona en el [Gestor de Contenidos PLATEA-Web]
Aproximación tradicional para publicar información departamental como contenido web | Aproximación [PLATEA-Internet] para publicar información departamental como contenido web |
Esta aproximación tiene muchas ventajas:
- Los contenidos son reutilizables en cualquier portal (iniciativa) de la red euskadi.eus: los contenidos no están vinculados a un portal en concreto sino que se pueden «pintar» en cualquier portal
- Los contenidos son fácilmente buscables por un buscador corporativo ya que residen en el mismo repositorio (y no en N bases de datos departamentales)
- Es sencillo cambiar la organización de la red euskadi.eus o la imagen corporativa (ej: cambios de legislatura)
- Pueden crearse estructuras comunes (horizontales) de gestión de la web ([Servicio Web del Gobierno Vasco])
- Los contenidos web se generan como ficheros HTML / XML / CSS, JS, etc estáticos que se publican en un servidor web con lo que NO es necesario un servidor de aplicaciones / base de datos, etc para «pintar» el portal simplificándose enormemente la infraestructura de euskadi.eus
- El dato origen NO es accesible directamente desde Internet lo que abunda en una mayor seguridad
… pero también tiene inconvenientes:
- Aunque la infraestructura para «servir» el contenido web en euskadi.eus se simplifica al máximo, en contrapartida, hay que llevar al momento de generación del contenido web toda la lógica de extracción de los datos desde su origen (bbdd departamental, fichero de intercambio o lo que sea).y su conversión en contenidos web
En definitiva: la infraestructura pública se simplifica a consta de trasladar la complejidad a los sistemas internos.
Para facilitar la publicación de información de sistemas corporativos internos como contenidos web se construyó el [Sistema de Sindicación de PLATEA-Web] que es un sistema responsable de:
1 | Extraer información del sistema corporativo interno | El caso más habitual es que la información esté en Bases de Datos relacionales, aunque en otros casos, la información origen está en ficheros Excel, Zip, etc que se dejan manual o automáticamente en zonas de intercambio de ficheros o en URLs accesibles |
2 | Transformar y enriquecer la información |
En ocasiones, la información origen se enriquece con datos de otros sistemas, por ejemplo:
|
3 | Crear el contenido web y los datos reutilizables |
Una vez se han recuperado y enriquecido los datos, se crean contenidos en el [Gestor de Contenidos] y en estos contenidos se suben:
|
4 | Publicar el contenido | El contenido web se publica |
Dado que la información es dinámica (cambia en el origen), el [Sistema de Sindicación de PLATEA-Web] es capaz de periódicamente repetir el proceso anterior en función del ratio de cambio de los datos de origen: si los datos de origen cambian cada 5 min el proceso se repite cada 5 min mientras que si lo hace cada 6 meses se repite solo dos veces al año.
El [Sistema de Sindicación de PLATEA-Web] es modular de forma que en torno a un núcleo común que contiene las operaciones comunes se instalan módulos conectores con cada origen de datos
A un nivel de abstracción alto, el [Sistema de Sindicación de PLATEA-Web] es fundamentalmente un sistema ETL (Extraction / Transformation / Load) muy adaptado a las necesidades de publicación de información utilizando [PLATEA-Web]
El caso de uso más habitual es:
- El [Dpto X] mantiene un registro respaldado por una base de datos / fichero Excel / etc que quiere publicar en la web para su consulta pública y aprovechando el esfuerzo, también como datos abiertos en opendata.euskadi.eus
- En el [Sistema de Sindicación de PLATEA-Internet] se desarrolla un módulo ad-hoc para este origen departamental que:
- Para cada «fila» de la BBDD se crea un contenido web con una ficha que contiene los datos de la entrada
Estos contenidos web habitualmente se muestran en la web del Departamento concreto o en cualquier otra web de euskadi.eus
- Para publicar todos los datos del registro en formato reutilizable, se crea un contenido tipo [DataSet] que tiene como adjunto una exportación en formato Excel / CSV de los datos origen
Estos datos se muestran habitualmente en opendata.euskadi.eus (aunque también pueden ser mostrados en cualquier otro portal)
- El proceso anterior se planifica para su ejecución periódica en función del grado de cambio en los datos de forma que la información en opendata.euskadi.eus esté lo más actualizada posible
[DataSets] cuyo origen son contenidos web publicados en euskadi.eus utilizando el [Gestor de Contenidos PLATEA-Web]
Además de los datos que proceden de orígenes departamentales descritos en el punto anterior, los contenidos publicados en euskadi.eus utilizando el [Gestor de Contenidos PLATEA-Web] son en sí mismo un origen de información puesto que hay datos que solo (o de forma más completa) están en el [Gestor de Contenidos]; ejemplos de estos son:
- Noticias
- Eventos
- Servicios de la administración (convocatorias de ayudas, becas, etc)
- Información pública
- Recursos turísticos
- Contrataciones
- etc
Para hacer que esta información sea reutilizable (ej: obtener un listado con todos los eventos del Gobierno Vasco) [PLATEA-Web] dispone de un mecanismo de automatización de la generación de [DataSets] a partir de contenidos web que funciona de la siguiente forma:
- Un responsable de [OpenData euskadi] crea un [DataSet] automatizado haciendo básicamente lo mismo que hace cuando crea manualmente una ficha de un [DataSet]:
- Utilizando utiliza una plantilla de carga de información (un formulario) del [Gestor de Contenidos PLATEA-Web] carga los meta-datos que describen el [DataSet] (titulo, descripción, licencia, etc)
- … pero en lugar de (o además de) adjuntar los ficheros con los datos reutilizables configura una búsqueda entre los contenidos de euskadi.eus (ej: eventos del dpto. x)
- El sistema periódicamente ejecutará la búsqueda y con los resultados de la misma generará un fichero en diversos formatos reutilizables (Excel, csv, json, xml) que se publicará como adjunto del contenido [DataSet] que está creando
Algunos ejemplos de [DataSets] de opendata.euskadi.eus que se crean utilizando este mecanismo de generación son:
- Ayudas del Gobierno Vasco
- Eventos de Culturales
- Asociaciones o Fundaciones
- Recursos turísticos
- …
Componentes que facilitan la reutilización / consumo de los datos
A continuación se describen someramente los mecanismos que en la actualidad están disponibles para consumir los datos de euskadi.eus
Consumo / reutilización de datos adjuntos en [DataSets]
Este es el mecanismo más sencillo / obvio de consumo de los datos en aquellos [DataSets] en los que los datos reutilizables son adjuntos en el propio contenido web del [DataSet]
Algunos ejemplos de este tipo de reutilización:
Datos meteorológicos | La previsión del tiempo se importa periódicamente (varias veces al día) desde sistemas de [EuskalMet] y se publican como ficheros XML adjuntos en un contenido web tipo [DataSet] |
Datos de calidad de las aguas de consumo, calidad del aire, nivel de polen, estado de playas, etc | Los datos se importan periódicamente desde sistemas del Dpto de Salud y se publican como ficheros Excel adjuntos en un contenido web tipo [DataSet] |
Para utilizar estos datos, el reutilizador debe conocer la url en la que se publican estos ficheros y descargárselos antes de hacer uso de los mismos.
Por ejemplo, para reutilizar datos meteorológicos con el objetivo de construir un widget para móvil/web, los pasos que un reutilizador daría son:
1 | Documentarse | En la ficha que describe el [DataSet] se puede encontrar información sobre los datos y su formato |
2 | Analizar el fichero que contiene los datos | El fichero de interés para la [Predicción del tiempo por ciudades] contiene un XML con la información en un formato propietario (no estándar) que hay que analizar para localizar la información que se quiere presentar |
3 | Construir el agente que consume los datos |
Utilizando el lenguaje de programación favorito del reutilizador, construir un programa que:
|
4 | Crear un producto derivado con los datos | Una vez se han extraído los datos, ya se puede crear un producto derivado que haga uso de los mismos. |
Esta sistemática de reutilización NO es mala sin embargo es mejorable ya que:
- Se utilizan esquemas de datos propietarios y un pequeño cambio en el mismo puede hacer que los desarrollos de los reutilizadores dejen de funcionar
- Requiere de un concienzudo estudio de la documentación (que muchas veces es escasa y/o obsoleta) y el formato de los datos
Consumo / reutilización de cualquier contenido de euskadi.eus
Cualquier contenido de euskadi.eus (noticia, evento, servicio, contratación, etc) es susceptible de ser reutilizado para lo cual se ofrece:
- La información (meta-datos) del contenido en formato reutilizable (XML)
- Todo el contenido (html, css, imágenes, adjuntos, etc) en formato ZIP descargable
Tal y como se ha detallado anteriormente, la mayor parte de los contenidos publicados en euskadi.eus son cargados manualmente en el [Gestor de Contenidos PLATEA-Web] o extraídos de sus orígenes (BBDD) departamentales e importados automáticamente en el [Gestor de Contenidos PLATEA-Web]
Los contenidos en [PLATEA-Web] son ficheros estáticos, así que cualquier contenido de euskadi.eus físicamente es una carpeta que contiene:
- Documentos HTML destinados a que personas puedan ver la información
- Recursos técnicos utilizados para visualizar y dar estilo al documento HTML: imágenes, hojas de estilo, scripts
- Adjuntos (ej documentos PDF, ofimáticos, etc)
- Ficheros XML que contienen toda la información (meta-datos)
- Meta-Datos comunes a todo euskadi.eus (cualquier contenido de euskadi.eus tiene estos meta—datos) como el nombre, autor, catalogación, geo-referenciación, etc
- Meta-Datos particulares que dependen de [familia] o [tipo de contenido] Ej: si se trata de una beca, algunos meta-datos particulares son los destinatarios, plazos de entrega de solicitud, etc
Todos estos ficheros se publican en euskadi.eus (y obviamente en opendata.euskadi.eus) de forma que cualquier reutilizador puede:
- Descargarse cualquier recurso (documento html, ofimático, etc)
- Acceder a los XMLs que contienen los meta-datos (y a partir de los cuales se ha generado el documento web para las personas) y reutilizar estos datos para cualquier fin
Todos estos XMLs de datos pueden verse fácilmente cuando se accede a datos procedentes del [Gestor de Contenidos]: Ej: Ayudas, Becas y Subvenciones de 2016
La ficha del [DataSet] proporciona varias posibilidades de reutilización:
Datos en formato XLS (Excel) / CSV / JSon / XML que son generados mediante un automatismo (ver antes en el documento):
Periódicamente el sistema hace una búsqueda de todos los contenidos de tipo [Ayuda] del año 2016 y crea un fichero XLS, CSV, XML y JSon con los datos
API: ejecuta la búsqueda «contenidos de tipo [Ayuda] del año 2016» y presenta los resultados con alguna (no toda) la información «consumible» de cada contenido.
Para cada contenido resultado de la búsqueda se presenta:
- Un XML con los meta-datos generales
- Un XML con los meta-datos particulares (en función del [tipo de contenido])
- Un ZIP que contiene toda la información publicada tal cual está en el [Gestor de Contenidos]NOTA: Cualquier recurso del ZIP también está disponible en la web; la url es obvia:
Si el ZIP del contenido contiene un fichero /myFolder/myFile.txt, la url de este fichero será:
http://opendata.euskadi.eus/cont/myFolder/myFile.txt
Al igual que el caso anterior –ya que la técnica de reutilización es muy similar-, la sistemática de reutilización NO es mala sin embargo es muy mejorable ya que:
- Se utilizan esquemas de datos propietarios y un pequeño cambio en el mismo puede hacer que los desarrollos de los reutilizadores dejen de funcionar
- Requiere de un concienzudo estudio de la documentación y el formato de los datos
Consumo / reutilización de contenidos de euskadi.eus utilizando el API del buscador
En el punto anterior se ha descrito el consumo de datos de contenidos de euskadi.eus directamente, es decir:
- El/la reutilizador localiza el contenido que quiere consumir accediendo a la ficha del [DataSet] (ej: Ayudas del 2016) y buscando entre los contenidos (opción API)
- Analiza los datos que contiene (por ejemplo descargándose el ZIP e inspeccionando su contenido o bien analizando el contenido de los XML de meta-datos)
- Desarrolla una aplicación que hace uso de los datos
Sin embargo, si el/la reutilizador quiere consumir todos los contenidos que cumplen un determinado criterio de búsqueda (ej: todos los contenidos tipo [Ayuda] del 2016) y quiere que su aplicación auto-descubra cuáles son estos contenidos, para reutilizarlos acto seguido uno a uno, la sistemática es:
- El/la reutilizador establece un criterio de búsqueda que da como resultado el conjunto de contenidos que quiere reutilizar
- Desarrolla una pequeña aplicación que lanza la búsqueda contra el buscador de euskadi.eus que devuelve el resultado en formato XML. Para hacer esta búsqueda hay dos opciones:
- Utilizar un API pseudo-rest en el que la query se codifica en la URL que se lanza contra el buscador y se parsea el XML devuelto.
Ej: http://opendata.euskadi.eus/r01htSearchResultWAR/r01hPresentationXML.jsp?r01kQry=
tC:euskadi;tF:procedimientos_administrativos;tT:ayuda_subvencion;
m:documentLanguage.EQ.es,procedureStartDate.BETWEEN.01/01/2016,31/12/2016;
http://opendata.euskadi.eus/r01htSearchResultWAR/r01hPresentationXML.jsp?r01kQry=
tC:euskadi;tF:procedimientos_administrativos;tT:ayuda_subvencion
Contenidos de euskadi de la familia [procedimientos_administrativos] y el tipo [ayuda]
m:documentLanguage.EQ.es,procedureStartDate.BETWEEN.01/01/2016,31/12/2016
Que estén en castellano y cuya fecha de aperture de plazo esté entre el 1 de enero y 31 de diciembre de 2016
- Utilizar un API java en el que la query se codifica en Java y que abstrae al desarrollador de interactuar con el buscador
// [1] Build the query
R01MSearchFilterForContent qry =
R01MSearchFilterForContent.createFor(R01MContent.class)
.typedInAnyOfTheseClusters(R01MTypoClusterID.forId(«euskadi»))
.typedInAnyOfTheseFamilies(R01MTypoFamilyID.forId(«procedimientos_administrativos»))
.typedInAnyOfTheseTypes(R01MTypoTypeID.forId(«ayuda_subvencion»))
.mustMeetThisMetaDataCondition(EqualsQueryClause.forField
(IndexableFieldID.forId(«procedureStatus»)).of(16))
.mustHaveStructureLabels(R01MStructureLabelOID.forIds(«r01e00000ff26d46212a470b818464daec45c59fa»,
«default»)).orderedBy(R01MSearchQueryOrderByMetaData.forMetaData(«createDate»)
.ordered(R01MSearchQueryOrderBy.ASCENDING));
// [2] Inicializar la sesión de búsqueda
R01MSearchSession srchSession = R01MSearchSession.forQuery(qry);
R01MSearchResultItem[] items = srchSession.getCurrentPageSearchResults();
- Una vez obtiene los resultados de la búsqueda, recorre cada uno de los resultados y hace uso de los datos expuestos para cada contenido tal y como se describía anteriormente (usando el ZIP o cualquiera de los XMLs de meta-datos publicados).
Esta sistemática de reutilización tampoco está mal ya que permite el auto-descubrimiento de los contenidos, sin embargo también es mejorable ya que:
- Una vez más, se utilizan esquemas de datos propietarios y un pequeño cambio en el mismo puede hacer que los desarrolos de los reutilizadores dejen de funcionar
- Requiere de un concienzudo estudio de la documentación y el formato de los datos
- NO todos los contenidos reutilizables de [OpenData euskadi] están disponibles con el API: solo se puede «descubir» los contenidos gestionados en PLATEA-Web.
- El API es específico del buscador de euskadi.eus (lo cual tampoco es intrínsecamente malo)
Consumo / reutilización del catálogo de [DataSets] utilizando estándares semánticos: RDF
Los componentes / interfaces para facilitar a infomediarios / colectivos reutilizadores el consumo de los datos descritos anteriormente no son del todo óptimos puesto que:
- Los mecanismos de reutilización / consumo de los datos son muy simples (primarios): fundamentalmente el consumo de ficheros en diferentes formatos (XML, Excel, CSV, JSon)
- Haciendo un paralelismo con la web, la accesibilidad de los datos es muy mejorable: se publican numerosos ficheros de datos y diferentes XMLs, JSon, etc basados en esquemas no estándar
- NO hay APIs que faciliten el acceso a los datos salvo el API del buscador de euskadi.eus (que es muy antiguo –de cuando el Json no era mainstream-)
- En general NO es posible cruzar o enlazar datos con otras fuentes
No aplica
No aplica
No aplica
- PLATEA Web Servicios (Tecnológicos) - Plataforma Tecnológica e-Administración
- Semántica - Tecnologías Semánticas Metodologías (y Normativa Técnica) - Modelo e Integración de Datos
- Tecnologías de Integración de Datos Metodologías (y Normativa Técnica) - Modelo e Integración de Datos
- Versión 1: 03-07-2017 (última versión)