Probando Pentaho I - Instalación

miércoles, 10 de abril de 2013

logopentaho
Como comenté en un artículo anterior,  Tercer Planeta se está introduciendo en el tema visualización de información
Generada la inquietud, fue necesario encontrar herramientas que nos permitan asociar los datos de nuestras bases con gráficos. Herramientas hay miles. Espectaculares. Pero, por supuesto, con altos costos de licencias. Una muy buena, es Tableau. Nos resultó muy fácil de instalar y usar. 
Existen también librerías de Javascript que nos permiten construir visualizaciones interesantes, entre ellas  protovis y D3.js. En este caso, el desarrollo no es sencillo.
Continuando nuestra búsqueda, consideramos que para visualizar datos, no podíamos descartar las soluciones de Business Intelligence. Así, encontramos opciones de código abierto  y de implementación sin costos de licencia, relativamente simples.

 Herramientas Open Source para Business Intelligence

En el área de Inteligencia de Negocios han surgido varias iniciativas de desarrollo de soluciones e implementación de herramientas Open Source. Existen en el mercado varias suites, entre ellas: Pentaho, SapgoBI, Vanilla,OpenI.
Todas parten de Mondrian (motor OLAP) + jpivot (interfase para OLAP) + kettle (ETL). Tienen diferentes políticas Open Source. En este artículo voy a contar nuestra experiencia con Pentaho (http://www.gravitar.biz)

 

Qué es Pentaho

Es un proyecto iniciado por una comunidad OpenSource, provee una alternativa de soluciones de BI en distintas áreas como en la Arquitectura, Soporte, Funcionalidad e Implantación. Estas componentes, al igual que su ambiente de implantación, están basadas en JAVA, brindando entonces gran flexibilidad.
Gracias a la integración funcional de diversos proyectos de OpenSource permite ofrecer soluciones en áreas como: análisis de información, reportes, dashboards, flujos de trabajo y minería de datos.
Las principales son:
  • Plataforma BI : provee la arquitectura y la infraestructura a la vez. Mondrian, forma parte del motor OLAP integrado en el SUITE BI de PENTHO.
  • Pentaho Reporting JfreeReport/ Pentaho Reporting: herramienta de Reportes.
  • Kettle Pentaho Data Integration (Extraction Transformation Load): usando una interface grafica “SPOON” permite diseñar “jobs” de transformación de datos para ser procesados bajo las herramientas de Kettle (PAN y KITCHEN)
  • WEKA : minería de datos.


Instalación y configuración de Pentaho

Mi primera aproximación fue por medio de las versiones comerciales disponibles. Bajé la versión para Windows 7. La instalación fue sencilla. Armé un pequeño data warehouse para un trabajo académico, con Oracle como base de datos.
Encontré buena documentación. Pude acceder bien a los datos, armar reportes y tableros de control.
Fue una experiencia útil para entender la herramienta y plantear nuevos problemas a resolver. De todas maneras, el desafío fue configurar la versión Open Source.
En los siguientes párrafos ennumero los pasos seguidos.  Hubo mucho 'google' y prueba y error! Hay mucha información disponible. Hice un resumen de todo lo leido, que ahora quiero compartir. Bienvenidos los comentarios y aportes!


Bajar zips y descomprimirlos en el lugar adecuado
Las herramientas de código abierto se pueden bajar de Pentaho community y sourceforge.
Bajé algunas de las herramientas que componen Pentaho y armé un cuadro con el detalle. Tomé como guía un artículo de la wiki de la comunidad.








A continuación la instalación de los tres primeros componentes.
  1. Crear directorio c:\Pentaho
  2. Descomprimir en el mismo el servidor BI de Pentaho (biserver-ce).
  3. Crear el directorio c:\Pentaho\design-tools.
  4. Dentro del mismo descomprimir las herramientas cliente. (prd-ce y psw-ce)




Java y variables de entorno
 La plataforma Pentaho BI necesita una JVM (Java Virtual Machine) instalada. Podemos bajarlo desde Sun Developer Network download page.
Pentaho usa las variables de entorno: JAVA_HOME y JRE_HOME.
En mi caso la dí de alta, esta es la imagen del setup


                     

 Arrancando el Server de Pentaho y la consola de Administración
Arranque del Server:
pentaho/biserver-ce> startup.bat

Acceso a Pentaho User Console:
http://localhost:8080/pentaho
(Usuario: joe Password: password)



Arranque de consola de Administración:
Pentaho/Administration-console/start-pac.bat
Acceso a la consola:
http://localhost:8099
(Usuario: admin Password: admin)

Hasta acá los pasos mínimos de instalación. Con esto es posible investigar los ejemplos y crear algún reporte o gráfico con las conexiones disponibles. Para trabajar con datos propios, un par de pasos más.



Conectar a una base de datos
 Instalar primero el driver adecuado para la base de datos. O archivo JAR. Este archivo normalmente se puede bajar desde el sitio oficial del motor a usar. Es importante instalar en cada directorio solamente la última versión del driver.
En mi caso, investigué las conexiones a SQL Server (motor para las aplicaciones que desarrollamos en Tercer Planeta). Tomé los drivers desde el sitio oficial de Microsoft. Probé también con los drivers de codigo libre. Estoy usando estos últimos.
Copié el driver jtds-1.3.0.jar en los siguientes directorios correspondientes al server, a la herramienta de reportes y al schema-workbench. Esta es la lista de directorios:
  1. Pentaho\administration-console\jdbc
  2. Pentaho\biserver-ce\tomcat\lib
  3. Pentaho\biserver-ce\data\lib
  4. Pentaho\design-tools\report-designer\lib\jdbc
  5. Pentaho\design-tools\schema-workbench\drivers
Una vez copiado el driver en los diretorios, reiniciar el servicio.
Creación de una conexión desde la pantalla de administración: (referencia Pentaho)




Nombre: es el que se usará desde los distintos componentes de Pentaho
Driver Class: lista de los drivers default de Pentaho. Debería incluir el instalado previamente. (net.sourceforge.jtds.jdbc.Driver)
Usuario: un usuario con permiso a la base de datos a acceder.
Password: para la base de datos
Url:jdbc:jtds:sqlserver://NombreServer:1433/BaseDatos;instance=nombreInstancia
Consideraciones de configuración
Para publicar reportes creados con el report-designer, o esquemas generados con schema-workbench:
Ingresar password en el archivo: Pentaho\biserver-ce\pentaho-solutions\system\publisher_config.xml
<publisher-config>
<publisher-password>password</publisher-password>
</publisher-config>

Para acceder a la consola desde otra máquina, reemplazar localhost por la IP en:
 Pentaho\biserver-ce\tomcat\webapps\pentaho\WEB-INF\web.xml

<!--  FullyQualifiedServerUrl is used only in the case of offline content generation and whenever something need to talk back to the server -->
<context-param>
<param-name>fully-qualified-server-url</param-name>
<param-value>http://TIERRA:8080/pentaho/</param-value>
</context-param>

Hasta acá la instalación inicial de Pentaho. Desde la consola es muy intuitiva la consulta los reportes y los cubos de ejemplo.
En próximos artículos generación de reportes (report-designer), herramientas de análisis (squema-workbench) y dashboards. ( CDF: community dashboard framework).
Leer más...

Sublime Text 2

viernes, 5 de abril de 2013

icono Sublime Text
Como en tantos otros equipos, a la hora de trabajar en los proyectos web usamos como principal herramienta Visual Studio. Pero muchas veces nos encontramos con que no es necesario un IDE tan poderoso para crear ejemplos, probar scripts, tags nuevos, simplemente leer un código o editar cualquier texto.

En reiteradas ocasiones hemos usado Notepad++ y nos hemos maravillado por su simplicidad, su integración con Windows y atajos de ejecución. Hoy se ha ganado un lugar Sublime Text 2.


Sublime Text 2 es un editor de texto/código que se distribuye libremente pero no es gratuito. De igual manera, no limita ninguna funcionalidad al usuario que lo esté usando. 


Tiene muchas características que lo destaca sobre sus pares:

- Es multiplataforma: Hace falta aclaración al respecto?.

- Tiene un minimapa: Consiste en un preview de la estructura de nuestro código que se sitúa a la derecha del editor (Podemos ocultarla). Es muy útil para desplazarse por el archivo cuando conocemos bien la estructura del mismo.
- Multiselección: No es una característica que destaca pero si muy útil.
- MultiCursor: Permite la escritura paralela en diferentes posiciones del documento.
- Soporte nativo para infinidad de lenguajes: HTML, CSS, Python, XML, PHP, SQL, JavaScript, C#.
- Edición de múltiples archivos mediante solapas.
- Archivos de configuración: Permiten configurar desde la coloración de la sintaxis hasta los atajos de teclado.
- Búsquedas dinámicas: Se puede buscar por expresiones normales y regulares en archivos, proyectos, directorios o todo a la vez.
- Autocompletado de código: Por ejemplo, al abrir etiquetas de html, al dar tab se autocompleta su cierre automáticamente.
- Soporte de plugins y snippets para aumentar la funcionalidad.
- Modos de uso: Podemos "codear" a pantalla completa o en modo sin distracciones.

Instalación

Desde la página oficial podemos descargar los instaladores (Para Windows y Mac) o su versión portable para Linux (También es posible descargarlo vía PPA).


Primer uso

Esta herramienta tiene una interfaz minimalista, cómoda y muy productiva. No te asustes la primera vez



El comando Ctrl + K + B, que permite visualizar los documentos abiertos actualmente en una barra lateral que se despliega por la izquierda




Luego tenemos una de las opciones indispensables que es "GoTo Anything" (Ctrl + P) que te permitirá localizar los archivos rápidamente y a medida que escribas irá filtrando los archivos que por nombre coincidan. Si te desplazas con las fechas de dirección, podrás obtener una vista previa y al dar enter irás a parar al archivo en cuestión


Una vez dentro del documento, podemos especificar más nuestra búsqueda de la siguiente manera. Escribiendo:


:[Número] iremos a parar a una línea en concreto

:@ verás los métodos utilizados anteriormente
:# podrás buscar en el interior del fichero

(En el comando incluir los dos puntos)


Tambien podemos crear proyectos desde el menú "Project" para gestionar mejor tus documentos/proyectos. Incluso tiene un plugin para GIT!


Escribiendo código

Sublime text 2 posee un motor de autocompletado para etiquetas html y css (entre otros lenguajes) que permite hacer más fluida nuestra escritura y ganar tiempo de desarrollo. Por ejemplo, en html si escribimos div.contenedor y pulsar tab, el editor completará y cerrará la etiqueta quedando así:

<div class="contenedor"></div>


Lo mismo sucede para un id.


En el caso de css es algo parecido, al escribir estilos generalmente reconoce los atributos y te permite autocompletarlos (Salvo features nuevos de html5)



Personalización del entorno

Sublime text 2 por defecto tiene una serie de temas instalados que se pueden utilizar desde Preferences - Color scheme. Si ninguno te gusta puedes descargarte otros o crear el tuyo


Instalar un plug-in: Package control

Posiblemente el plugin más necesario que existe para sublime text es Package control. Este permite instalar cientos de otros plugins. Su instalación es muy sencilla y está detallada en instalación de Package control

Una vez completa su instalación podemos acceder al Package control mediante Ctrl + Shift + P y escribiendo Package Control: Install Package (Y posterior enter) se listarán los paquetes para instalar




Una pequeña de plugins que he probado y me resultaron útiles son:

- SublimeLinter: Subraya los potenciales errores de un programa, muy útil para ahorrar tiempo detectando la falta de un punto y coma o el cierre de paréntesis.

- Alignment: Formatear código rápido presionando Ctrl + Alt + a.
- Git: Conexión al repositorio Git. También funciona con GitHub y Bitbucket.


Snippets

Los snippets son pequeños fragmentos de código guardados en archivos individuales que te permitirán insertar de forma fácil y rápida partes de código simplemente escribiendo una palabra y pulsando tabulador, o bien asignándole una combinación de teclas.

Por defecto el programa ya cuenta con unos cuantos snippets por ejemplo "lorem". Prueba a abrir un nuevo documento y escribir lorem y luego tabulador (Seguro te sorprenderás como yo)


Hasta acá la revisión. Espero que le den una oportunidad a Sublime Text 2 y estemos atentos que la versión 3 ya está en beta (Sólo para usuarios registrados)
Leer más...