Tuve la oportunidad como proyecto personal dentro del emprendimiento teahorrasx.com de probar jaspersoft etl, jaspersoft reporting y el server.
Escogí un problema sencillo para poder probar las funcionalidades y poder avanzar con un tiempo prudente para poder conocer los 3 servicios de Jaspersoft.
Objetivo
El objetivo es automatizar la extracción de los clientes suscritos al sitio web http://www.teahorrasx.com para el envío de ofertas y novedades.
El problema
- El proceso de extracción de clientes era manual, desde la interfaz de Opencart y no estaba automatizado para que los encargados del marketing tuvieran los informes a tiempo.
- Algunos clientes se guardan en otro sistema a parte, de facturación, del cual no se puede acceder directamente a la base de datos de un servidor, sino que se exportan por medio de excel.
Especificaciones del Sistema
- Jaspersoft Talend ETL Tool
- iReport 5.1
- Jaspersoft Server Local
- Opencart 2.1
- Quickbooks Online
Etapas
Planeación de ETL
Para la etapa de construcción de un ETL dividimos la documentación en 2 tipos de documentación importante al momento de la etapa ETL:
Documentación de requerimientos
En esta documentación se deben incluir toda la información necesaria para que un técnico o experto en las herramientas de construcción de procesos, los construya, debe ser enfocado en representar claramente cual es el problema, los retos, lo que se debe tomar en cuenta y no tanto paso a paso como se debe resolver, debe incluir aspectos como:
- Cual es el resultado que se espera, el objetivo del proceso.
- Direcciones especificas de carpetas de donde ser hará la extracción de los archivos, cualesquiera que sea su tipo.
- Nombre de base de datos y tablas a utilizar.
- Especificaciones sobre manejo de errores o de conversiones de tipo de datos.
- Periodicidad de ejecución.
- aspectos importantes a tomar en cuenta de la data con la que se trabajará.
Depende mucho de como se dividan los roles dentro de la organización si el que escribe los requerimientos, que podría ser el Analista de BI, especifique tambien paso a paso como resolver el problema o que solo sea una documentación a nivel de descripción de problemática y el técnico desarrolle entonces el plan para entregar lo solicitado.
Documentación Técnica
Esta documentación es la que será escrita por el que desarrolla el proceso, donde será enfocada en explicar la solución, puede incluir aspectos como:
- Función de cada uno de los controles utilizados para la manipulación de la data.
- Cualquier ciclo o subproceso que se utilizó dentro de la solución.
- Una descripción de como el proceso llena los requerimientos a cabalidad.
- Cualquier otro aspecto técnico como, plug-in extras que fueron utilizados, alguna actualización faltante, compatibilidad de versión, retos, observaciones etc.
Esta etapa puede tomar del 60% al 70% de tiempo.
Desarrollo del ETL:
- Generamos una conexion con la BBDD del servidor donde se hospeda el sitio web, en nuestro caso, la pagina web esta hospedada en un servidor compartido.

Generamos una conexión con la BBDD local donde estaremos almacenando los clientes exportados del servidor.

Un archivo fuente de excel, que almacena los clientes que de exportan del sistema de facturación Quickbooks

Unificamos las dos fuentes de información por medio de un control para unificar datos
Exportamos el proceso
Generamos su ejecución automática desde los servicios de Windows
Especificamos la periodicidad del mismo.
Etapa de Reporting
En esta etapa se debe tener documetación de indicadores que se quieren medir, esta etapa puede ser tan larga y compleja dependiendo del negocio, pues es aqui donde los Analistas del negocio y/o gerentes, intervienen para especificar los resultados que se quieren obtener por medio de reportes y se generan fórmulas, KPI’s que deben ser claramente indicados al departamento de tecnología que se encargará de generar las consultas SQL para satisfacer los requerimientos de información y presentación de la misma.

Se accede al Reporting Service
Pantallazo principal

Se crea la conexion con la BD, en este caso nos conectamos con la BD que acabamos de rellenar por medio del proceso de ETL anterior, para de ahi sacar la información de la cual queremos generar el reporte
Una vez nos conectamos a la BD, tendremos accesos a sus campos y por medio de consultas SQL generaremos el formato del reporte.

Aunque ya lógicamente las consultas y sus resultados están programados, visualmente debemos indicar como queremos mostrarlos, escogí una lista y escogí solamente los campos que quiero que se muestren una vez ejecute el reporte.
Como estamos en la etapa del diseño visual, podemos agregar Titulos y algunos datos del sistema como fecha de ejecución etc, el mismo sistema de reporte te los indica.

Presionamos en PREVIEW, que va a hacer que se ejecute el reporte.
Tenemos un preview del reporte que acabamos de diseñar.
Configuramos nuestra conexión con el servidor donde esta alojado nuestro Jaspersoft Server.

Esta etapa no es la que consume mas tiempo de todo el proyecto de BI, es muy técnica en el sentido de la construcción de los reportes, pero es muy análitica justo al inicio de la misma donde se deben decidir los KPI’s y el objetivo estratégico del dashboard.
Etapa de Despliegue de Datos
En esta etapa solo restaría especificar los usuarios del sistema y los accesos a sus respectivos informes.

Una vez que se tiene acceso a los reportes los puedes exportar directo de la interfaz

Conclusiones
El problema que se buscó resolver, puede tener varias estrategias para resolverlo o incluso, pudo haber sido simplemente la creación de un ETL que exportara directo a un excel y no teniamos que pasar por la etapa de reporting ni de despliegue de datos, pero no podríamos haber probado los componentes.
Tanto para la construcción de ese «mini sistema de Business Intelligence» como para la creación de este Blog, lo que mas tomó tiemop y esfuerzo fue la etapa de ETL y limpieza de datos, es muy necesario revisar los archivos fuentes, hacer inspecciones previas a la realización de la documentación, pues se debe tomar en cuenta muchos detalles para poder que se «limpie la data» lo mas que se pueda y que se almacene en la BD de la manera mas eficiente posible.
Esta etapa de ETL no es solo técnica, sino altamente estratégica.
Cabe destacar que no mencioné la parte de construcción y diseño de una Datawarehouse, pues para este caso tan sencillo, no fue necesario, aunque si se agregaron ciertas «medidas» al DW creado para almacenar la información de los clientes.






Deja un comentario