Business Intelligence fácil
Business Intelligence

Agosto del 2010

En esta página se muestran todos los artículos publicados durante Agosto del 2010.

viernes, 13 de agosto de 2010

La capa semántica de Bingo Intelligence

El término “capa semántica” se refiere a la capa que traduce la estructura física de los datos (con sus tablas, campos y relaciones) en la terminología de negocio, que resulta familiar y conocida por los usuarios de negocio. Según la plataforma de Business Intelligence que utilices lo llamarás “universo”, “catálogo”, o “metadata”...

¿Es realmente necesaria la capa semántica en los sistemas de Business Intelligence? Yo siempre he creído (y creo) que sí. La capa semántica aísla al usuario de los aspectos más técnicos y facilita el uso del sistema. Se me ocurren tres poderosas razones que justifican la existencia de la capa semántica:

  • Humaniza la terminología de tablas y campos, permitiendo la utilización de espacios, acentos y otras manías que los seres humanos tenemos muy interiorizadas...
  • Oculta aspectos técnicos irrelevantes para el usuario, como las tablas agregadas, los alias, los loops, los particionamientos, el propio modelo de datos, o los tipos de relación... Todo eso debe ser invisible para el usuario, que ni le interesa, ni nos interesa que le interese (ya que nos permitirá realizar modificaciones sin alterar informes existentes).
  • Facilita la organización. Con una capa semántica, las entidades y atributos (clientes, ciudades, productos, familias de productos...) se pueden agrupar de la manera que resulte más conveniente. Por ejemplo, agrupando los objetos en carpetas, y poniendo los objetos que se consultan juntos cerca unos de los otros, o escondiendo aquellos que raramente son utilizados por los business users... (todas estas consideraciones, por otra parte, son casi irrelevantes durante el diseño físico de la base de datos).

No me molestaría en justificar la existencia de la capa semántica si no hubiese leído un artículo en el que se preguntan si realmente es necesaria una capa semántica.

Me ha llamado poderosamente la atención esta frase:

From my experience, most bonafide analysts feel constrained by a semantic layer, preferring to use SQL to examine and extract source data directly.

Según Wayne, la capa semántica sólo es útil para aquellos usuarios que realizan consultas ad-hoc, y como prueba de ello expone que los productos puros de dashboarding no incorporan capa semántica... La capa semántica también es irrelevante para los usuarios que sólo miran los informes y que no necesitan crearlos ni modificarlos...

En Bingo Intelligence pensamos que los usuarios no necesitan –ni quieren- conocer esa cosa llamada SQL, y que muchos de estos mismos usuarios estarían encantados de hacer ellos mismos sus cuadros de mando si estuviesen técnicamente preparados. Por estos motivos, la capa semántica de Bingo Intelligence se utiliza igual para crear un informe, un informe dinámico, o un cuadro de mando... lo cual es verdaderamente revolucionario e innovador... ¿Cuántos productos de BI conoces que permitan crear un cuadro de mando utilizando una capa semántica contra una base de datos relacional?

El siguiente vídeo muestra cómo crear un cuadro de mando con Bingo Intelligence en sólo 10 minutos (gracias a la capa semántica, por supuesto).

Os dejo también un pantallazo del diseñador de “catálogos”:

Una imágen del diseñador de la capa semántica de este producto de Business Intelligence

ACTUALIZACIÓN: Este es el aspecto en Bingo Intelligence 2012:

viernes, 20 de agosto de 2010

Paradojas de las aplicaciones web

Nos encontramos en la época post-HTML, donde las apps y la nube deben converger para ofrecer una máxima accesibilidad y usabilidad, también en los sistemas Business Intelligence.

Internet ya lo ha cambiado todo... Ahora lo que cambia son las aplicaciones que ejecutamos en la web. Existen muchas tendencias que están definiendo lo que será el internet del futuro. En este sentido, tenemos el cloud computing, las aplicaciones ricas, y las aplicaciones móviles... Para entender la profundidad de este cambio, es necesario recordar de dónde venimos...

Hace no mucho, pongamos 10 o 15 años, decíamos que la tecnología web aportaba una accesibilidad que las aplicaciones de escritorio (desktop) no podían ofrecer. Con ello queríamos decir que una aplicación web (HTML y Javascript, en definitiva) podía utilizarse desde cualquier sistema operativo y en cualquier dispositivo. Es decir, si nuestras aplicaciones de Business Intelligence fuesen web (en aquella época la norma eran las aplicaciones de escritorio), podríamos acceder a ellas desde un UNIX, Mac o Windows, y por supuesto podríamos utilizar cualquier explorador... incluso podríamos acceder a nuestros informes corporativos desde nuestra palm, nuestra blackberry, o desde cualquier otro dispositivo imaginable (...no sé si la palabra dispositivo se refería a una nevera con conexión a internet o algo así...).

Sabíamos que la apuesta por el HTML suponía un retroceso en términos de usabilidad y velocidad. ¿Os acordáis de Web Intelligence 2.5, por ejemplo? ¿Os acordáis de las primeras versiones de Microstrategy Web? ¿O de Cognos Report Net? ¡La comparación con sus equivalentes desktop era sonrojante! En cualquier caso, no había duda que el futuro era la web, y ése era un camino que teníamos que recorrer...

Han pasado más de 10 años y, finalmente, hemos podido reproducir en la web la funcionalidad que ya teníamos en las aplicaciones de escritorio. En algunos casos, no ha sido suficiente el DHTML (javascript+html), y hemos necesitado la máquina virtual de java u otros complementos... La JVM ha ocasionado no pocos problemas e incompatibilidades... También hemos tenido que admitir que las versiones avanzadas, o la aplicación del diseñador, sean aplicaciones desktop que corren sobre entornos Windows... Pero, bueno, lo hemos conseguido, ya tenemos aplicaciones Business Intelligence 100% web... ¿Hemos alcanzado los objetivos que prometíamos? Mmm, no exactamente...y aquí está la paradoja...

Las principales suites de BI utilizan tecnología HTML para sus productos, y corren casi exclusivamente sobre Windows (que es el estándar en entornos corporativos)... En otros dispositivos, el HTML ya no es sexy... Lo cool son ahora lenguajes y tecnologías propietarias que aprovechan al máximo el hardware de nuestras palms (bueno, ahora les llamamos iPhone o smartphones)... Paradójicamente, las aplicaciones de nuestros teléfonos son más usables, vistosas e impactantes que las aplicaciones HTML que ejecutamos desde nuestros potentes PC (con unos gigas y mHz inimaginables hace unos años...).

Estoy convencido que esto cambiará. Los nativos digitales humanizarán la tecnología. Cambiarán las aplicaciones que ejecutamos en el ámbito personal (ya están cambiando), y cambiarán los aplicaciones con las que interactuamos en el entorno corporativo. Ahora, el usuario exige una mejor experiencia, y un nivel de usabilidad que el HTML, sencillamente, no puede ofrecer. Mejor si es con una tecnología abierta e interoperable, por supuesto, pero eso no puede ser suponer un freno a la potencia y amigabilidad de nuestras aplicaciones empresariales...

viernes, 20 de agosto de 2010

Páginas web vs. Aplicaciones web

Ayer comentaba que el HTML era una tecnología antigua, diseñada para crear documentos estáticos. Comentaba que con HTML se pueden hacer páginas web, pero no aplicaciones web ricas. Bueno... no dije eso exactamente, pero esa era la idea que quería transmitir...

Hoy he visto una imagen (en Punto Geek) que me lo hacer replantear todo. Si un USB se puede conectar al puerto paralelo de un ordenador antiguo, con HTML se pueden crear aplicaciones interactivas.... :-)

Un USB conectado a un puerto paralelo... Parecía una buena idea...

La imagen, además de simpática, creo que es un buen símil de lo que ha ocurrido con el HTML. Se inventó para crear páginas web como ésta, y hemos ido añadiéndole “conversores” para ir adaptándolo a las nuevas necesidades... Primero fue el CSS y el Javascript, luego ActiveX, JVM y el Flash, luego el API para acceder al DOM, luego AJAX, y ahora se intentan disimular las limitaciones existentes con el HTML5, que no deja de ser más de lo mismo...

En este contexto, no es de extrañar que haya quien afirme que “la web ha muerto”... En realidad, las “páginas web” son sólo una de las aplicaciones que existen en Internet, que utiliza los protocolos TCP-IP para mover paquetes de información de aquí para allá... De ahora en adelante, veremos aparecer otro tipo de “aplicaciones web” que prescindirán del HTML e incluso del navegador web... ¿Qué es lo que hace que una aplicación sea una aplicación web? ¿Es el protocolo HTTP lo fundamental? ¿Es el HTML? ¿Acaso es relevante que se visualice dentro de un explorador?