martes, 28 de abril de 2009

Pentaho

El proyecto Pentaho BI es una iniciativa en curso de la comunidad open source que provee a las organizaciones de las mejores soluciones de su clase para sus necesidades de inteligencia de negocios. Al aprovechar la riqueza de las tecnologías de código abierto y las contribuciones de la comunidad de desarrollo de código abierto, Pentaho es capaz de innovar mucho más rápido que los proveedores comerciales. Como resultado, Pentaho ofrece una alternativa de código abierto que supera a las soluciones de Business Intelligence propietarias en muchas áreas como arquitectura, soporte de estándares, funcionalidad y simplicidad de implantación. En otras palabras, no se espera que la gente la adopte sólo porque es de código abierto, se espera que la gente la escogerá porque es superior.
La solución Business Intelligence OpenSource Pentaho pretende ser una alternativa a las soluciones propietarias tradicionales más completas: Business Objects, Cognos, Microstrategy, Microsoft, etc… por lo que incluye todos aquellos componentes que nos podemos encontrar en las soluciones BI propietarias más avanzadas:


ETL: Kettle: Pentaho Data Integration
Se trata de la más reciente adquisición.

Kettle es un proyecto belga que incluye un conjunto de herramientas para realizar ETL(Extraccion, transformación y carga de datos). Uno de sus objetivos es que el proyecto ETL sea fácil de generar, mantener y desplegar.
Con Kettle (pentaho data integration) podemos realizar diversas tareas, entre ellas cabe resaltar:
• Soporte para cambiar, enlazar dimensiones y otras operaciones en el data warehouse.
• Exportar de bases de datos a ficheros u otras bases de datos.
• Importar en bases de datos ficheros en formato Excel o texto.
• Migración de datos entre diferentes bases de datos.
• Explotación de los datos existentes en bases de datos (tablas, vistas, sinónimos,…)
• Enriquecer la información mediante búsqueda de datos en diferentes almacenes de información (bases de datos, ficheros de texto, hojas Excel,…)
• Limpieza de datos aplicando transformaciones de datos con condiciones complejas.
• Integración de aplicaciones.
Transformacion: (sirve para mover, copiar, transformar datos, filas entre una fuente y un destino)
Trabajo: Coordinacion de Transformaciones, secuencialidad y paralelismo (Control de flujo, ejecutar transformaciones, enviar correos en caso de error,…)

Se compone de 4 herramientas:
- SPOON: permite diseñar de forma gráfica la transformación ETL.
- PAN ejecuta la transformaciones diseñadas con SPOON.
- CHEF permite, mediante una interfaz gráfica, diseñar la carga de datos incluyendo un control de estado de los trabajos.
- KITCHEN permite ejecutar los trabajos batch diseñados con Chef.



Reporting

La mayoría de las organizaciones utilizan reportes para registrar y visualizar análisis y resultados. Como consecuencia, los reportes son considerados una necesidad principal en Inteligencia de Negocio (IN). La unidad de reportes de Pentaho (Pentaho Reporting) permite a las organizaciones acceder, dar formato y distribuir fácilmente la información a empleados, clientes y asociados. Pentaho provee acceso a fuentes de datos relacionales, OLAP o basadas en XML, además de ofrecer varios formatos de salida como PDF, HTML, Excel o hasta texto plano. También permite llevar esta información a los usuarios finales vía web, e-mail, portales corporativos o aplicaciones propias.
Pentaho Reporting permite ir incrementando la plataforma de reportes a medida que las necesidades crecen.


El Pentaho Report Designer es una herramienta independiente que forma parte de la unidad de reportes de Pentaho (Pentaho Reporting), que simplifica el proceso de generación de reportes, permitiendo a los diseñadores de reportes crear rápidamente informes sofisticados y ricos visualmente basados en el proyecto de reportes de Pentaho JFreeReport.
El diseñador de reportes ofrece un entorno gráfico familiar, con herramientas intuitivas y fáciles de utilizar, y una estructura de reporte bastante acertada y flexible para darle libertad al diseñador de generar reportes que se adapten totalmente a su gusto y necesidad.



PENTAHO REPORT DESIGN WIZARD
El asistente de reportes de Pentaho Report Designer es una herramienta muy útil, que agiliza enormemente la creación de reportes a los usuarios.
Nos va guiando paso a paso por todas las etapas. Selección de plantillas, fuentes de datos, agrupaciones, publicación,…

Web ad-hoc reporting:
Es el similar a la herramienta anterior pero via web. Extiende la capacidad de los usuarios finales para la creación de informes a partir de plantillas preconfiguradas y siguiendo un asistente de creación. Esta incluido dentro del BI Plattform, la ventaja que tiene es que puede publicar el informe directamente, aunque cuenta como desventaja que no accede directamente a las fuentes de datos, sino que se apoya en metadato que hay que crear previamente.

Las características generales son:
• Proporciona funcionalidad crítica para usuarios finales como:
o Acceso vía web
o Informes parametrizados
o Scheduling
o Suscripciones
o Distribucíon (bursting)
• Proporciona claras ventajas a especialistas en informes:
o Acceso a fuentes de datos heterogeneos: relacional (vía jdbc), OLAP, XML.
o Capacidad de integración en aplicaciones o portales: jsp, portlet, web service.
o Definición modular de informes (distinción entre presentación y consulta)
• Diseño de informes flexible
o Entorno de diseño gráfico
o Capacidad de uso de templates
o Acceso a datos relacionaes, OLAP y XML
• Desarrollado para:
o Ser embebible
o Ser fácil de extender
o No consumir muchos recursos
o 100% Java: portabilidad, escalabilidad e integración
• Multiplataforma (tanto a nivel de cliente como servidor): mac, linux/unix y Windows

Analisys – Mondrian

OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical Processing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.
La razón de usar OLAP para las consultas es la velocidad de respuesta. Una base de datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es relativamente lenta. Un modelo mejor para búsquedas, aunque peor desde el punto de vista operativo, es una base de datos multidimensional.
Para obtener la funcionalidad de procesamiento analítico en línea (OLAP) se utilizan otras dos aplicaciones: el servidor OLAP Mondrian, que combinado con Jpivot, permiten realizar querys a Datamarts, que los resultados sean presentados mediante un browser y que el usuario pueda realizar drill down y el resto de las navegaciones típicas.
Mondrian, ahora rebautizado como Pentaho Analysis Services, es el motor OLAP integrado en la suite de Business Intelligence Open Source Pentaho.
Mondrian es un motor ROLAP con caché, lo cual lo sitúa cerca del concepto de Hybrid OLAP.
ROLAP significa que en mondrian no residen datos (salvo en la caché)
sino que estos residen en una Sistema de Gestion de Bases de Datos externo.
Es en esta base de datos en la que residen las tablas que conforman la
información multidimensional con la que mondrian trabaja (los modelos en
estrella de nuestros data marts por ejemplo). MOLAP es el nombre que
reciben los motores olap en los que los datos residen en una estructura
dimensonal.
Mondrian se encarga de recibir consultas dimensionales (lenguaje MDX)
y devolver los datos de un cubo, sólo que este cubo no es algo físico sino un
conjunto de metadatos que definen como se han de “mapear” estas consultas
que tratan conceptos dimensionales a sentencias SQL ya tratando con conceptos relacionales que obtengan de la base de datos la información necesario para satisfacer la consulta dimensional.
Algunas de las ventajas de este modelo son:
- El no tener que generar cubos estáticos ahorrando que cuesta generarlos y la memoria que ocupan
- La posibilidad de utilizar siempre los datos residentes en la base de datos, de forma que se trabaja con datos actualizados. Muy útil en entorno de BI operacional.
- Pese a que tradicionalmente los sistemas MOLAP tienen una cierta ventaja de rendimiento, la aproximación híbrida de Mondrian, el uso de caché y de tablas agregadas, hace que se puedan obtener muy buenos rendimientos con él, sin perder las ventajas del modelo ROLAP clásico. Es muy importante aprovechar bien las ventajas de la base de datos donde residen las tablas.

Pentaho Análisis suministra a los usuarios un sistema avanzado de análisis de información. Con uso de las tablas dinámicas (pivot tables, crosstabs), generadas por Mondrian y JPivot, el usuario puede navegar por los datos, ajustando la visión de los datos, los filtros de visualización, añadiendo o quitando los campos de agregación. Los datos pueden ser representados en una forma de SVG o Flash, los dashboards widgets, o también integrados con los sistemas de mineria de datos y los portales web (portlets). Además, con el Microsoft Excel Analysis Services, se puede analizar los datos dinámicos en Microsoft Excel (usando la conexión a OLAP server Mondrian).

Algunas cuestiones interesantes sobre Mondrian:
- Mondrian utiliza MDX como lenguaje de consulta, que no tendría nada de raro si no fuera porque fue un lenguaje propuesto por Microsoft.
- En noviembre de 2005 Mondrian se incorporó al proyecto Pentaho
- Mondrian funciona sobre las bases de datos estándar del mercado: Oracle, DB2, SQL-Server, MySQL... lo cual habilita y facilita el desarrollo de negocio basado en la plataforma Pentaho.
- JPivot está considerado con un “proyecto hermano” de Mondrian.
Al incorporarse Mondrian a Pentaho también lo ha hecho JPivot





Data Mining – Weka

La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos.
Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos.
Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción, clasificación y segmentación.
Por supuesto, qué sería de una aplicación de BI sin Data Mining. Para tal fin, Pentaho incorporo la tecnología WeKa.
Weka es una herramienta extensible e integrable que incluye herramientas para realizar transformaciones sobre los datos, tareas de clasificación, regresión, clustering, asociación y visualización.
El paquete Weka contiene una colección de herramientas de visualización y algoritmos para análisis de datos y modelado predictivo, unidos a una interfaz gráfica de usuario para acceder fácilmente a sus funcionalidades. La versión original de Weka fue un front-end en TCL/TK para modelar algoritmos implementados en otros lenguajes de programación, más unas utilidades para preprocesamiento de datos desarrolladas en C para hacer experimentos de aprendizaje automático. Esta versión original se diseñó inicialmente como herramienta para analizar datos procedentes del dominio de la agricultura pero la versión más reciente basada en Java (WEKA 3), que empezó a desarrollarse en 1997, se utiliza en muchas y muy diferentes áreas, en particular con finalidades docentes y de investigación.

Razones a favor de Weka
Los puntos fuertes de Weka son:
• Está disponible libremente bajo la licencia pública general de GNU.
• Es muy portable porque está completamente implementado en Java y puede correr en casi cualquier plataforma.
• Contiene una extensa colección de técnicas para preprocesamiento de datos y modelado.
• Es fácil de utilizar por un principiante gracias a su interfaz gráfica de usuario.
Weka soporta varias tareas estándar de minería de datos, especialmente, preprocesamiento de datos, clustering, clasificación, regresión, visualización, y selección. Todas las técnicas de Weka se fundamentan en la asunción de que los datos están disponibles en un fichero plano (flat file) o una relación, en la que cada registro de datos está descrito por un número fijo de atributos (normalmente numéricos o nominales, aunque también se soportan otros tipos). Weka también proporciona acceso a bases de datos vía SQL gracias a la conexión JDBC (Java Database Connectivity) y puede procesar el resultado devuelto por una consulta hecha a la base de datos. No puede realizar minería de datos multi-relacional, pero existen aplicaciones que pueden convertir una colección de tablas relacionadas de una base de datos en una única tabla que ya puede ser procesada con Weka
Carencias de Weka
Un área importante que actualmente no cubren los algoritmos incluidos en Weka es el modelado de secuencias.



Cuadros de Mando

Estos paneles están formados por una serie de controles gráficos que permiten mostrar de forma rápida e intuitiva los marcadores principales del rendimiento del negocio de forma que en una pantalla podemos obtener medidas sobre el funcionamiento de la empresa. Actualmente no hay mucho soporte para la implementación de estos controles así que hay que hacer mucho trabajo a mano, pero en breve se esperan una serie de asistentes que permitan desarrollarlos de forma visual igual que el resto de las aplicaciones Pentaho
Los dashboards son un desarrollo propio de Pentaho. Recogen información de todos los componentes de la plataforma incluyendo aplicaciones externas, feeds RSS y páginas web. Incluyen gestión y filtrado del contenido, seguridad basada en roles y drill down. Pueden ser integrados en terceras aplicaciones, en portales o dentro de la plataforma Pentaho.
Para generar gráficos se apoyan en JFreeChart, una librería para generar los gráficos más comunes (2D, 3D, barras, líneas series temporales, Gantt...), interfaces para acceder a diferentes fuentes de datos, exportación a PNG, JPEG y PDF y soporte para servlets, JSPs, applets y aplicaciones clientes.

Todos los componentes del modulo Pentaho Reporting y Pentaho Análisis pueden formar parte de un Dashboard. En Pentaho Dashboards es muy fácil incorporar una gran variedad en tipos de gráficos, tablas y velocímetros (dashboard widgets) e integrarlos con los Portlets JSP, en donde podrá visualizar informes, gráficos y análisis OLAP.




Plataforma BI

La plataforma de Pentaho BI provee de servicion criticos incluyendo programación, seguridad, integración automatización y flujo de trabajo. Proporcionando habilidades a los usuarios finales de Pentaho y proveindo un lugar central para administrar y mantener el despliegue de la empresa BI.
• Integración con procesos de negocio
• Administra y programa reportes
• Administra seguridad de usuarios
PENTAHO BI OpenSource nos promete una gama de beneficios alentadores, haciendo mayor relieve en el costo, en la definición de estándares abiertos, en su flexibilidad, en sus funciones personalizadas y sobre todo en su arquitectura centrada en procesos, haciendo que las necesidades de la Inteligencia de Negocio sean atendidas con mayor facilidad.
Los WebServices son una característica fundamental de Pentaho. Las acciones, que son las tareas más sencillas y que constituyen una solución de Pentaho, pueden publicarse como WebServices. Pentaho utiliza como motor de WebServices Apache Axis, quedando los servicios descritos en el lenguaje de definición de servicios web WSDL.
Para entregar la información Pentaho se apoya en una infraestructura JMS para enviar correos electrónicos y Quartz, un scheduler opensource integrable en aplicaciones J2EE (de hecho necesita ser instanciado). También está anunciado un feed RSS propio, para posicionarse en el desktop.
El workflow de procesos de negocio
Pentaho es una herramienta de análisis integrado con un motor workflow de procesos de negocio capaz de generar informes en varios formatos.
Dos son los fundamentos del workflow de procesos de negocio: el motor de workflow Enhydra Shark y el estándar WPDL, auspiciado por la WorkFlow Management Coalition (WFMC), organismo que declara tener más de 300 empresas asociadas, incluyendo a las desconocidas IBM, Oracle, BEA, Adobe, SAP, TIBCO o SUN, por citar algunas de ellas. Dentro del proyecto Enhydra podemos encontrar también Enhydra JaWE, un editor de workflow XPDL, según las especificaciones de WfMC.
Componentes:
• Plataforma 100% J2EE, asegurando la escalabilidad, integración y portabilidad.
• Servidor: puede correr en servidores compatibles con J2EE como JBOSS AS, WebSphere, Tomcat, WebLogic y Oracle AS.
• Base de datos: vía JDBC, IBM DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, NCR Teradata, Firebird.
• Sistema operativo: no hay dependencia. Lenguaje interpretado.
• Lenguaje de programación: Java, Javascript, JSP, XSL (XSLT/XPath/XSL-FO).
• Interfaz de desarrollo: Java SWT, Eclipse, Web-based.
• Repositorio de datos basado en XML.
• Todos los componentes están expuestos vía Web Services para facilitar la integración con Arquitecturas Orientadas a Servicios (SOA).




Arquitectura

La personalización del despliegue de la plataforma Pentaho permite formar una arquitectura empotrada y solo manejable en componentes, motores, repositorios que se requiera de una configuración como:
• Motores de flujo de actividades, repositorios de flujos y repositorios de “runtime”
• Repositorios de Auditar
• Aplicaciones de integración
• Componentes de la interface del usuario
• Repositorio de soluciones y archivos de definición de soluciones

Pentaho está construído en torno al servidor de aplicaciones J2EE JBoss y Jboss Portal

Pentaho Data Integration, Pentaho Design Reporting, Weka, Mondrian Son herramientas que perfectamente pueden utilizarse por separado y de forma totalmente independiente de Pentaho, tanto esa asi que Pentaho data integration y Weka no están integradas en la BI platform