Inicio
 > Informes e investigaciones > Blog de TEC > Inteligencia empresarial de código abierto: la e...

Inteligencia empresarial de código abierto: la evolución silenciosa

Escrito por: Anna Mallikarjunan
Publicado: febrero 4 2009

<

En el ambiente económico actual, las organizaciones deben revisar y racionalizar sus gastos asociados con software empresarial. Como consecuencia directa, los sistemas de inteligencia empresarial (BI[1]) de código abierto están emergiendo como opción importante tanto en nuevas implementaciones como en las ya existentes. A pesar de que la mayoría de las investigaciones de analistas indican que su evolución ha sido subestimada hasta ahora, los sistemas BI de código abierto están creciendo rápidamente. Se ha probado ya, que las soluciones BI de código abierto se complementan y se integran muy bien con los ambientes tradicionales de BI. Con toda razón, los vendedores de BI de código abierto ofrecen tecnologías competitivas y presentan la ventaja irrefutable de minimización de costos.

El termino "software de código abierto" es con frecuencia interpretado como "acceso libre a la fuente del código." Sin embargo, el alcance de los sistemas de código abierto se ha ampliado considerablemente. Con frecuencia se habla de "copyleft"[2] cuando se refiere a las licencias de código abierto. Estas licencias están sujetas a las regulaciones definidas por Open Source Initiative (OSI), las cuales indican que los sistemas de código abierto no deben discriminar otros grupos de software o tecnología, y deben ser de distribución libre.

Este tipo de software puede ser modificado, pero la redistribución de licencias modificadas pueden estar condicionadas; por ejemplo, las licencias pueden requerir que los cambios se den por medio de archivos de procesamiento por lotes (batch files) en lugar de integrarlos al código original, para proteger la integridad del trabajo del autor original. El más conocido de los sistemas de código abierto es el conjunto de soluciones LAMP, el cual esta compuesto por el sistema operacional Linux, el servidor Apache hypertext transfer protocol (HTTP), el sistema de gestión de base de datos MySQL y lenguajes de programación incluyendo PHP, Perl, y Python.

Código abierto e inteligencia empresarial: la tendencia común

"Aplicaciones de código abierto" es el termino que describe los sistemas construidos usando un software de código abierto bajo marcos de trabajo o librerías. A pesar de que las licencias de copyleft no permiten a las organizaciones revender sistemas desarrollados con software de código abierto, están saliendo mecanismos como modelos de licencias duales, a través de los cuales los vendedores comerciales pueden sacar al mercado sus sistemas bajo una licencia de la comunidad siguiendo las regulaciones de las licencias de código abierto para ofrecer licencias comerciales con un costo asociado. Los proveedores pueden cambiar usuarios por servicios tales como, soporte, capacitación, consultoría y otros elementos especializados.
En los dos últimos años, vendedores comerciales de sistemas de código abierto han estado trabajando activamente en establecer una posición de largo plazo dentro del mercado de aplicaciones empresariales. En febrero del 2007, se formo la Open Source Alliance (OSA) para reunir empresas comerciales de software de código abierto; su principal objetivo es el de ampliar el horizonte de las aplicaciones de código abierto y principalmente, auspiciar la interoperabilidad entre ellos. JasperSoft, uno de los pioneros en inteligencia empresarial de código abierto, es uno de los miembros fundadores de esta alianza. Pentaho, otro vendedor de inteligencia empresarial de código abierto, se hizo parte del grupo de lidera los proyectos principales de la alianza, implementando estándares industriales y estableciendo asociaciones con vendedores de tecnología de almacenamiento de data, como InfoBright y ParAccel.

La inteligencia empresarial tiene algunos de los más desafiantes retos tecnológicos dentro del mercado de software empresarial. Estos retos incluyen el diseño de grandes bases de datos; compleja integración de datos entre fuentes múltiples y disparejas; la posibilidad de buscar en grandes cantidades de información; y algunos de los requisitos más rigurosos de rendimientos y latencia. Aún en las organizaciones propietarias de sus productos, se requiere un grupo de profesionales expertos, incluyendo administradores de bases de datos, analistas empresariales, programadores; para implementar y mantener el ambiente de almacenamiento de datos e inteligencia empresarial.

Los sistemas de código abierto para inteligencia empresarial van un paso más allá: motivan a las empresas a usar y modificar los sistemas como se requiera y compartir avances con el resto de la comunidad. Es tan solo natural que las tecnologías de código abierto para inteligencia empresarial hayan convergido. Un factor crucial a tener en cuenta cuando se adopta una solución de estas, es que con frecuencia las tecnologías subyacentes, son de código abierto igualmente, por lo tanto es prudente que el equipo técnico adquiera las habilidades necesarias. Por ejemplo la mayoría de soluciones BI de código abierto se construyen sobre LAMP satck, por lo tanto su equipo técnico debería prepararse para aprender a administrar esta aplicación.

Pentaho: un caso puntual

El hecho de que la inteligencia empresarial de código abierto provee una solución completa para las necesidades de inteligencia empresarial de una organización, puede demostrarse mirando como la solución de Pentaho toca los principales problemas de requisitos de integración de datos, reportes y análisis en la inteligencia empresarial.

ETTL con Kettle

La plataforma de BI de Pentaho implementa el Common Warehouse Metamodel (CWM). El CWM, que ha sido implementado por proveedores que no son de código abierto como Informatica, es un especificación que propone el uso de XML metadata intercambio (XMI) para intercambiar metadata de la bodega de data. Ello supone que los mapeos se pueden traspasar entre herramientas que implementen esta interfase. El sistema de carga, extracción y transformación (ETL[3]) de Pentaho, esta basado en su proyecto de Kettle. Kettle viene de "Kettle ETTL Enviroment," donde ETTL es la sigla de Pentaho para extracción, transformación, transporte y carga[4] de información. El sistema ETL apoya: una variedad de pasos (un paso representa la unidad más pequeña en una transformación y contiene lógica bien sea predefinida o a la medida, que es aplicada a cada fila cuando se abre camino desde el origen hacia su objetivo); Slowly changing dimentions (SCDs[5]); conectores para una multitud de fuentes de data (el acceso a bases de datos privadas[6] tales como Microsoft SQL Server y Oracle se da vía Java Database Connectivity (JDBC); y la habilidad llevar a cabo y programar tareas de forma local y remota. Scrippting en JavaScript así como en Java puro, permite a los desarrolladores añadir códigos a la medida, en cualquier paso de la transformación.

Dos temas importantes que deben enfrentar las organizaciones son los requisitos de los volúmenes y latencia de datos. Pentaho tiene una solución clustering (una solución que usa más de un nódulo o entidad computacional para lograr alto rendimiento y disponibilidad) que trabaja paralelamente particionando las bases de datos; usando servidores esclavos (un grupo de servidores que llevan a cabo ciertas tareas usando data enviada por el servidor maestro) para distribuir central processing unit (CPU) y la carga input/output (I/O), mejorando el rendimiento por medio del paralelismo. Sin embargo, no soporta la captura de cambios en datos, la cual esta basada en técnicas de integración de datos buscando cambios en las fuentes. Los cambios en las fuentes de datos son detectados leyendo los registros transaccionales; con la excepción de las bases de datos de código abierto, los lectores de registros transaccionales son rara vez de código abierto.

A pesar de que la integración de datos de Pentaho todavía carece de una solución de calidad y limpieza de datos, el desarrollo de un profiling server[7] (un servidor dedicado a realizar tareas de reseña que contribuyen a descubrir aberraciones en datos; véase: Distilling Data: The Importance of Data Quality in Business Intelligence) parece estar en la lista de mejoras inminentes. En tales situaciones, donde el vendedor no tiene estas funcionalidades específicas, las empresas deben mirar soluciones de código abierto complementarias; el proyecto de DataCleaner de eobjects.org, por ejemplo, tiene funcionalidades que permiten reseñar[8] datos y monitorear su calidad. Esto apunta además a la significativa ventaja de las aplicaciones de código abierto: el hecho de que el software es desarrollado por la comunidad, para la comunidad, simplifica el compartir soluciones innovadoras de forma más rápida y fluida.

Análisis con Mondrian

La estructura de las actividades empresariales es casi siempre multidimencional. Esto se debe a que las actividades empresariales se definen en términos de propiedades cuantificables o medibles, tales como ventas, inventario o donaciones; y atributos cualitativos como estudiantes, clientes o productos. Cada actividad empresarial puede involucrar una combinación de estas entidades cuantitativas y cualitativas. A pesar de que los sistemas empresariales pueden almacenar la entrada de actividades en un formato relacional, se requiere de un ambiente altamente receptivo y multidimencional para analizar y comprender el negocio.

Online analytical processing (OLAP)[9] , aún un campo en crecimiento en términos de investigación y desarrollo, que se refiere a la forma de almacenar e indagar en grandes cantidades de data a través de dimensiones múltiples. Los particulares de OLAP multidimencional (MOLAP) versus OLAP relacional (ROLAP) evocan aun una rigurosa base de datos. Pero la elección depende completamente en la naturaleza de la información, su latencia y recursos (de ambos, software y hardware). Por ejemplo, ROLAP puede ser una mejor solución cuando la información es intensiva en dimensiones, o en situaciones donde la latencia debe ser muy baja o cercana al tiempo real. Por otro lado, MOLAP puede ser mejor para grandes grupos de información y requisitos menos estrictos. En cualquier caso, la adherencia a principios sólidos de diseño es esencial para crea una exitosa solución OLAP.

La respuesta de Pentaho al asunto de análisis multidimencional, es un motor ROLAP llamado Mondrian. El aspecto más importante de OLAP es donde y como se almacenan los agregados. En un ambiente ROLAP, como en Mondrian, se almacenan los datos y los agregados en bases de datos relacionales. Los agregados precalculados se almacenan en mesas al lado de tablas básicas de hechos o transacciones. Tales estructuras de agregados pretenden evitar cálculos en millones de transacciones archivadas cada que se hace una búsqueda. Estas mesas no son parte de la herramienta de análisis; ellas deben ser creadas por medio de un proceso ETL. Pentaho ofrece una herramienta llamada Diseñador de agregados[10] que ayuda a crear y mantener tablas de agregados. Mondrian incluye una memoria de agregados caché que guarda grupos de resultados multidimencionales para usarlos en cálculos subsecuentes. La extensiva interfase de programación de aplicaciones (API) CacheControl esta incluida para el acceso granulado a los caché de Mondrian.

Las organizaciones pueden elegir dentro de varias perspectivas de herramientas para el análisis multidimencional. Un proyecto complementario de código abierto llamado JPivot una herramienta de tablas rotantes[11] , escrito sobre Java Server Pages (JSP), para navegar cubos creados usando Mondrian. Mondrian provee además interfases de expresiones multidimencionales (multidimensional expressions, MDX). Es de anotar aquí que no es exactamente lo mismo que la implementación de Microsoft de MDX. Los desarrolladores pueden escribir aplicaciones "en casa" usando olap4j (o, OLAP para Java), una especificación abierta desarrollada por varias compañías de código abierto incluyendo Pentaho, JasperSoft y LucidEra.

Todas esas cosas: reportes y tableros de comandos

Todos los ambientes BI deben proveer una suite completa de herramientas para crear, publicar, distribuir y programar gran contenido de reportes. El motor clásico de Pentaho esta basado en grupos de diseños de reportes. La disposición por grupos divide el reporte en secciones, y el motor de reportes atraviesa la información y la organiza en grupos predefinidos. En el motor clásico de agrupación, la data enviada al reporte determina como se presenta el reporte. Este paradigma ha sido usado con éxito, y lo continuara siendo, por muchas herramientas de reportes. Sin embargo, un modelo relativamente nuevo que esta cobrando popularidad esta basado en el diseño predefinido de lo que se quiere observar, en lugar de ser creado por la información que entra. El Flow Engine, aún en desarrollo, trabajará en la definición de reportes construidos usando el Document Object Model (DOM); la producción final se dará por medio de la combinación de las definiciones y la información entrante. El Report Designer incluye apoyo para varias fuentes de datos, una variedad de opciones para formatear, y la posibilidad de crear reportes en múltiples lenguas en formatos como hypertext markup language (HTML), portable document format (PDF), y Excel (XLS), entre otros. Pentaho tiene además en su suite para reportes una herramienta AJAX-based, thin-client y ad hoc. Los reportes del ad hoc pueden ser diseñados usando la capa de metadata, mientras el diseñador de reportes, además de conectarse con la capa de metadata, puede conectarse directamente con las fuentes de datos.

El tablero de comandos de Pentaho permite definir los parámetros que son importantes para una empresa, además de usarlos por medio de una variedad elementos que provee la interfase: spreadsheet-style grids, integración con los mapas de Google, cross-tab reports, y drilldown o análisis multidimencional. La integración con otros contenidos Web es posible por medio de AJAX o marcos. El Community Dashboard Framework (CDF), desarrollado por los principales miembros de la comunidad Pentaho, simplifica el desarrollo de nuevos comandos definiendo los componentes múltiples por medio de una sintaxis simple, sin necesidad de programar la interfase. Según las discusiones de los foros, parece que Pentaho integrará el CDF a su producto.

Conclusión

A pesar de que las soluciones BI de código abierto no llevan mucho tiempo en el mercado y no tienen la madures de las tradicionales, esta logrando una gran credibilidad y relevancia. Con riesgos mínimos, las organizaciones pueden mirar si las soluciones BI de código abierto funcionan o no para ellas, por medio de prototipos de aplicaciones. Además se pueden integrar componentes de BI de código abierto a su sistema BI. Estos productos tienen una gran transparencia en términos de tecnologías y mapas del producto; además de que existe una gran colaboración y asociación entre los proveedores. Por otro lado, la comunidad de usuarios y su compromiso posibilitan beneficiarse de la experiencia de varias compañías y plataformas.

Informase mas sobre sistemas de código abierto, visite:

http://foss.technologyevaluation.com/

Informase sobre soluciones de Inteligencia empresarial, visite:

http://bi.technologyevaluation.com/es/business-intelligence/

Sobre el autor

Anna Mallikarjunan es miembro del grupo de investigación y desarrollo de TEC. Es la responsable del análisis y desarrollo del software de apoyo en las decisiones de TEC así como las herramientas de inteligencia de negocios, BI. Con mas de cuatro años de experiencia en análisis empresarial, diseño y desarrollo de BI, incluyendo almacenamiento de datos; extracción, transformación y carga (ETL); procesamiento analítico en línea (OLAP); reportes; y desarrollo de aplicaciones personalizadas.

Mallikarjunan ha tenido posiciones tales como, directora de desarrollo de aplicaciones de un grupo de .NET, almacenamiento de datos, y profesional de BI para una empresa de menudeo de ropa. En este trabajo, fue responsable del mantenimiento, desarrollo y soporte de aplicaciones Windows y Web-based, así como almacenamiento operacional de datos, data marts y aplicaciones BI.

Mallikarjunan tiene un BSc en ciencias de la computación de la universidad de Madras (India) y un MSc en ciencias de la computación de la universidad de Anna in Madras, India.


1 Business Intelligence
2 http://es.wikipedia.org/wiki/Copyleft
3 Extract, transform and load
4 Extraction, transformation, transportation and loading.
5 Cambiando lentamente de dimensiones.
6 Que no son de código abierto.
7 Servidor de reseñas
8 Data profiling
9 Proceso analítico en línea.
10 Aggregation Designer
11 Pivot-table



 
comments powered by Disqus