Software libre para la integración de información en la Universidad de Cádiz
-
Upload
antonio-garcia-dominguez -
Category
Software
-
view
254 -
download
2
Transcript of Software libre para la integración de información en la Universidad de Cádiz
![Page 1: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/1.jpg)
Software libre para laintegración de información en
la Universidad de CádizQuincena de la Ingeniería, 2014
/ Antonio García Domínguez @antoniogado
![Page 2: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/2.jpg)
Presentación
![Page 3: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/3.jpg)
¿Quién soy?2003/09 - 2008/07: Estudiante de Ingeniería Informática2008/10 - 2010/11: Profesor sustituto2010/11 - 2014/01: Becario predoctoral2014/01 - sigue: Técnico investigador en la DGSI
![Page 4: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/4.jpg)
Proyectos y contribucionesPFC: (II CUSL)Investigación: servicios web e ingeniería dirigida por modelos
: pruebas unitarias para WS-BPEL: ingeniería dirigida por modelos
: mutación evolutiva para WS-BPEL: mi tesis
: generación dinámica de invariantes para WS-BPEL... y unos cuantos más :-)
XMLEye
BPELUnitEclipse EpsilonGAmeraSODM+TTakuan
![Page 5: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/5.jpg)
¿Qué hacemos en la DGSI?DGSI = Dirección General de Sistemas de Información
Intermediarios entre demandas de información y fuentes de datos:Desde fuera: Ministerio (SIIU) y Junta de AndalucíaDesde dentro: Equipo de Gobierno, Ordenación Académica,Investigación, Innovación Docente...
Ayudamos a organizar los sistemas de información de la UCA:PHP: con framework (p. ej. Symfony)... o sin élDjangoRestos de Zope/PloneY un largo etcétera
![Page 6: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/6.jpg)
Datos ➯Información
![Page 7: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/7.jpg)
Pasos
![Page 8: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/8.jpg)
Localizar las fuentes¿Qué es lo que tenemos?¿Quién es el responsable?¿Cuándo se actualiza?¿Cómo se mantiene?¿De qué forma se almacena?
En este paso pueden encontrarse problemas de calidad:puede haber que revisar el origen.
![Page 9: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/9.jpg)
Carga en el almacén de datosEs el repositorio central con toda la información.Debe estar bien organizado en áreas de interés.Los problemas de calidad de datos deben estar resueltos.Identificadores únicos y formatos de campos uniformes (p. ej. sexo oID personal).
![Page 10: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/10.jpg)
Carga en el almacén de datosEn resumen...
![Page 11: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/11.jpg)
Explotación de los datos¿Y ahora qué?
Depende del tipo de toma de decisiones,y del tiempo del destinatario.
Operacionales: listados de operaciones cotidianas.Tácticas: cubos multidimensionales, top 10, estadísticas...Estratégicas: cubos y cuadros de mando (+ interactividad).
![Page 12: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/12.jpg)
Herramientaspara carga
![Page 13: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/13.jpg)
KettlePara definición de procesos ETL:
Extract: leemos datos (SQL, JSON, XML, Access, Excel...)Transform: reordenamos, limpiamos, reemplazamos...Load: volcado a una tabla de una BD, un CSV, etc.
Dispone de Spoon (editor gráfico), Kitchen y Pan (ejecutan desde CLI)y Carte (servidor)Basado en Java y muchas bibliotecas existentes (p. ej. Apache POI)Adquirido por Pentaho: ahora es Pentaho Data IntegrationCódigo disponible en Se puede descargar de
GithubPentaho Community
![Page 14: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/14.jpg)
Kettle: ejemplo detransformación
Aristas = flujos de filas
![Page 15: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/15.jpg)
Kettle: ejemplo de trabajoAristas = flujos de control
![Page 16: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/16.jpg)
OpenRefineOriginalmente Google Refine, ahora es un Es muy útil para hacer una primera inspección de un .xlsx ydetectar problemas de calidad
proyecto abierto
![Page 17: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/17.jpg)
LibreOfficeFuera esos .xls y .xlsx ☺
La biblioteca Apache POI en Kettle no maneja bien macros ExcelPor suerte, implementa conversiones masivas:
150+ ficheros .xls, .ods y .xlsx Excel: listos en un par de minutos
LibreOfficelibreoffice --headless --convert-to csv --outdir out *.xls *.xlsx
![Page 18: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/18.jpg)
Herramientas UNIX y scriptingUNIX: ¡troceando texto plano desde los '70!Sólo con y ya se puede hacer muchísimoEn casos más complejos , o resuelven el problemaOjo: no todo se resuelve a base de expresiones regulares
grep sedPython Perl Ruby
(?:(?:\r\n)?[ \t])*(?:(?:(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([̂\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[̂()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[̂\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[̂()<>@,;:\\".\[\]
¿Alguien adivina qué hace esta bonita regexp?
![Page 19: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/19.jpg)
Vistas de BD y PL/SQLMás cerca del origen = mayor eficienciaSQL es muy conciso para ciertas cosas (para otras, no tanto)Con muchos datos (200k+ filas), es mejor hacer lo posible en BDHay que tirar de EXPLAIN y revisar las estructuras de datos e índicesque pueda haber
![Page 20: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/20.jpg)
Herramientaspara explotación
![Page 21: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/21.jpg)
Pentaho BI ServerServidor de Inteligencia Empresarial y Analíticas de Negocio: puntode entrada a toda la información extraída del almacénIntegración de muchos proyectos (GPL, EPL, MPL y demás)Código disponible en , binarios en Modelo de negocio "freemium" con dos ediciones:
Community: de código abierto y sin soporte oficialEnterprise: con extensiones cerradas y soporte oficial(~30.000€/año)
Gracias a la comunidad FLOSS, la edición Community tienefuncionalidad equivalente: (ahora parte de PentahoCorp.) contribuyó muchas mejoras, conocidas como las "CTools"
Github Pentaho Community
WebDetails
![Page 23: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/23.jpg)
Pentaho Report DesignerAplicación de escritorio (Win/MacOS/Linux) para diseño de informesavanzados, basada en (otro proyecto abierto dePentaho)Los informes pueden consumir consultas SQL, MDX,transformaciones Kettle, etc.Permite exportar los informes a PDF, HTML, Excel y CSV, entre otrosLos informes pueden incorporar enlaces, gráficas, subinformes, etc.Una vez están listos, se publican al servidor y se visualizan desde ahí
JFreeReport
![Page 24: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/24.jpg)
Pentaho Report Designer
![Page 25: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/25.jpg)
Cubos OLAP: Mondrian y SaikuImaginemos que queremos estudiar las notas de los alumnos¿Cómo las guardamos para cualquier estudio que se nos ocurra?Podemos tener en una tabla una fila por nota, con:
Alumno (sexo, edad, años en la carrera, número de matrícula)Profesor (sexo, edad, categoría, área, departamento, centro, NIF)Estudios (titulación, plan, materia, curso, convocatoria)Nota obtenida (numérica y no numérica)
![Page 26: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/26.jpg)
Cubos OLAP: Mondrian y Saiku
En el centro hay una tabla de hechosCada hecho está en unas dimensionesUn almacén tiene muchos de estos "esquemas en estrella"
![Page 27: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/27.jpg)
Cubos OLAP: Mondrian y SaikuPodríamos intentar consultar estas estrellas con SQL, pero no seríaprácticoHay un estándar de facto para esto: MDX, originario de Microsoft
es un motor de código abierto que implementa undialecto de MDX
es un cliente cómodo para MDX que se integra en Pentaho
Mondrian
Saiku
![Page 28: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/28.jpg)
Cubos OLAP: Mondrian y SaikuYou are using Saiku Community Edition, please consider
![Page 29: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/29.jpg)
Cuadros de mando: CDF + CDEHay usuarios muy ocupados que no tienen tiempo de mirarinformes ni trastear con SaikuHay que darles la información ya lista, que deje explorar y que quepaen un pantallazo: un cuadro de mandoEl y el
permiten elaborar cuadros de mando sin mucha complicaciónCommunity Dashboard Framework Community Dashboard
Editor
![Page 30: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/30.jpg)
Cuadros de mando: CDF + CDE
Type
Resource
Layout Structure
About Doc ume ntation
Ne w S ave S ave as ...
![Page 31: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/31.jpg)
REST para datos: CDA aporta los servicios Web REST que necesita
CDF para los cuadros de mandoPor lo demás, un cuadro de mando es un fichero JSON que setransforma a HTML + JavaScriptLos servicios REST se pueden usar de forma independiente a CDA(para cualquier otra web)
Community Data Access
![Page 32: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/32.jpg)
REST para datos: CDA
Filename: /public/plugin-samples/pentaho-cdf-dd/cde_sample1.cda
![Page 33: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/33.jpg)
Validación automática: CDV permite comprobar automáticamente
fuentes CDAÚtil para detectar momentos en que las consultas fallan o tardandemasiado, o para detectar filas incorrectasSólo hay que indicar la ruta al fichero de CDA, el nombre de laconsulta, los parámetros y un trozo de JavaScript con la verificaciónSe pueden especificar expresiones cron para automatizar lascomprobaciones
Community Data Validator
![Page 34: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/34.jpg)
Validación automática: CDV
Validations Alerts CDA Errors
Search:
![Page 35: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/35.jpg)
En el puntode mira
![Page 36: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/36.jpg)
Sparkl es otro proyecto más de la gente de las CTools
Permite crear extensiones para Pentaho usando transformacionesKettle y cuadros de mando CDEYa hay unos cuantos desarrollos nuevos subidos al PentahoMarketplace:
, un componente para CDE que implementa tablas OLAP alestilo de Saiku
, para sincronizar el repositorio JCR dePentaho con un directorio local
, para gestionar registros locales
Sparkl
BTable
Repository Synchronizer
Log Manager
![Page 37: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/37.jpg)
CKAN es un proyecto de código abierto para portales de datos
abiertos (como debe ser)Está siendo adoptado por varias universidades del entorno (porejemplo, la Universidad de Granada)En la DGSI se está estudiando la posibilidad de abrir algunosconjuntos de datos al público, y podría ser una opción paraorganizarlos
CKAN
![Page 38: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/38.jpg)
D3.jsLib. JavaScript para convertir datos en visualizaciones interactivasSólo utiliza estándares abiertos: HTML, CSS, SVG y JavaScript
mbostock’s block #5944371
Bilevel PartitionEjemplos: , , radiales colisiones NY Times
![Page 39: Software libre para la integración de información en la Universidad de Cádiz](https://reader035.fdocuments.net/reader035/viewer/2022081404/55899408d8b42a0b768b4679/html5/thumbnails/39.jpg)
Fin de lapresentación
¡Gracias a todos!