open data at work - seminario mirian andrés › wp...grape is a rest-like api framework for ruby....
TRANSCRIPT
![Page 1: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/1.jpg)
OPEN DATA AT WORK
Publicación de datos agroclimáticos a partir de una API REST
Seminario Mirian Andrés, UR, 20 de diciembre de 2016
Vanessa TobarJoaquín Huete
Servicio de Información Agroclimática de La Rioja (SIAR)
![Page 2: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/2.jpg)
DATOS AGROCLIMÁTICOS
• SIAR: Servicio Información Agroclimática
– Red estaciones agroclimáticas
LLUVIA(pluviómetro)
VELOCIDAD y DIRECCIÓN
VIENTO(anemómetro-
veleta)
TEMPERATURA Y HUMEDAD RELATIVA(termohigrómetro)
RADIACIÓN SOLAR(radiómetro)
ALMACENADOR DE DATOS
Placa solar
HUMECTACIÓN DE HOJA
TEMPERATURA SUELO
![Page 3: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/3.jpg)
21 estaciones en territorio agrícola de La Rioja
DATOS AGROCLIMÁTICOS
![Page 4: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/4.jpg)
Otras redes en La Rioja y CCAA limítrofes
En azul estaciones SIAR
En blanco estaciones SOS-Rioja
En rojo estaciones CCAA limítrofes
DATOS AGROCLIMÁTICOS
![Page 5: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/5.jpg)
• AMPLIA BASE DE DATOS. Alto interés científico
– Datos cada media hora. 21 parámetros
– Parámetros climáticos: Tª; HR; Viento; Radiación; Lluvia; Tª suelo; Humectación
– Datos en tiempo real. Comunicación remota vía GPRS
– Datos diarios, mensuales
– Datos semihorarios validados según normativa UNE 500-540
DATOS AGROCLIMÁTICOS
![Page 6: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/6.jpg)
DATOS AGROCLIMÁTICOS
VALIDADOS
• Proceso en 2 fases: Automática + Manual
• Analiza la calidad del dato
• Resultado: DATO + METADATO
Dato agroclimático etiquetado con nivel de validación
![Page 7: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/7.jpg)
• Fase Automática: 5 test de validación
– Límites: rígidos y flexibles
– Coherencia: temporal, interna del dato y de la serie y espacial
• Fase Manual: Inspección Visual
Confirmación por operador humano del proceso automático
Posibles modificaciones en base de datos “a posteriori”
DATOS AGROCLIMÁTICOS
VALIDADOS
![Page 8: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/8.jpg)
• Productos derivados. Alto interés práctico
– Sector Agrícola:
• Predicción plagas y enfermedades
• Riego eficiente cultivos
• Aviso heladas
– Otros Sectores:
• Energías Renovables
• Medio Ambiente: quemas sanitarias de rastrojos
• Usos civiles: negocios o eventos climáticos en medio agrario
• Otros
DATOS AGROCLIMÁTICOS
PRODUCTOS DERIVADOS
![Page 9: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/9.jpg)
EXPLOTACIÓN DATOS AGROCLIMÁTICOS
• Datos con gran potencial
– Potencial se multiplica si se integra con otras BBDD. Compartir información
– Útil para
• Usuarios externos Administración
• Usuarios de Administración
MEJOR SERVICIO AL CIUDADANO
![Page 10: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/10.jpg)
• Diversos usos
– No Agrarios:
– Agrarios:
– supuestamente poco tecnificados
– Agricultura 2.0
– AgriData (BigData en agricultura)
EXPLOTACIÓN DATOS AGROCLIMÁTICOS
![Page 11: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/11.jpg)
I Foro Transformación digital y big data en agricultura29 noviembre 2016
Madrid – Consejo Económico y Social
Inaugura: Ministra MAPAMA “Es necesario hacer uso de todas las tecnología disponibles porque en la innovación está la mejora de nuestra competitividad”Participan:Empresas tecnología transformación digital y Big Data: Google, Intel, IBM,…Empresas agrícolasCOAGMinisterio AgriculturaAEMETEmpresas sistemas de innovación en agricultura
![Page 12: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/12.jpg)
AGRICULTURA 2.0
• Relevo generacional: nuevas necesidades sector agrario. Información instantánea y en tiempo real
• Nuevas tecnologías
• Normativa europea – AGRICULTURA SOSTENIBLE: Necesario datos para justificar decisiones agrícolas
• SMART AGRICULTURE. Agricultura conectada al mundo digital
![Page 13: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/13.jpg)
AGRICULTURA 2.0
• Manejo gran cantidad de información
• Datos procedentes de diferentes BBDD
– Gran parte está en la Administración
• Herramienta ayuda
Aplicación informática
SENCILLA
![Page 14: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/14.jpg)
apisiar.larioja.org
• OBJETIVO: Ofrecer datos agroclimáticos de forma accesible para consulta y reutilización
• PERMITIRÁ:
– Publicación datos en cualquier plataforma
El dispositivo móvil es fundamental en sector agrícola
– Aportar valor añadido al dato agroclimático
![Page 15: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/15.jpg)
Arquitectura
• Servidor Linux CentOS 6.7 instalado en servidor X86_64 alojado en ARSYS en DMZ externa a www.larioja.org
• Servidor web: apache 2.2.15 integrado con aplicación mediante “Phusion Passenger”
• DNS http://apisiar.larioja.org
![Page 16: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/16.jpg)
Arquitectura• Base de datos: MariaDB (Server version: 5.5.46-
MariaDB)– Tablas de datos (dinámicos):
• Datos climáticos diarios y semihorarios, rango datos• Actualizadas cada hora desde servidor en larioja.org• Vía Spoon
– Tablas de configuración (estáticos):• Estaciones disponibles, parámetros disponibles, otras.• Actualizadas manualmente desde servidor en larioja.org• Vía Spoon
– Tablas de logs:• usuarios, tipos de usuarios, accesos a la aplicación• Escritas por la aplicación*
![Page 17: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/17.jpg)
Arquitectura• Aplicación programada en Ruby 1.9.3
– Principales gemas empleadas• Sinatra -> gestiona métodos http (Get, Post, etc)
• Active record -> gestiona comunicación con BBDD
• Aproximadamente 1800 líneas de código– primerserver.rb (900 líneas); gestiona llamadas http
– parsear.rb (500 líneas de código) gestiona consultas a la bbdd, comprobaciones de campos y parseo a json/csv
– metodos.rb (300 líneas); gestiona acceso a datos climáticos
– conexion.rb (100 líneas), configuración de la gema active_record para acceso a las tablas de la BBDD
![Page 18: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/18.jpg)
¿Por qué Ruby?
![Page 19: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/19.jpg)
¿Por qué Ruby?
![Page 20: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/20.jpg)
¿Por qué Ruby?
![Page 21: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/21.jpg)
¿Por qué Ruby?
![Page 22: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/22.jpg)
¿Por qué Ruby?
![Page 23: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/23.jpg)
¿Por qué Ruby?
![Page 24: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/24.jpg)
¿Por qué Ruby?
![Page 25: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/25.jpg)
¿Por qué Ruby?
![Page 26: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/26.jpg)
¿Por qué Ruby?
![Page 27: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/27.jpg)
API
• Métodos de acceso a datos estáticos (preconfiguración)
• Métodos de acceso a datos dinámicos
• Seguridad de la aplicación
• Escritura de logs
![Page 28: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/28.jpg)
API
• Métodos de acceso a datos estáticos (preconfiguración)
http://apisiar.larioja.org +
/ultima-hora/TU_ID
/estaciones-disponibles/id/TU_ID
/estacion/COD_ESTACION/parametros-disponibles/id/TU_ID
/rango-datos/estacion/COD_ESTACION/tipodato/TIPO_DATO/id/TU_ID
![Page 29: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/29.jpg)
API
• Métodos de acceso a datos dinámicos (extracción de datos)
http://apisiar.larioja.org +
/estacion/COD_ESTACION/tipo/TIPO_DATO/fechain/AAAAMMDD/fechafin/AAAAMMDD/salida/TIPO_SALIDA/niveles/SI-NO/id/TU_ID
/estacion/COD_ESTACION/tipo/semihorario/fechain/AAAAMMDD/horain/HHMM/fechafin/AAAAMMDD/horafin/HHMM/salida/TIPO_SALIDA/niveles/SI-NO/id/TU_ID
![Page 30: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/30.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID activa
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 31: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/31.jpg)
![Page 32: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/32.jpg)
![Page 33: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/33.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID válida y activa
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 34: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/34.jpg)
![Page 35: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/35.jpg)
![Page 36: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/36.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID válida y activa http://apisiar.larioja.org/ultima-hora/id/INVENTADA
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 37: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/37.jpg)
![Page 38: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/38.jpg)
![Page 39: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/39.jpg)
![Page 40: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/40.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID válida y activa http://apisiar.larioja.org/ultima-hora/id/INVENTADA
http://apisiar.larioja.org/ultima-hora/id/ID_NO_ACTIVA
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 41: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/41.jpg)
![Page 42: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/42.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID válida y activa http://apisiar.larioja.org/ultima-hora/id/INVENTADA
http://apisiar.larioja.org/ultima-hora/id/ID_NO_ACTIVA
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 43: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/43.jpg)
![Page 44: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/44.jpg)
API
• Seguridad de la aplicación
– Hay un máximo número de conexiones activas que el servidor gestiona
– Todas las consultas exigen una ID válida y activa http://apisiar.larioja.org/ultima-hora/id/INVENTADA
http://apisiar.larioja.org/ultima-hora/id/ID_NO_ACTIVA
– Las consultas que no se ajustan a los patrones son redirigidas al index
– Los errores en el servidor son enmascarados al usuario
![Page 45: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/45.jpg)
API
![Page 46: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/46.jpg)
API
• Escritura de logs
– Al devolverse el resultado de la consulta al usuario la aplicación pasa por un filtro (método AFTER)
![Page 47: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/47.jpg)
![Page 48: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/48.jpg)
API
• Escritura de logs
– Al devolverse el resultado de la consulta al usuario la aplicación pasa por un filtro (método AFTER)
– Almacenamos quién ha accedido, qué ha solicitado, el tiempo que se ha tardado en responder y si la respuesta ha sido satisfactoria.
![Page 49: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/49.jpg)
![Page 50: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/50.jpg)
API
• Ejemplo de método para acceso a datos
![Page 51: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/51.jpg)
![Page 52: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/52.jpg)
API
• Ejemplo de método para acceso a datos
– Define la estructura que tendrá la petición http en la primera línea del código
– Se realiza un filtrado de campos para analizar si la solicitud es válida
– Si todo es OK se realiza la petición a la BBDD
– Por último se genera un archivo con el resultado que es lo que finalmente se pasa al usuario
![Page 53: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/53.jpg)
![Page 54: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/54.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
![Page 55: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/55.jpg)
{"DATOS": {
"DATOS0": 21: {"Estacion": "501","Fecha-Hora": "2016-12-01T12:30:00.000Z"
},"DATOS1": 21: {
"Estacion": "502","Fecha-Hora": "2016-12-01T12:30:00.000Z"
},…
http://apisiar.larioja.org/ultima-hora/id/TU_ID
![Page 56: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/56.jpg)
{“TOTAL”:21,"DATOS": [
{"Estacion": "501","Fecha-Hora": "2016-12-01T12:30:00.000Z"
},{
"Estacion": "502","Fecha-Hora": "2016-12-01T12:30:00.000Z"
},…
]}
http://apisiar.larioja.org/ultima-hora/id/TU_ID
![Page 57: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/57.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
– Incluir Versión
![Page 58: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/58.jpg)
http://apisiar.larioja.org/v1/ultima-hora/id/TU_ID
http://apisiar.larioja.org/v2/ultima-hora/id/TU_ID
![Page 59: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/59.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
– Incluir Versión
– Codificación UTF-8 real
![Page 60: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/60.jpg)
http://apisiar.larioja.org/estaciones-disponibles/id/TU_ID
…"ESTACION9":{"CODIGO":"509","NOMBRE":"Logro�o"},…,"ESTACION14":{"CODIGO":"514","NOMBRE":"CERVERA-CABRET�N"},…
![Page 61: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/61.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
– Incluir Versión
– Codificación UTF-8 real
– Cabecera HTTP que indique “application/json” o “text/plain” (actualmente “text/html”)
![Page 62: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/62.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
– Incluir Versión
– Codificación UTF-8 real
– Cabecera HTTP que indique “application/json” o “text/plain” (actualmente “text/html”)
– Protocolo HTTPS
![Page 63: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/63.jpg)
RETOS INFORMÁTICOS
• Pequeñas mejoras en la aplicación (hay bastantes detalles):
– Mejorar las estructuras JSON enviadas, casi todas válidas y bien formadas pero todas mejorables
– Incluir Versión
– Codificación UTF-8 real
– Cabecera HTTP que indique “application/json” o “text/plain” (actualmente “text/html”)
– Protocolo HTTPS
– Documentación extensiva
![Page 64: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/64.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
![Page 65: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/65.jpg)
![Page 66: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/66.jpg)
![Page 67: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/67.jpg)
![Page 68: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/68.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
![Page 69: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/69.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
• Todos los registros de las tablas de datos climáticos tienen un campo fecha que indica el momento en el que se escribe el registro
![Page 70: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/70.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
• Todos los registros de las tablas de datos climáticos tienen un campo fecha que indica el momento en el que se escribe el registro
• Gracias a este campo se puede confirmar si el campo ha sufrido o no cambios desde la última consulta
![Page 71: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/71.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
![Page 72: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/72.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
https://github.com/ruby-grape/grape
![Page 73: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/73.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
What is Grape?Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily develop RESTful APIs. It has built-in support for common conventions, including multiple formats, subdomain/prefix restriction, content negotiation, versioning and much more.
![Page 74: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/74.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
![Page 75: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/75.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
¿es necesario poner a disposición del usuario TODOS los datos semihorarios históricos?
![Page 76: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/76.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
¿es necesario poner a disposición del usuario TODOS los datos semihorarios históricos?
¿Y los diarios?
![Page 77: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/77.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
¿es necesario poner a disposición del usuario TODOS los datos semihorarios históricos?
¿Y los diarios?
¿Datos semanales, mensuales? ¿otra información derivada como índices climáticos, riesgo de enfermedades, etc?
![Page 78: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/78.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
– Trazabilidad de los datos una vez descargados
![Page 79: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/79.jpg)
RETOS INFORMÁTICOS
• Mejoras de concepto
– Sistema que haga las consultas más rápidas
– Uso del timeStamp
– Mantenibilidad del código, migración a GRAPE
– Disponibilidad de los datos
– Trazabilidad de los datos una vez descargados
¿?
![Page 80: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/80.jpg)
RETOS AGRARIOS de apisiar.larioja.org
• Manejo del resultado de la validación
![Page 81: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/81.jpg)
RETOS AGRARIOS de apisiar.larioja.org
• Manejo del resultado de la validación
• Si se ofrece dato con nivel => el usuario es responsable
• Si se ofrece dato sin nivel => ¿Qué hacer?
![Page 82: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/82.jpg)
RETOS AGRARIOS de apisiar.larioja.org
• Manejo del resultado de la validación
• Incorporar información propiedad del dato
![Page 83: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/83.jpg)
RETOS AGRARIOS de apisiar.larioja.org
• Manejo del resultado de la validación
• Incorporar información propiedad del dato
• Distribuir datos con licencia que permita
– Reutilización datos dándole valor añadido
– Reconocimiento fuente original del dato
![Page 84: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/84.jpg)
RETOS AGRARIOS de apisiar.larioja.org
• Manejo del resultado de la validación
• Incorporar información propiedad del dato
• Distribuir datos con licencia que permita
– Reutilización datos dándole valor añadido
– Reconocimiento fuente original del dato
• Adaptar la salida de datos a estándares distribución información p. ej.: INSPIRE
![Page 85: OPEN DATA AT WORK - Seminario Mirian Andrés › wp...Grape is a REST-like API framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such](https://reader034.vdocument.in/reader034/viewer/2022042315/5f0384947e708231d40973e1/html5/thumbnails/85.jpg)
MUCHAS GRACIAS
Servicio de Información Agroclimática de La Rioja (SIAR)Servicio de Producción Agraria y Laboratorio Regional – Consejería de Agricultura - Gobierno de La Rioja
Finca La GrajeraCtra. LO-20 - salida 13Autovía del Camino de Santiago26071 – Logroño (La Rioja)
[email protected] 29 18 34