Pentaho vs Jasper

download Pentaho vs Jasper

of 410

Transcript of Pentaho vs Jasper

  • Facultad de Ingeniera

    Ingeniera en Sistemas

    BI-FLOSS

    Proyecto de Grado

    de Almeida, Rodrigo Heredia, Mariano

    Tutor: Garca Matto, Mariano Alberto

  • Ttulo del Proyecto Business Intelligence - Free/Libre Open Source Software (BI-FLOSS)

  • INSTITUTO UNIVERSITARIO AERONAUTICO FACULTAD DE INGENIERIA

    Aprobado por el Departamento Sistemas en cumplimiento de los

    requisitos exigidos para otorgar el Ttulo de Ingeniero en Sistemas al Seor de Almeida, Rodrigo Guillermo DNI 30900773

    Revisado por:

    .............................................................. Ing. Garca Matto, Mariano Alberto

    Tutor de Trabajo

    .............................................................. Mag. Chiodi, Gustavo

    Director Departamento Sistemas

    ..............................................................

    Ing. Picco, Juan Eduardo Director Dpto. Desarrollo Profesional

    Tribunal Examinador:

    .............................................................. Mag. Chiodi, Gustavo

    Presidente del Tribunal Examinador

    ..............................................................

    Ing. Toledo, Lus Vocal del Tribunal Examinador

    Crdoba, 25 de Abril de 2008

  • INSTITUTO UNIVERSITARIO AERONAUTICO FACULTAD DE INGENIERIA

    Aprobado por el Departamento Sistemas en cumplimiento de los

    requisitos exigidos para otorgar el Ttulo de Ingeniero en Sistemas al Seor Heredia, Mariano Martn DNI 30222058

    Revisado por:

    .............................................................. Ing. Garca Matto, Mariano Alberto

    Tutor de Trabajo

    .............................................................. Mag. Chiodi, Gustavo

    Director Departamento Sistemas

    ..............................................................

    Ing. Picco, Juan Eduardo Director Dpto. Desarrollo Profesional

    Tribunal Examinador:

    .............................................................. Mag. Chiodi, Gustavo

    Presidente del Tribunal Examinador

    ..............................................................

    Ing. Toledo, Lus Vocal del Tribunal Examinador

    Crdoba, 25 de Abril de 2008

  • Dedicado especialmente a nuestros familiares, sin ellos estas lneas nunca hubieran sido escritas; a MAGM, instructor, gua y amigo.

  • Agradecemos a cada una de las personas que a lo largo de estos 6 aos ayudaron a que hoy nos encontremos en esta instancia. Para todos ellos Gracias por apoyarnos y motivarnos.

  • Ttulo del Proyecto ..................................................................3

    Introduccin..........................................................................17

    Contenido del Libro ...............................................................19

    Primera Parte: Inteligencia de Negocios - Conceptos Previos..... 19

    Segunda Parte: Desarrollo BI-FLOSS .......................................... 19

    Tercera Parte: Anexos ................................................................ 19 Licencias de Software ........................................................................... 19 Carga de datos OLTP ............................................................................ 20

    Estructura del libro ..................................................................... 20

    Formato del libro ........................................................................ 20 Fragmentos de cdigo fuente................................................................. 20 Ejecucin desde lnea de comando ......................................................... 20 Notas................................................................................................. 21 Expresiones ........................................................................................ 21

    Referencias y recursos................................................................ 21

    Palabras Clave.......................................................................23

    Abreviaturas..........................................................................25

    Objetivo BI-FLOSS.................................................................27

    Destinatarios .........................................................................29

    Beneficios..............................................................................31

    Estudio Tcnico .....................................................................33

    Primera Parte: Inteligencia de Negocios - Conceptos Previos37

    Inteligencia De Negocios ............................................................ 39 Definicin de Inteligencia de Negocios (Business Intelligence) .................... 39 Beneficios ........................................................................................... 39

    Data Warehouse ......................................................................... 40 Introduccin........................................................................................ 40 Definicin ........................................................................................... 40 Arquitectura del Data Warehouse ........................................................... 40 Referencias y recursos.......................................................................... 50

    Segunda Parte: Desarrollo BI-FLOSS .....................................51

    Captulo I: Modelo Multidimensional........................................... 53 Planteo del caso .................................................................................. 55 Estructura del OLTP.............................................................................. 56

    Productos ........................................................................................ 59 Sucursales....................................................................................... 62 Clientes........................................................................................... 64

    Indicadores del Negocio (KPIs) .............................................................. 65 Dimensiones de la Base de Datos Multidimensional ................................... 65 Tablas de la Base de Datos Multidimensional............................................ 65 Atributos de las Tablas de la Base de Datos Multidimensional ..................... 65 Definicin de la tabla de hechos y atributos ............................................. 69 Definicin del esquema estrella para el modelo multidimensional ................ 70 Definicin de los cubos multidimensionales necesarios .............................. 71

  • Referencias y Recursos ......................................................................... 74

    Captulo II: BigPicture ................................................................ 75 Referencias y recursos.......................................................................... 78

    Captulo III: Integracin de Datos[1] .......................................... 79 Introduccin........................................................................................ 82 Trabajando con Kettle .......................................................................... 83

    Licencia........................................................................................... 85 Versin Utilizada .............................................................................. 85 Descripcin general .......................................................................... 85 Spoon............................................................................................. 85 Pan ................................................................................................ 89 Kitchen ........................................................................................... 90 Diseando Transformaciones.............................................................. 90 Diseando un Trabajo ......................................................................117 Referencias y recursos .....................................................................121

    Trabajando con JasperETL....................................................................123 Introduccin ...................................................................................125 Licencia..........................................................................................125 Versin Utilizada .............................................................................125 Descripcin general .........................................................................125 GUI: Perspectivas y Vistas ................................................................125 Diseando un Modelo de Negocio.......................................................132 Diseando un Trabajo ......................................................................133 Referencias y recursos .....................................................................177

    Mtodo Alternativo Para Generar la Tabla de Hechos................................179 Consideraciones previas ...................................................................181 Consecuencias de excluir los no hechos ..............................................184 Creando la tabla de hechos con Talend ...............................................184 Creando la tabla de hechos con Spoon................................................188 Resultados Obtenidos.......................................................................191

    Comparativa Kettle-JasperETL ..............................................................193 Conclusin Data Integration .................................................................201 Referencias y recursos.........................................................................204

    Captulo IV: OLAP ..................................................................... 205 Trabajando con Mondrian.....................................................................209

    Introduccin ...................................................................................211 Licencia..........................................................................................211 Versin utilizada..............................................................................211 Arquitectura de Mondrian..................................................................211 API................................................................................................214 Diseando un Esquema Mondrian.......................................................215 Esquema definido para GONBI...........................................................222 Conexin con el esquema y ejecucin de consultas MDX .......................229 Mondrian como Servidor XMLA ..........................................................234 Ejecucin de consultas MDX ..............................................................237 Referencias y recursos .....................................................................238

    Conclusin OLAP.................................................................................241

    Captulo V: Reportes y Consultas .............................................. 245 Trabajando con Pentaho Reporting ........................................................249

    Introduccin Pentaho Reporting .........................................................251 JFreeReport ....................................................................................253 Report Design Wizard.......................................................................257 Report Designer ..............................................................................271 Adhoc Reporting..............................................................................279 Pentaho Design Studio .....................................................................281

  • Trabajando con Jasper Reporting ..........................................................287 Introduccin a Jasper Reporting.........................................................289 JasperReports .................................................................................291 IReport ..........................................................................................297

    Comparativa Pentaho Reporting-Jasper Reporting....................................317 Tabla Comparativa...........................................................................319

    Conclusin Reporting...........................................................................321

    Captulo VI: Plataformas de Inteligencia de Negocios .............. 325 JPivot................................................................................................329 Trabajando con Pentaho BI-Server ........................................................331

    Introduccin ...................................................................................333 Licencia..........................................................................................333 Versin utilizada..............................................................................333 Configuracin del Servidor con MySQL y Tomcat ..................................333 Probando que la configuracin funcione ..............................................346 Referencias y recursos .....................................................................351

    JasperServer......................................................................................353 Introduccin ...................................................................................355 Licencia..........................................................................................355 Versin utilizada..............................................................................355 Instalacin .....................................................................................355 Tareas Administrativas .....................................................................356 Acceso a reportes y vistas de anlisis .................................................371 Referencias y recursos .....................................................................374

    Comparativa Pentaho BI-Server JasperServer .........................................375 Conclusin BI Platforms .......................................................................381

    Tercera Parte: Anexos .........................................................385

    Anexo I : Licencias De Software ............................................... 387 Clasificacin de licencias de software .....................................................389

    Licencias Propietarias .......................................................................389 Licencias Libres (de cdigo abierto)....................................................389

    Licencias FLOSS .................................................................................390 Licencias de software permisivas .......................................................391 Copyleft .........................................................................................391

    Licencias BI-FLOSS .............................................................................392 Referencias y recursos.........................................................................392

    Anexo II: Data generator (Carga inicial de datos OLTP) ........... 393 Data Generator ..................................................................................395

    GenerateData.com...........................................................................395 GONDataGenerator..........................................................................397

    Referencias y recursos.........................................................................399

    Anexo III: Contenido del DVD BI-FLOSS................................... 401

    Viabilidad Comercial ............................................................405

    Conclusin BI-FLOSS ................................................................ 407 Respecto a las Herramientas BI-FLOSS en General ..................................407 Respecto a las Herramientas Pentaho y JasperSoft ..................................407 Respecto a las licencias y las estrategias ................................................408

    Bibliografa ............................................................................... 409

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Introduccin

    17

    Introduccin La Gestin de Conocimiento constituye un factor esencial para las organizaciones y la mejora de sus procesos. Estas organizaciones generan grandes volmenes de informacin producto de su operar diario, la cual correctamente procesada puede ser de vital importancia para la Direccin.

    En un principio se desarrollaban Sistemas destinados a convertir los datos operacionales en indicadores (casi siempre econmicos-financieros). Este proceder fue lentamente reemplazado por el concepto de Inteligencia de Negocio (Business Intelligence, BI), el cual ha ido evolucionando a pasos agigantados, siempre acompaado de la Tecnologa de la Informacin (Information Technology, IT) que lo hace posible.

    Desde la perspectiva puramente de las IT, Ibermtica[1] define a Business Intelligence como:

    "Conjunto de metodologas, aplicaciones y tecnologas que permiten reunir, depurar y transformar datos de los sistemas transaccionales e informacin desestructurada (interna y externa de la compaa) en informacin estructurada, para su explotacin directa (reporting, anlisis OLAP) o para su anlisis y conversin en conocimiento soporte para la toma de decisiones sobre el negocio."

    Dentro de la IT las herramientas Software desempean un rol fundamental, es as que las principales compaas del mercado (IBM, Oracle, Microsfot) han sostenido un desarrollo continuo de Suites de BI que abarcan cada aspecto propuesto en la definicin anterior.

    Desde hace un tiempo a esta parte, han emergido una serie de herramientas Software con licencias no restrictivas ni privativas provenientes de desarrollos FLOSS (Free/Libre/Open-Source Software). Estas han ido ganando terreno en diferentes mbitos y disciplinas, y la Inteligencia de Negocios no es la excepcin. Pentaho Project[2] y JasperSoft BI[3] son un claro ejemplo de esto y se presentan como unos de los principales complementos o sustitutos de los productos comerciales ofrecidos y/o patrocinados por grandes firmas tecnolgicas.

    El presente trabajo consiste en la documentacin de un desarrollo de Business Intelligence en el cul fueron utilizadas las herramientas brindadas por los proyectos Pentaho y JasperSoft BI. La documentacin incluye:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Introduccin

    18

    1. Conceptos previos de Inteligencia de Negocio. 2. Traduccin de fragmentos claves de documentacin oficial de

    JasperSoft y Pentaho (definiciones, arquitectura, etc.). 3. Documentacin adicional, obtenida y plasmada luego del uso de

    las herramientas. 4. Procedimiento paso a paso para llevar a cabo las principales

    tareas que ofrecen las herramientas. 5. En aquellas reas en las cuales existen herramientas

    equivalentes entre los JasperSoft y Pentaho, se ofrece una comparativa de los aspectos ms relevantes.

    6. Conclusiones referentes a las herramientas utilizadas.

    La estructura del libro es la descripta a continuacin:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro

    19

    Contenido del Libro Primera Parte: Inteligencia de Negocios - Conceptos Previos

    En esta parte se brinda una introduccin a conceptos de Inteligencia de Negocios cuyo entendimiento ser asumido para la lectura de la segunda parte. Esta parte consiste en contenidos extrados del libro DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos[4].

    Segunda Parte: Desarrollo BI-FLOSS

    Esta parte representa el desarrollo principal del libro, en donde se documenta la implementacin de una solucin de Business Intelligence, evaluando y comprando las herramientas de JasperSoft y Pentaho utilizadas.

    Los captulos involucrados son los siguientes:

    1. Modelo multidimensional: Definicin de la base de datos y cubos multidimensionales.

    2. Big Picture: Un panorama general de las etapas includas en el desarrollo junto a las herramientas utilizadas.

    3. Data Integration (Load Manager): En este captulo se lleva a cabo el diseo y ejecucin de los procesos ETL necesarios para construir la base de datos multidimensional.

    4. Servidor OLAP: Este captulo est dedicado a la construccin del cubo multidimensional definido.

    5. Reportes y Consultas: En este captulo se realizar el diseo de los reportes OLAP.

    6. Servidores de Busienss Intelligence: Captulo dedicado a la configuracin y despliegue de portales Web de Business Intelligence. Estos ofrecen acceso centralizado a reportes y vistas de anlisis OLAP.

    Tercera Parte: Anexos

    Licencias de Software

    En este anexo se realiza un panorama general del mundo de las Licencias de Software, puntualizando los aspectos de las licencias Free/Libre/Open-Source.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro

    20

    Carga de datos OLTP

    Este anexo documenta las tareas efectuadas y software utilizado para la carga de la base de datos operacional la cual actuar como fuente de datos para la construccin del Data Warehouse.

    Estructura del libro

    Los captulos que componen la segunda parte, estn estructurados de la siguiente forma:

    Descripcin de las herramienta o Versin utilizada o Licencia brindada o Introduccin o descripcin general o Descripcin de funcionalidad o Uso y descripcin paso a paso de las principales tareas

    con la herramienta o Referencias y recursos

    Conclusin obtenida de las secciones anteriores, junto a una calificacin en diferentes aspectos[5]

    Formato del libro

    En el libro se utilizan un conjunto de reglas para mostrar diferentes contenidos de manera que sean resaltados:

    Fragmentos de cdigo fuente

    Cdigo: Cdigo Java de Ejemplo public static void main(String []args){ System.out.println("Hola BI-FLOSS"); }

    Cdigo: Cdigo Bash de Ejemplo #!/bin/sh HOLA_MUNDO="HOLA MUNDO" echo "$HOLA_MUNDO" | sed s/"MUNDO"/"BI-FLOSS"/

    Ejecucin desde lnea de comando

    $ ./spoon.sh

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro

    21

    Notas

    Nota: Esto es una nota

    Expresiones

    Expresin: 1/x

    Referencias y recursos

    1. Definicin de Business Intelligence: http://www.ibermatica.com/ibermatica/businessintelligence2

    2. Sitio oficial de Pentaho Project: http://www.pentaho.com 3. Sitio oficial de JasperSoft BI Project:

    http://www.jaspersoft.com 4. DATA WAREHOUSING: Investigacin y Sistematizacin

    de Conceptos HEFESTO: Metodologa propia para la Construccin de un Data Warehouse Ing. Bernabeu, Ricardo Daro -Instituto Universitario Aeronutico- Noviembre de 2007

    5. Se brinda una calificacin de 1 a 5 puntos en aspectos tales como:

    o Funcionalidad: En que medida cumple con las funciones requeridas para llevar a cabo la tarea en cuestin.

    o Usabilidad: El grado de simplicidad con el cual la herramienta permite utilizar las funcionalidad brindadas.

    o Flexibilidad: Relacionado con la extensibilidad, configuracin y personalizacin de las funciones.

    o Interoperabilidad: En que medida permite intercomunicarse o trabajar en cooperacin con otras herramientas

    o Fiabilidad: Grado en que la herramienta responde de manera aceptable a la interaccin con el usuario.

    o Eficiencia: Recursos necesarios para llevar a cabos las tareas.

    o Documentacin: Cantidad, calidad y centralizacin de documentos instructivos sobre el uso de la herramienta.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Palabras Clave

    23

    Palabras Clave Inteligencia de Negocios Business Intelligence Free Software Open Source Software Libre JasperSoft Pentaho Integracin de Datos Data Integration Integracin de Datos Data Warehouse Talend JasperETL OLAP Mondrian Reportes y anlisis OLAP JasperReports JFreeReport iReport Pentaho Design Studio Pentaho Designer Pentaho Design Wizard Business Intelligence Platforms JasperServer Pentaho BI Platform JasperAnalysis Pentaho Analysis

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Abreviaturas

    25

    Abreviaturas BI: Business Intelligence F/LOSS: Free/Libre Open-Source Software ETTL: Extraccin, Transformacin, Transporte y Carga (Load)

    de datos. OLAP: On-Line analytic processing OLTP: On-Line transactional processing I18N: Internacionalizacin L10N: Localizacin DW: Data Warehouse

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Objetivo BIFLOSS

    27

    Objetivo BI-FLOSS De acuerdo a lo expuesto en la introduccin del proyecto, se ha optado por llevar a cabo una evaluacin de las herramientas ofrecidas por los proyectos Pentaho y JasperSoft, mediante la realizacin de un Data Warehouse basado en el Proyecto de Pre-Grado (Gua Online de Negocios) desarrollado por los integrantes del grupo.

    Los objetivos primarios del proyecto son:

    1. Realizar el modelado multidimensional, correspondiente a la perspectiva de negocio elegida para llevar a cabo el Data Warehouse

    2. Implementar el modelo anterior con las herramientas ofrecidas por Pentaho Project y JasperSoft en las reas de:

    o Data Integration o OLAP Analysis o Reporting o BI-Server (BI-Platform)

    3. Documentar el proceso llevado para completar los dos primeros objetivos, obteniendo como resultado final el desarrollo y las conclusiones plasmados en el Libro de Trabajo Final.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Destinatarios

    29

    Destinatarios Debido al objetivo y las caractersticas del proyecto, no se espera entregar los resultados obtenidos a alguna organizacin, sino que estos puedan servir para otros desarrollos relacionados.

    Se espera generar gran cantidad de documentacin sobre como realizar un desarrollo de B.I. con estas herramientas. Como consecuencia, la documentacin generada servir para futuros desarrollos (propios o de terceros) de este tipo, ya que no hay gran cantidad de informacin sobre como utilizar estas herramientas (especialmente, hay muy poca documentacin en espaol).

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Beneficios

    31

    Beneficios Al tratarse de un proyecto sin una organizacin destino especfica, no se espera que alguna se beneficie del trabajo realizado. Se ha recolectado gran cantidad de informacin sobre el desarrollo de soluciones BI, incluyendo informacin sobre modelado y herramientas utilizadas.

    Debido a la falta de documentacin de desarrollos BI sobre estas herramientas, se espera que los principales beneficiarios del estudio realizado, sean la comunidad de desarrolladores que utiliza este tipo de herramientas. Adems se espera beneficiar a los proyectos encargados del desarrollo y mantenimiento de las herramientas, ya que se genera documentacin para que mayor cantidad de usuarios pueda acceder y conocer estas tecnologas.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico

    33

    Estudio Tcnico Para la eleccin de las tecnologas, se definen una serie de atributos que deberan poseer:

    Grado en que se adapta la tecnologa para el desarrollo del sistema

    o Estabilidad o Performance o Licenciamiento o Precio

    Los atributos se encuentran en orden decreciente de importancia, es decir se priorizan aspectos relacionados con la productividad y no al costo monetario o libertades y restricciones impuestos por la licencia.

    Dentro de las tecnologas se distingue:

    Plataforma Software: o Sistema Operativo: En este aspecto, se elige como la

    mejor solucin un sistema operativo estilo Unix por mejor prestaciones en los tres primeros atributos. Teniendo en cuenta los ltimos dos, es que se decide por un SO GNU/Linux.

    o Servidores Web: Por razones idnticas a las expuestas para SO, se eligen servidores con licencia Apache (Tomcat).

    o Sistema de Gestin de Base de Datos: Las opciones que mejor se adaptan a los atributos descriptos y herramientas utilizadas en el desarrollo, son los motores de base de datos PostgreSQL 8.1 y MySQL 5.0.

    Tecnologas BI: o De acuerdo a estos atributos, es que se elige para el

    desarrollo del trabajo las tecnologas BI Open Source provistas por Pentaho y JasperSoft.

    Recursos tecnolgicos necesarios para el desarrollo del proyecto:

    Requerimientos Mnimos de hardware para el desarrollo del sistema:

    o 1 PC: CPU Intel Pentium IV 2.4 Mhz o similar 512 MB RAM Disco Duro con al menos 10 GB libre CD-RW y DVD-RW Monitor SVGA 1024x768 de Resolucin

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico

    34

    Requerimientos Mnimos de Software: o GNU/Linux con kernel 2.6.*, Windows 2000 o superior o Java(tm) JDK o OpenOffice 2.0

    Requerimientos Mnimos de hardware para servidor o 1 PC o CPU Intel Pentium IV 2.6 Mhz o similar o 1 GB RAM o Disco Duro con al menos 60 GB libre o CD-RW y DVD-RW

    Requerimientos Mnimos de Software para el servidor: o GNU/Linux con kernel 2.6.*, Windows 2000 server o

    superior o Java(tm) JDK o Web Server o CVS server o Application Server o Proxy y Firewall o SGBD

    Recursos tecnolgicos (infraestructura) necesarios para ejecutar el sistema de informacin:

    Debido a que las herramientas BI utilizadas utilizan tecnologas WEB, se especifican las caractersticas necesarias tanto de un cliente como un servidor.

    Requerimientos Mnimos de hardware para el lado del servidor: dem a las caractersticas para el desarrollo. Adicionalmente se necesitar una conexin estable que brinde disponibilidad y tiempos de respuestas rpidos de acuerdo a la concurrencia y peticiones de usuarios.

    Requerimientos Mnimos de hardware para el lado del cliente:

    Cualquier plataforma capaz de soportar el software descrito a continuacin

    Requerimientos Mnimos de Software: o Conexin a Internet o Cualquier navegador con: o JavaScript habilitado o Capacidad de conexiones sobre SSL/TLS o Gestin de Certificados X.509

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico

    35

    Recursos tecnolgicos disponibles para el desarrollo del sistema:

    o Hardware disponible para el desarrollo: PC Pentium IV, CPU de 3,2 Ghz HT

    Memoria 1 GB RAM Disco Duro de 80GB Disco Duro de 160GB CD/DVD-ROM Monitor 22 SVGA 1680x1050 de Resolucin 2 Placa de red (NIC) de 10/100 Mbps

    PC Pentium IV, CPU de 3,2 Ghz HT Memoria 1 GB RAM 2 Disco Duro de 80GB CD/DVD-ROM Monitor 17 SVGA 1024x768 de Resolucin 2 Placa de red (NIC) de 10/100 Mbps

    Software disponible para desarrolladores: o SO GNU/Linux Ubuntu 7.04 - Gentoo 2007.0 o JDK 1.5.0_09 o PostgreSQL 8.1 o PGAdmin o MySQL Query Browser o DBVisualizer 5.0 o MySQL 5.0 o Eclipse Platform 3.3 o Spoon 3.0 (Pentaho Data Integration 3.0) o Talend Open Studio 2.2.0GA o iReport 2.0.4 o Pentaho Report Design Wizard 1.6 o Pentaho Report Designer 1.6 o Pentaho Design Studio 1.6 o Mondrian 2.4.2 o Mondrian Schema Workbench 2.3.2.9247

    Hardware disponible para servidores: o PC Pentium IV, CPU de 3,2 Ghz HT o Memoria 1 GB RAM o Disco Duro de 80GB o Disco Duro de 160GB o CD/DVD-ROM o Monitor 22 SVGA 1680x1050 de Resolucin o 2 Placa de red (NIC) de 10/100 Mbps

    Software disponible para servidores: o GNU/Linux Debian 3.1 o JDK 1.5.12 o Apache Tomcat

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico

    36

    o Apache Web Server o PostgreSQL 8.1 o MySQL 5.0 o Mondrian 2.4.2 o JasperServer 2.1.0 o Pentaho BI Platform 1.6 o CVS Server o Samba Server o Proxy Server: Squid o Firewall: Shorewall (Iptables)

    Hardware Lan y Wan: o Cisco 677 ADSL Router o Linksys WRT300N - Wireless-N Broadband Router

  • Primera Parte: Inteligencia de Negocios - Conceptos Previos

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    39

    Inteligencia De Negocios

    En esta seccin se brindar la introduccin a algunos conceptos referentes a Inteligencia de Negocios que se asumen comprendidos a lo largo de las secciones posteriores. El contenido de esta seccin, corresponde a extractos del libro DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos[1]

    Definicin de Inteligencia de Negocios (Business Intelligence)

    Se puede describir BI, como un concepto que integra por un lado el almacenamiento y por el otro el procesamiento de grandes cantidades de datos, con el principal objetivo de transformarlos en conocimiento y en decisiones en tiempo real, a travs de un sencillo anlisis y exploracin. La definicin antes expuesta puede representarse a travs de la siguiente frmula:

    Datos+Analisis=Conocimiento

    Beneficios

    Entre los beneficios ms importantes que BI proporciona a las organizaciones, vale la pena destacar los siguientes:

    Reduce el tiempo mnimo que se requiere para recoger toda la informacin relevante del negocio, ya que la misma se encontrar integrada en una fuente nica de fcil acceso.

    Automatiza la asimilacin de la informacin, debido a que la extraccin y carga de los datos necesarios se realizar a travs de procesos predefinidos.

    Proporciona herramientas de anlisis para establecer comparaciones y tomar decisiones.

    Cierra el crculo que hace pasar de la decisin a la accin. Permite a los usuarios no depender de reportes o informes

    programados, porque los mismos sern generados de manera dinmica.

    Posibilita la formulacin y respuesta de preguntas que son claves para el desempeo de la empresa.

    Permite acceder y analizar directamente los indicadores de xito.

    Se pueden identificar cules son los factores que inciden en el buen o mal funcionamiento de la empresa.

    Se podrn detectar situaciones fuera de lo normal. Se encontrarn y/o descubrirn cules son los factores que

    maximizarn el beneficio.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    40

    Permitir predecir el comportamiento futuro con un alto porcentaje de certeza, basado en el entendimiento del pasado.

    El usuario podr consultar y analizar los datos de manera sencilla.

    Data Warehouse

    Introduccin

    Debido a que para llevar a cabo BI, es necesario gestionar datos guardados en diversos formatos, fuentes y tipos, para luego depurarlos e integrarlos, adems de almacenarlos en un solo destino, depsito o base de datos que permita su posterior anlisis y exploracin, es imperativo y de vital importancia contar con una herramienta que satisfaga todas estas necesidades. Esta herramienta es el Data Warehouse (DW), que bsicamente se encarga de consolidar, integrar y centralizar los datos que la empresa genera en todos los mbitos de una actividad de negocios (Compras, Ventas, Produccin, etc), para luego ser almacenados mediante una estructura que permite el acceso y exploracin de la informacin requerida con buena performance, facilitando posteriormente, una amplia gama de posibilidad de anlisis multivariables, que permitir la toma de decisiones estratgicas y tcticas.

    Definicin

    El DW posibilita la extraccin de datos de sistemas operacionales y fuentes externas, permite la integracin y homogeneizacin de los datos de toda la empresa, provee informacin que ha sido transformada y sumarizada, para que ayude en el proceso de toma de decisiones estratgicas y tcticas. El DW, convertir entonces los datos operacionales de la empresa en una herramienta competitiva, debido a que pondr a disposicin de los usuarios indicados la informacin pertinente, correcta e integrada, en el momento que se necesita. Una de las definiciones ms famosas sobre DW, es la de W. H. Inmon, quien define: Un Data Warehouse es una coleccin de datos orientada al negocio, integrada, variante en el tiempo y no voltil para el soporte del proceso de toma de decisiones de la gerencia.

    Arquitectura del Data Warehouse

    Introduccin

    A travs del siguiente grfico se explicitar la estructura del depsito de datos

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    41

    Data Warehouse, arquitectura

    Tal y como se puede apreciar, el ambiente del depsito de datos esta formado por diversos elementos que interactan entre s y que cumplen una funcin especfica dentro del sistema. Por ello es que al abordar la exposicin de cada elemento se lo har en forma ordenada y teniendo en cuenta su relacin con las dems partes.

    Bsicamente, la forma de operar del esquema superior se resume de la siguiente manera:

    Los datos son extrados desde aplicaciones, bases de datos, archivos, etc. Esta informacin generalmente reside en diferentes tipos de sistemas y arquitecturas y tienen formatos muy variados.

    Los datos son integrados, transformados y limpiados, para luego ser cargados en el DW.

    La informacin del DW se estructura en cubos multidimensionales, los cuales preparan esta informacin para responder a consultas dinmicas con una buena performance. Los cubos pueden ser explotados tanto por un usuario no experto como por usuarios avanzados.

    Los usuarios acceden al DW utilizando diversas herramientas de consulta, exploracin, anlisis, reportes, etc.

    A continuacin se detallar cada uno de los componentes de la arquitectura del DW, teniendo como referencia siempre el grfico antes expuesto, pero resaltando el tema que se tratar.

    OLTP (On Line Transaction Processing)

    Representa toda aquella informacin transaccional que genera la empresa en su accionar diario, adems, de las fuentes externas con las que puede llegar a disponer. Como ya se ha mencionado, estas fuentes de informacin, son de caractersticas muy dismiles entre s, en formato, procedencia, funcin, etc. Entre los OLTP ms habituales que pueden existir en cualquier organizacin se encuentran:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    42

    Archivos de textos. Hipertextos. Hojas de clculos. Informes semanales, mensuales, anuales, etc. Bases de datos transaccionales.

    Load Manager (ETL)

    Para poder extraer los datos desde los OLTP, para luego manipularlos, integrarlos y transformarlos, para posteriormente cargar los resultados obtenidos en el DW, es necesario contar con algn sistema que se encargue de ello. Precisamente los ETL (Extraccin, Transformacin y Carga) son los que cumplirn con tal fin. Tal y como sus siglas lo indican, los ETL, extraen datos de las diversas fuentes que se requieran, los transforman para resolver posibles problemas de inconsistencias entre los mismos y finalmente, despus de haberlos depurado se procede a su carga en el depsito de datos.

    En sntesis, las funciones especficas de los ETL son tres:

    Extraccin. Transformacin. Carga.

    Puede agregarse una T (Transporte) resultando en ETTL.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    43

    Data Warehouse Manager

    Data Warehouse, DW Manager

    El DW Manager presenta las siguientes caractersticas y funciones: Transforma e integra los datos fuentes y del almacenamiento intermedio en un modelo adecuado para la toma de decisiones.

    Gestiona el depsito de datos y lo organiza en torno a una base de datos multidimensional, que tal y como lo indica su nombre almacena los datos en diversas dimensiones, que conforman un cubo multidimensional, en donde el cruce de los valores de los atributos de cada dimensin a lo largo de las abscisas, determinan un hecho especfico. Los clculos que se aplican sobre las dimensiones son matriciales, los cuales se procesan dando como resultado reportes tabulares.

    Gestiona y mantiene metadatos.

    Base de datos multidimensional

    Las bases de datos multidimensionales, proveen una estructura que permite tener acceso flexible a los datos, para explorar y analizar sus relaciones, y resultados consiguientes. Estas se pueden visualizar como un cubo multidimensional, en donde las variables asociadas existen a lo largo de varios ejes o dimensiones, y la interseccin de las mismas representa la medida, indicador o el hecho que se esta evaluando. En la siguiente representacin matricial se puede ver ms claramente lo que se acaba de decir.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    44

    Cubo multidimensional

    Las bases de datos multidimensionales implican tres variantes posibles de modelado, que permiten realizar consultas de soporte de decisin:

    Esquema en estrella (Star Scheme). Esquema copo de nieve (Snowflake Scheme). Esquema constelacin o copo de estrellas (Starflake Scheme).

    Los mencionados esquemas pueden ser implementados de diversas maneras, que, independientemente al tipo de arquitectura, requieren que toda la estructura de datos este desnormalizada o semi desnormalizada, para evitar desarrollar uniones (Join) complejas para acceder a la informacin, con el fin de agilizar la ejecucin de consultas. Los diferentes tipos de implementacin son los siguientes:

    Relacional ROLAP Multidimensional MOLAP Hbrido HOLAP

    Tabla de dimensiones

    Las tablas de dimensiones definen como estn los datos organizados lgicamente y proveen el medio para analizar el contexto del negocio. Representan los ejes del cubo, y los aspectos de inters, mediante los cuales el usuario podr filtrar y manipular la informacin almacenada en la tabla de hechos. En la siguiente figura se pueden apreciar algunos ejemplos:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    45

    Tablas de dimensiones

    Como se puede observar, cada tabla posee un identificador nico y al menos un atributo que describe los criterios de anlisis relevantes de la organizacin, estos son por lo general de tipo texto. Usualmente la cantidad de tablas de dimensiones, aplicadas a un tema de inters en particular, varan entre tres y quince. As mismo, dentro de estas tablas pueden existir jerarquas11 de datos, adems, de acuerdo a las dimensiones del negocio, estar dada la granularidad que adoptar el modelo. Los datos dentro de estas tablas, que proveen informacin del negocio o que describen alguna de sus caractersticas, son llamados datos de referencia. Entonces, se puede afirmar que una tabla de dimensin posee una clave primaria y uno o ms datos de referencia.

    Dimensin Tiempo

    En un DW, la dimensin Tiempo es obligatoria, y la definicin de granularidad y jerarqua de la misma depende de la dinmica del negocio que se este analizando, toda la informacin dentro de la bodega, como ya se ha explicado, posee su propio sello de tiempo que determina la ocurrencia y ubicacin con elementos en iguales condiciones, representando de esta manera diferentes versiones de una misma situacin. Es importante tener en cuenta que el tiempo no es solo una secuencia cronolgica representada de forma numrica, sino que posee fechas especiales que inciden notablemente en las actividades de la organizacin. Esto se debe a que los usuarios podrn por ejemplo analizar las ventas realizadas teniendo en cuenta el da de la semana en que se produjeron, quincena, mes, trimestre, semestre, ao, etc. Existen muchas maneras de disear esta tabla, y en adicin a ello no es una tarea sencilla de llevar a cabo. Por estas razones se considera una buena prctica evaluar con cuidado la temporalidad de los datos, la forma en que trabaja la organizacin, los resultados que se esperan obtener del almacn de datos relacionados con una unidad de tiempo y la flexibilidad que se desea obtener de dicha tabla. Si bien, el lenguaje SQL ofrece funciones del tipo DATE, en la dimensin Tiempo, se modelan y presentan atributos temporales que no pueden calcularse en SQL, lo cual le aade una ventaja ms.

    Jerarquas

    Una jerarqua representa una relacin12 lgica entre dos o ms atributos dentro de una misma dimensin. Las jerarquas poseen las siguientes caractersticas

    Pueden existir varias en una misma dimensin.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    46

    Estn compuestas por dos o ms niveles. Se tiene una relacin 1-n entre atributos consecutivos de un

    nivel superior y uno inferior.

    Tablas de Hechos

    Las tablas de hechos contienen los hechos, medidas o indicadores que sern utilizados por los analistas de negocio para apoyar el proceso de toma de decisiones.

    Los hechos son datos instantneos en el tiempo, que son filtrados, agrupados y explorados a travs de condiciones definidas en las tablas de dimensiones.

    Los datos presentes en las tablas de hechos constituyen el volumen de la bodega, y pueden estar compuestos por millones de registros dependiendo de su granularidad y de los intervalos de tiempo de los mismos. Los ms importantes son los de tipo numrico.

    El registro del hecho posee una clave primaria que est compuesta por las claves primarias de las tablas de dimensiones relacionadas a este.

    Query Manager

    Query Manager

    Este componente realiza las operaciones necesarias para soportar los procesos de gestin y ejecucin de consultas relacionales, tales como Join y agregaciones, y de consultas propias del anlisis de datos, como drill-up y drill-down. Query Manager recibe las consultas del usuario, las aplica a las tablas correspondientes y devuelve los resultados obtenidos. Cabe aclarar que una consulta a un DW, generalmente consiste en la obtencin de medidas o indicadores a partir de datos de una tabla de hechos, restringidas por las propiedades o condiciones de las dimensiones seleccionadas. Las

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    47

    operaciones que se pueden realizar sobre modelos multidimensionales y que son las que verdaderamente les permitirn a los usuarios explorar y desmenuzar los datos en busca de respuestas, son:

    Drill-down: Permite apreciar los datos en un mayor detalle, bajando por la jerarqua de una dimensin. Esto brinda la posibilidad de introducir un nuevo nivel o criterio de agregacin en el anlisis, disgregando los grupos actuales.

    Drill-up: Permite apreciar los datos en menor nivel de detalle, subiendo por la jerarqua de una dimensin. Esto brinda la posibilidad de quitar un nivel o criterio de agregacin en el anlisis, agregando los grupos actuales.

    Drill-across: Es muy similar al funcionamiento de drill-down, con la diferencia de que drill-across no se realiza sobre jerarquas de una dimensin, sino que su forma de ir de lo general a lo especfico es agregar como nuevo criterio de anlisis una nueva dimensin.

    Roll-across: Es muy similar al funcionamiento de drill-up, con la diferencia de que roll-across no se hace sobre jerarquas de una dimensin, sino que su forma de ir de lo especfico a lo general es quitar un criterio de anlisis eliminando de la consulta una dimensin.

    Pivot: Permite seleccionar el orden de visualizacin de las dimensiones, con el objetivo de analizar la informacin desde diferentes perspectivas.

    Page-Slice: Presenta el cubo dividido en secciones, a travs de los valores de una dimensin, como si se tratase de pginas de un libro.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    48

    Herramientas de Consulta y Anlisis

    Herramientas de Consulta y Anlisis

    Las herramientas de consulta y anlisis son sistemas que permiten al usuario realizar la exploracin de datos del DW. Bsicamente constituyen el nexo entre el depsito de datos y los usuarios. A travs de una amigable interfaz grfica y una serie de simples pasos, el usuario genera consultas que son enviadas desde la herramienta de consulta y anlisis al Query Manager, este a su vez realiza la extraccin de informacin al DW Manager y devuelve los resultados obtenidos a la herramienta que se los solicit. Luego, estos resultados son expuestos ante el usuario en formatos que le son familiares. Este proceso se puede comprender mejor al observar la siguiente figura:

    El mismo, se lleva a cabo a travs de seis pasos sucesivos:

    1. El usuario selecciona o establece que datos desea obtener del DW, mediante las interfaces de la herramienta que utilice.

    2. La herramienta recibe el pedido del usuario, construye la consulta y la enva al Query Manager.

    3. El Query Manager ejecuta la consulta en las tablas del DW. 4. El Query Manager obtiene los resultados de la consulta. 5. El Query Manager enva los datos a las herramientas de

    consulta y anlisis. 6. Las herramientas presentan al usuario la informacin requerida.

    Una de las principales ventajas de utilizar estas herramientas, es que los usuarios no se tienen que preocupar por conocer cual es la estructura de los datos, solo se deben enfocar en el anlisis. Existen diferentes tipos de herramientas de consulta y anlisis, y de acuerdo a la necesidad, tipos de usuarios y requerimientos del negocio, se debern seleccionar las ms propicias al caso. Entre ellas se destacan las siguientes:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    49

    Reportes y Consultas OLAP Data Mining EIS

    Reportes y Consultas

    Se han desarrollado varias herramientas para la produccin de consultas y reportes, que ofrecen a los usuarios, a travs de pantallas grficas intuitivas, la posibilidad de generar informes avanzados y detallados del rea de inters del negocio que se este analizando. El usuario solo debe seguir una serie de simples pasos, como por ejemplo seleccionar opciones de un men, presionar tal o cual botn para especificar los elementos de datos, sus condiciones, criterios de agrupacin y dems atributos que se consideren significativos.

    OLAP

    El procesamiento analtico en lnea OLAP (On Line Analytic Processing), es la componente ms poderosa de los DW, ya que es el motor de consultas especializado de la bodega.

    Las herramientas OLAP, son una tecnologa de software para anlisis en lnea, administracin y ejecucin de consultas, que permiten inferir informacin del comportamiento del negocio.

    Su principal objetivo es el de brindar rpidas respuestas a complejas preguntas, para interpretar la situacin del negocio y tomar decisiones. Cabe destacar que lo que es realmente interesante en OLAP, no es la ejecucin de simples consultas tradicionales, sino la posibilidad de utilizar operadores tales como drill-up, drill-down, etc, para explotar profundamente la informacin.

    Adems, a travs de este tipo de herramientas, se puede analizar el negocio desde diferentes escenarios histricos, y proyectar como se ha venido comportando y evolucionando en un ambiente multidimensional, o sea, mediante la combinacin de diferentes perspectivas, temas de inters o dimensiones. Esto permite deducir tendencias, por medio del descubrimiento de relaciones entre las perspectivas que a simple vista no se podran encontrar sencillamente.

    Usuarios

    Los usuarios que posee el DW son aquellos que se encargan de tomar decisiones y de planificar las actividades del negocio, es por ello que

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence

    50

    se hace tanto nfasis en la integracin, limpieza de datos, etc, para poder conseguir que la informacin posea toda la calidad posible.

    Es a travs de las herramientas de consulta y anlisis, que los usuarios exploran los datos en busca de respuestas para poder tomar decisiones proactivas.

    Referencias y recursos

    1. DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos HEFESTO: Metodologa propia para la Construccin de un Data Warehouse Ing. Bernabeu, Ricardo Daro -Instituto Universitario Aeronutico- Noviembre de 2007

  • Segunda Parte: Desarrollo BI-FLOSS

  • Captulo I: Modelo Multidimensional

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    55

    Planteo del caso

    El Sistema GON agrupa mltiples negocios, correspondientes a diferentes rubros, con sus correspondientes sucursales en diferentes zonas geogrficas. Los dueos o administradores de negocios tienen la capacidad de registrar los productos y promociones ofrecidas. Un Usuario Externo ingresa al sistema y realiza bsquedas de negocios o productos; los negocios son consultados por el UE quien en determinados casos efecta rdenes de productos. Para obtener una definicin ms amplia de la estructura y funcionamiento de GON, puede consultarse la seccin Inicio de la documentacin del proyecto[1].

    GON es un Sistema que posee cualidades que lo convierten en una fuente potencial de informacin estratgica para diferentes niveles de usuarios. Entre estos usuarios encontramos:

    1. Nivel dirigencial GON: para aquellos directivos involucrados en la explotacin del Sistema, resulta de vital importancia mantener una visin de cmo evoluciona y crece el conjunto de Negocios Adheridos desde diferentes perspectivas tales como:

    o Zona geogrfica de los negocios que se adhieren. o Rubros o rama comercial de los negocios. o Perodo temporal en que se adhieren los negocios.

    2. Nivel dirigencial de Negocios Adheridos: estos encuentran esencial obtener una nocin detallada acerca del funcionamiento de sus negocios a partir del momento en que se han convertido en parte del compendio de negocios que comprende GON. La informacin ser referente a cmo variaron los productos vendidos desde diversas perspectivas, entre ellas:

    o Clientes que realizan pedidos o Perodo temporal o Tipos o marcas de los productos pedidos o Sucursal que recibe el pedido.

    3. Nivel directivo de grandes marcas y productos: la informacin relevante estar relacionada con la forma con que sus productos son pedidos, teniendo en cuenta perspectivas significativas como:

    o Zona geogrfica o Informacin del consumidor o comprador o Detalle y descripcin de productos o Perodo temporal en que los productos son pedidos

    Para desarrollar el caso prctico, se seleccion el nivel dirigencial de Negocios Adheridos. Los directivos de negocios adheridos necesitan responder a preguntas tales como:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    56

    Que cantidad de productos han sido vendidos por una sucursal?

    Por qu monto un negocio ha efectuado ventas en un lapso determinado?

    En que medida influye la ubicacin geogrfica de las sucursales en las ventas?

    Cmo han evolucionado las ventas de una sucursal en diferentes perodos?

    Cmo influye la edad, el sexo y la ubicacin de los clientes en adquisicin de diferentes productos?

    Estructura del OLTP Se observa a continuacin el Diagrama Entidad Relacin del OLTP GON.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    57

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    58

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    59

    Diagrama Entidad-Relacin de GON

    En la imagen anterior observamos resaltadas el diagrama completo de entidades. A continuacin se ofrecen secciones del mismo diagrma, dnde se pueden apreciar entidades referentes a productos, sucursales y clientes:

    Productos

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    60

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    61

    Entidades propias de productos

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    62

    Sucursales

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    63

    Entidades relacionadas a sucursales

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    64

    Clientes

    1 Entidades referentes a clientes

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    65

    Indicadores del Negocio (KPIs)

    Monto total de las ventas Cantidad de productos vendidos

    Dimensiones de la Base de Datos Multidimensional

    1. Sucursales: Los productos ordenados por los clientes varan en funcin de las distintas sucursales de los Negocios Adheridos.

    2. Clientes: Los productos ordenados varan en funcin de los distintos clientes.

    3. Tiempo: Los pedidos de un producto varan en funcin de los distintos espacios temporales.

    4. Productos: La orden de un producto vara en funcin de sus caractersticas.

    5. Estado de orden: Las rdenes pueden presentar dos estados opuestos: Concretada/Finalizada o Cancelada. Lo cual afecta el anlisis final de los indicadores.

    Tablas de la Base de Datos Multidimensional

    lookup_branches lookup_clients lookup_products lookup_time

    Atributos de las Tablas de la Base de Datos Multidimensional lookup_branches

    branch_id name legal_name legal_id category heading since_date continent country state city zone

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    66

    street street_number floor_number apartment_number zipcode email phonenumber fax

    Dimensin Sucursales lookup_clients

    cliente_id username name last_name registration_date gender birthdate continent country state city zone street street_number

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    67

    floor_number apartment_number email phonenumber

    Dimensin Clientes lookup_products

    product_id name category heading product_type product_type_description general_description particular_description busiens_description branch_seller_id brand brand_nationality

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    68

    Dimensin Productos lookup_time

    year quarter month month_name week weekday weekday_name

    Dimensin Tiempo lookup_orderstate

    state

    Esta ltima dimensin ser implementada como una dimensin degenerada[2]; al no presentar demasiada complejidad jerrquica, y slo contar con dos miembros en su nivel raz, se aadir como campo a la tabla de hechos.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    69

    Definicin de la tabla de hechos y atributos

    Nombre: orders_fact Medidas:

    1. Nmero de pedidos 2. Monto en dinero total de pedidos

    Tabla de hechos

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    70

    Definicin del esquema estrella para el modelo multidimensional

    Esquema Estrella

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    71

    Definicin de los cubos multidimensionales necesarios

    Se define el cubo rdenes cuya tabla de hechos es orders_fact, y sus dimensiones junto a jerarquas, niveles y propiedades se listan a continuacin:

    Dimensin tiempo

    Dimensin y jerarquas tiempo Dimensin sucursales

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    72

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    73

    Dimensin y jerarquas de sucursales Dimensin cliente

    Dimensin y jerarquas de clientes Dimensin producto

    Dimensin y jerarquas de productos Dimensin estado de orden

    Dimensin y jerarquas de estado de orden

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional

    74

    Referencias y Recursos

    1. Seccin inicio del libro Gua de Negocios Online. Trabajo Final de Pre-Grado de Almeida, Rodrigo - Heredia, Mariano. Abril de 2008

    2. Ver Seccin Servidor OLAP de la parte Desarrollo

  • Captulo II: BigPicture

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Big Picture

    77

    Antes de dar inicio al desarrollo del presente trabajo se ilustrarn las etapas involucradas[1], junto a las herramientas utilizadas en cada una de ellas. En el diagrama las etapas son ubicadas desde abajo hacia arriba de acuerdo a los productos obtenidos; en un nivel dado sern utilizadas como inputs o entradas las salidas o outputs de niveles inferiores.

    BigPicture - Un panorama general

    Modelo de Negocio: se obtendrn los lineamientos generales para llevar a cabo los pasos posteriores junto a su secuencia. Representa slo un modelo conceptual como gua a lo largo del desarrollo.

    Load Manager (E.T.L.): se generar la base de datos del Data Warehouse y en ella se depositarn lo datos integrados provenientes de fuentes OLTP.

    Servidor OLAP: en base a las tablas dimensionales y de hechos, se construirn los cubos multidimensionales que podrn ser consultados mediante sentencias MDX.

    Reportes y consultas: utilizando la fuente de datos OLAP y consultas MDX se crearn los reportes pertinentes.

    Servidor de Business Intelligence: los reportes generados sern alojados en un servidor centralizado accesible para los usuarios involucrados. Desde estos servidores se podrn crear anlisis olap descriptos mediante sentencias MDX.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Big Picture

    78

    Servidores de Anlisis Olap: Desde estos se podr ejecutar los anlisis generados anteriormente. La ejecucin de estos anlisis permiten la interaccin por parte del usuario, realizando operaciones de Query Manager como drill-down, pivot, slice, page, etc.

    Referencias y recursos

    Ver Parte Conceptos Previos de Inteligencia de Negocios

  • Captulo III: Integracin de Datos[1]

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Integracin de Datos

    81

    El diagrama general del desarrollo de BI-FLOSS servir para tener una idea de los temas a desarrollar:

    Temas a desarrollar

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Integracin de Datos

    82

    Introduccin

    En la siguiente seccin se llevarn a cabo las transformaciones necesarias para poblar el Data Warehouse y se brinda una descripcin de las herramientas y pasos involucrados en el proceso. Como mtodo para el diseo conceptual, se utiliza el Modelado Dimensional de la seccin anterior[2], mientras que para el diseo lgico y fsico se utilizan las herramientas brindadas por las Suite Pentaho BI Project[3] y JasperSoft [4] (Talend[5]). Con cada herramienta se llevarn a cabo las actividades necesarias para obtener la misma Base de Datos del Data Warehouse, documentando los principales pasos involucrados. Al final de esta seccin se ofrece una tabla comparativa de las caractersticas ms importantes de ambas herramientas.

  • Trabajando con Kettle

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    85

    Licencia

    Kettle (Pentaho Data Integration) se licencia bajo Pentaho Public Licence[1].

    Versin Utilizada

    Pentaho Data Integration 3.0 RC1

    Descripcin general

    Kettle (Kettle E.T.T.L. Environment) es una herramienta de Extraccin, Transformacin, Transporte y Carga (Load) de datos, orientada a metadatos de la suite de Business Intelligence Pentaho. En simples palabras, es la herramienta utilizada para la carga de un Data Warehouse. Kettle, esta compuesto por un conjunto de herramientas que le permiten manipular datos provenientes de diversas fuentes de datos. Estas son:

    Spoon: Herramienta grfica destinada a disear transformaciones y trabajos. La herramienta permite al usuario describir que es lo que se quiere hacer y no como hacerlo (diseo de SW de 4ta generacin).

    Pan: Interpreta y ejecuta transformaciones diseadas con Spoon.

    Kitchen: Interpreta y ejecuta trabajos diseados con Spoon.

    Spoon

    Spoon es la herramienta grfica que permite disear transformaciones (transformations) y trabajos (jobs). Esta facilita en gran medida el desarrollo de los procesos ETTL, ya que mediante un conjunto de pasos se puede fcilmente definir como se quieren realizar las transformaciones y ejecutarlas mediante trabajos.

    Antes de introducirse en las caractersticas de Spoon, es menester resaltar la diferencia entre transformaciones y trabajos:

    Transformaciones: Estn relacionadas con el movimiento y modificacin de datos desde una fuente origen, a un destino de datos.

    Trabajos: Representan tareas de alto nivel. Cada entrada del trabajo puede ser, por ejemplo, ejecutar una transformacin, enviar un correo electrnico, subir un archivo va ftp, etc.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    86

    Spoon est destinado a la creacin de transformaciones y trabajos los cuales sern almacenados en formato XML o en un repositorio Kettle. El repositorio no es ms que una base de datos relacional, por lo que, para almacenar u obtener una transformacin se debe previamente establecer una conexin con el mismo.

    Definiciones

    Como paso previo para disear transformaciones y trabajos, es preciso introducir las definiciones de los elementos que involucran:

    Transformaciones

    Valor (Value): un valor es parte de una fila, y puede ser cualquier tipo de dato.

    Fila (Row): en una fila existen 1 o ms valores. Flujo de Salida (Output Stream): una coleccin de filas

    como producto de un paso dado. Flujo de Entrada (Input Stream): una coleccin de filas que

    ingresa en un paso dado. Salto (Hop): es una representacin grfica del flujo de datos

    entre dos pasos. Siempre representa un flujo de salida de un paso y un flujo de entrada en otro paso.

    Nota (Note): informacin adicional de una transformacin.

    Trabajos

    Entrada del trabajo (Job Entry): es una parte del trabajo y lleva a cabo una transformacin.

    Salto (Hop): representacin grfica de uno o ms flujos de datos entre dos pasos. Representa el enlace entre dos entradas del trabajo y puede ser asignado (dependiendo del tipo de trabajo origen) para ejecutar la prxima entrada del trabajo de forma incondicional, despus de una ejecucin exitosa o fallida.

    Nota (Note): informacin adicional del trabajo.

    Nota: Para informacin detallada de Spoon, u otro componente de Kettle o Pentaho, leer el manual correspondiente que acompaa a cada producto.

    GUI: Descripcin general

    En la siguiente imagen se observan los principales componentes que se encuentran en la herramienta Spoon.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    87

    Vista general de Spoon

    A continuacin se observa con mayor detalle los elementos principales que componen la transformacin o trabajo que se estn editando (en este caso una transformacin). Los elementos principales de este rbol son:

    Las distintas conexiones a bases de datos que se usan en la transformacin.

    Los distintos pasos que conforman la transformacin. Los distintos saltos que unen los pasos de la transformacin.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    88

    rbol principal

    Esta imagen muestra los distintos pasos que pueden seleccionarse para incluirse en la transformacin. Spoon organiza estos pasos en base a la funcin que cumplen. Por ejemplo los pasos relacionados con lectura de datos de alguna fuente son agrupados bajo la categora Input. En la ultima parte de la imagen puede apreciarse la seccin Favorite steps en donde se agrupan los pasos mas usados, esto permite al usuario ahorrar tiempo al seleccionar los pasos que desea incluir en una transformacin.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    89

    Objetos

    Pan

    Como ya se menciona anteriormente, permite ejecutar transformaciones diseadas por Spoon desde un repositorio o un archivo XML. Pan no posee una interfaz grfica que permita al usuario ejecutar las transformaciones, sino que deben ejecutarse mediante una lnea de comandos. Spoon facilita el trabajo ya que una vez definida una transformacin, puede ser ejecutada directamente desde all. Adems de ejecutar transformaciones, Pan, permite planificarlas para que se ejecuten segn las necesidades del usuario. Las transformaciones pueden ser ejecutadas desde un archivo o un repositorio:

    Ejemplo desde un archivo:

    pan.sh -file="/gon/branchesTransformation.ktr" -level=Minimal

    Ejemplo desde un repositorio:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    90

    pan.sh -rep="SpoonRep" -trans="branchesTransformation" -dir="/dimensions/" -user="username" -pass="somepassword" level="Minimal"

    Kitchen

    Kitchen permite ejecutar trabajos diseados por Spoon desde un repositorio o un archivo XML. Al igual que Pan, Kitchen no posee una interfaz grfica que permita ejecutar trabajos, sino que deben ejecutarse desde una lnea de comandos. Spoon facilita esta tarea permitiendo ejecutar los trabajos que estn siendo diseados desde la GUI. Kitchen tambin posee la capacidad de planificar la ejecucin de trabajos, para ello por ejemplo (en Unix), puede crearse un Script que ejecute el trabajo y planificar su ejecucin con Cron[2]. Un trabajo puede ser ejecutado desde un archivo o un repositorio, por ejemplo:

    Desde un archivo:

    kitchen.sh -file=/gon/generateDimensions.kjb -level=Minimal

    Desde un repositorio:

    kitchen.sh -rep="SpoonRep" -job="generateDimensions" -dir="/" user="username" pass="somepassword" -level="Minimal"

    Diseando Transformaciones

    Introduccin

    Las transformaciones son diseadas con el objetivo de generar y poblar un Data Warehouse. Para ello se deben obtener los datos de las fuentes OLTP para transformarlos y cargarlos en el DW.

    Spoon provee una serie de pasos que permiten obtener los datos a transformar (por ejemplo desde archivos de texto, tablas de bases de datos), cmo procesarlos y a dnde desean ser colocados. Una vez que los pasos son seleccionados, estos pueden ser relacionados entre s creando una secuencia de acciones que representan los pasos a seguir en la transformacin. A continuacin se presenta como llevar a cabo estas tareas con Spoon.

    Creando el repositorio Spoon

    Antes de que se puedan realizar transformaciones o trabajos en kettle es necesario definir como se quieren almacenar. Kettle provee

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    91

    dos formas; una mediante archivos XML donde se definen las transformaciones y trabajos; la otra mediante la creacin de un repositorio en una base de datos donde se encuentran los metadatos de las transformaciones y trabajos. Para el presente trabajo se utiliz un repositorio, al ser considerada la forma ms adecuada, pues facilita el trabajo en equipo y adems brinda la seguridad y estabilidad de un motor de base de datos relacional.

    La primera vez que se ingresa a Spoon debe definirse que repositorio ser utilizado (en caso de no existir uno, debe ser creado). Para ello, primero se debe crear una base de datos para usar como repositorio (en este trabajo se utiliz una base de datos PostgreSQL). Una vez creada, se define una conexin con la base de datos (remota o local) en donde sern almacenados los metadatos. Por ltimo, una vez definida la conexin, se debe indicar a Spoon que cree la estructura en la base de datos para poder almacenar los metadatos.

    En la imagen se aprecia la pantalla de Spoon donde se ingresa el repositorio al que se desea conectar.

    Conexin a un repositorio kettle

    Creando una transformacin

    Como ejemplo, se describir la secuencia de pasos para crear la transformacin para generar la tabla representativa de la Dimensin Tiempo: Time Transformation.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    92

    Una vez creado y conectado al repositorio, se puede comenzar a disear una transformacin o un trabajo. Lo primero que se debe hacer antes de comenzar el diseo, es definir y elegir los pasos (steps) que estarn involucrados y como van a interactuar entre s mediante saltos (hops). Por ltimo se debe especificar, para cada uno de los pasos, las opciones y comandos necesarios para llevar a cabo la transformacin.

    La dimensin que se disear ser la de Tiempo. Esta es una dimensin que debe estar en todo data warehouse. Su estructura es la siguiente:

    lookup_time o year o quarter o month o month_name o week o weekday o weekday_name

    Con seguridad, existen diversos modos de generar una tabla que represente la dimensin tiempo, en este caso el proceso fue elaborado integralmente por el grupo, sin saber hasta el momento si existe forma predefinida o ms eficiente. Se asume la existencia de un proyecto configurado. Se procede con la creacin en el repositorio de una nueva transformacin.

    En la imagen se observan los pasos involucrados en la transformacin, en la cual se crea la dimensin tiempo del Data Warehouse.

    Transformacin tiempo

    A continuacin se explica con mayor detalle cada uno de los pasos involucrados en la transformacin.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    93

    Generate Rows: Generador de filas

    Este paso genera como salida un nmero determinado de filas, adems permite especificar los datos que componen la fila, y opcionalmente asignarle un valor. En el caso de esta transformacin se generan 3660 filas que equivalen a la cantidad de das en 10 aos. Cada una de estas filas generadas posee dos valores.

    initial_date: Especifica la fecha a partir de la cual se desea empezar a generar das hasta llegar a 10 aos. Este valor ser utilizado mas adelante por el paso Modified Java Script Value.

    localeParam: Es un parmetro que indica la localidad de la fecha que se esta generando, esto, por ejemplo, brinda mayor flexibilidad a la hora de volver a generar la dimensin tiempo en otro idioma. Este valor ser utilizado mas adelante por el paso Modified Java Script Value.

    A continuacin se observa como realizar lo descrito anteriormente en Spoon (Para ello se debe editar el paso):

    Configuracin Generate Rows

    Unin de componentes: Hops

    Cuando se definen transformaciones, se debe definir la secuencia de pasos que sern ejecutados. Para ello, se definen Hops, que representan la unin de un componente con otro permitiendo relacionarlos. Cuando dos componentes se relacionan mediante Hops, el componente destino recibe los datos del componente previo, lo que permite transformar los datos a medida que se ejecutan distintos pasos de la transformacin.

    Para crear un Hop entre dos pasos se pueden seleccionar los dos componentes que se quieren unir y desde su men contextual seleccionar la opcin New hop. Otra posibilidad es crearlo directamente del rbol de componentes, para ello se debe desplegar

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    94

    el men contextual de la rama Hops y seleccionar New Hop. A continuacin se observa el asistente de esta configuracin.

    Creacin de un nuevo Hop

    En la imagen se observa como se realiza la unin entre el paso Generate Rows (origen) y Add sequence (destino).

    Add Sequence: Secuencia

    Este paso permite generar una serie de enteros definiendo un valor de inicio y el incremento. Los pasos que requieran el uso de una secuencia, utilizarn como entrada un paso add sequence. Adems permite obtener secuencias almacenadas en una base de datos o auto generarlas. Para este caso se especifica que la secuencia comience en 1, se incremente de a 1 y que Kettle la genere (cada valor de la secuencia representa un da). La secuencia se incrementara hasta la cantidad de filas generadas por el paso anterior, por lo que tendr como mximo 3660 valores.

    A continuacin se observa como configurar estos valores con Spoon:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    95

    Configuracin Add Sequence

    Modified Java Script Value: Java y Java Script

    Este paso permite utilizar cdigo Java Script en una transformacin. Kettle utiliza el motor de Java Script Rhino[3] el cual permite el uso de clases Java en el cdigo Java Script. Esto representa una gran ventaja ya que se puede aprovechar la potencia de un lenguaje como Java en las transformaciones. El Cdigo contenido en este paso ser ejecutado para cada una de las filas generadas por el paso anterior. Dentro del Cdigo se puede hacer referencia a los valores que vienen de los pasos anteriores, procesarlos y generar una nueva salida para los pasos siguientes.

    A continuacin se observa el cdigo para generar los distintos datos necesarios para la dimensin tiempo:

    Se crea una variable de tipo Locale[4], la cual se inicializa con el parmetro obtenido del paso 1, luego se crea un objeto de tipo calendario gregoriano (GregorianCalendar[5]) que se inicializa con la variable de localidad definida anteriormente. Una vez inicializado el calendario, se asigna la fecha de inicio (obtenida en el paso 1); Luego se debe incrementar de uno en uno el da para generar las distintas fechas que se requieren. Para ello se agregan al calendario das, los cuales se irn incrementando en base a la secuencia definida en el paso 2.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    96

    Cdigo: Datos dimensin tiempo var locale = new java.util.Locale(localeParam.getString()); var calendar = new java.util.GregorianCalendar(locale); calendar.setTime(initial_date.getDate()); calendar.add(calendar.DAY_OF_MONTH,DaySequence.getInteger() - 1);

    Cuando se tiene definido el calendario, se obtiene la fecha, para luego asignarla a una variable de tipo Date[6], luego se define una variable de tipo SimpleDateFormat[7], la cual se usar para obtener los distintos datos necesarios de la fecha. En base a lo definido en la estructura de la dimensin tiempo, se utiliza la variable SimpleDateFormat[7] para obtener los distintos valores.

    Cdigo: Datos dimensin tiempo var date = new java.util.Date(calendar.getTimeInMillis()); var simpleDateFormat = java.text.SimpleDateFormat("y",locale); var year = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("MMMM",locale); var month = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("MM",locale); var monthNumber = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("w",locale); var weekInYear = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("W",locale); var weekInMonth = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("d",locale); var dayInMonth = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("EEEE",locale); var dayInWeek = simpleDateFormat.format(date); var dayInWeekNumber = calendar.get(calendar.DAY_OF_WEEK);

    Por ltimo se debe identificar los diferentes trimestres del ao. Para ellos se comprueban los nmeros de cada mes; segn cual sea el nmero se aade a la variable quarter_name el nmero de trimestre. Esto se realiz de esta manera ya que la clase de Java SimpleDateFormat[7] no posee una forma de manejar los distintos trimestres del ao.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    97

    Cdigo: Datos dimensin tiempo var quarter_name = "Q"; var quarter_number; switch(parseInt(monthNumber)){ case 1: case 2: case 3: quarter_number = "1"; break; case 4: case 5: case 6: quarter_number = "2"; break; case 7: case 8: case 9: quarter_number = "3"; break; case 10: case 11: case 12: quarter_number = "4"; break; } quarter_name += quarter_number;

    Cada una de las variables definidas en el cdigo pueden ser utilizadas como entrada para los pasos siguientes, obviamente muchas de las variables no son necesarias, por lo cual, no sern incluidas en el paso siguiente. A continuacin se observa en la imagen como seleccionar en Spoon las variables que se desean usar en los pasos siguientes.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    98

    Configuracin Modified Java Script Value

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    99

    Select Values: Seleccin de valores

    Este paso recibe como entrada un flujo de datos sobre el cual pueden realizarse las siguientes acciones:

    Seleccionar los campos que se desea que estn disponibles para los siguientes pasos.

    Renombrar campos. Especificar el largo o la precisin de los campos.

    Para esta transformacin, el paso se utiliza para seleccionar que valores deben continuar al paso siguiente. A continuacin se observa en la imagen como realizar estas acciones con Spoon.

    Configuracin Select Values

    Table Output: Creacin de la tabla Lookup_Time

    Este paso permite almacenar datos en una tabla de una base de datos. Si la tabla no existe, Kettle brinda la posibilidad de crearla. Se configura el paso para que Kettle cree la tabla y la cargue con los valores recibidos de los pasos anteriores; adems, se especifica que, cada vez que se ejecute la transformacin se borren los datos existentes.

    A continuacin se observa como realizar esta configuracin con Spoon.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    100

    Configuracin Table Output

    Ejecutando la Transformacin

    Una vez que se han configurado todos estos pasos, la transformacin se encuentra en condiciones de ser ejecutada. Para ello se debe indicar a Spoon que ejecute la transformacin. A continuacin se observa como se ejecuta la transformacin en Spoon.

    Antes de comenzar con la ejecucin de la transformacin, pueden ser definidos ciertos valores de configuracin (en el caso de este trabajo se opta por dejar los valores por defecto). En la imagen se observa como llevarlo a cabo:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    101

    Configuracin de la ejecucin de la transformacin

    Una vez que comienza la ejecucin de la transformacin, Spoon brinda informacin detallada de la ejecucin de cada uno de los pasos y sus resultados. A continuacin se aprecia la pantalla de Spoon:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    102

    Informacin de ejecucin

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    103

    Creando la tabla de hechos: Orders Fact

    Consideraciones previas

    Antes de que se realice la transformacin que cree la tabla de hechos, se deben desarrollar las transformaciones que generen las dimensiones restantes (definidas en el modelo multidimensional). A continuacin se observan los diagramas de las transformaciones diseadas para obtener las tablas que representan estas dimensiones. Por cuestiones de alcance no se explican en detalle todos los pasos y configuraciones necesarias para realizar cada una de estas transformaciones.

    Transformacin que genera la dimensin Clientes

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    104

    Transformacin que genera la dimensin Sucursales

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    105

    Transformacin que genera la dimensin Productos

    Definicin del modelo y pasos realizados

    A continuacin se presentan las imgenes de las transformaciones llevadas a cabo para crear y cargar la tabla de hechos. Se decidi dividir la transformacin en dos ya que se encontraron ciertas dificultades y restricciones para generar la tabla de hechos con los pasos provistos por Kettle. Se considera que existen otras formas ms eficientes de realizar esta transformacin pero por la razn antes mencionada se opta por la siguiente solucin:

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    106

    Transformacin que genera la tabla auxiliar de rdenes

    Transformacin que carga la tabla de hechos

    La primera imagen muestra la transformacin que se encarga de desnormalizar las rdenes de compra que se produjeron, agrupando las rdenes que realiz un cliente en un mismo da almacenndolas en una tabla. La segunda, ejecuta una sentencia SQL que cruza las dimensiones del modelo multidimensional con las rdenes desnormalizadas y agrupadas, para luego cargar estos datos en la tabla de hechos. A continuacin se explican los pasos involucrados en las transformaciones y como llevarlos a cabo en Spoon.

    Transformacin Orders Aux

    A continuacin se explica la transformacin encargada de generar la tabla auxiliar de rdenes.

    Table Input

    Este paso permite leer informacin desde una base de datos, para ello se debe especificar una conexin para que Kettle sepa de donde extraer los datos. Para obtener la informacin se debe especificar una sentencia sql o generar una mediante Spoon (consultas simples).

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    107

    A continuacin se observa como configurar este paso para obtener los datos de los negocios cargados en GON.

    Table input de negocios

    En este paso se ejecuta una sentencia SQL que obtiene los datos de los negocios cargados en GON. Una vez obtenidos, el flujo de datos puede ser utilizado como entrada para otro paso del proceso. En este caso se utilizan para cruzar la informacin de los negocios con el resto de las entidades involucradas.

    El resto de los pasos de este tipo utilizados en esta transformacin se encargan de obtener la informacin de las otras entidades involucradas. La configuracin utilizada en cada uno de estos pasos es similar a lo explicado anteriormente, con la diferencia de la sentencia SQL ejecutada.

    Join Rows (Cartesian Product)

    Este paso crea una combinacin (producto cartesiano) de todas las filas del flujo de datos entrante, en este caso se utiliza para combinar los datos de las distintas entidades de la transformacin; para limitar el nmero de filas resultantes, Kettle permite especificar condiciones que formarn el predicado de la sentencia sql.

    A continuacin se observa en la imagen como realizar este paso en Spoon.

  • IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle

    108

    Producto cartesiano de datos relacionados con rdenes de compra

    Esta imagen