icono LinkedIn
Iván García Puebla

Consultor tecnológico de desarrollo de proyectos informáticos.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2009-03-31

Tutorial visitado 18.522 veces Descargar en PDF
Integrar Liferay Portal 5.2.1 con Pentaho BI 2.0.0 sobre MySQL 5.1

Integrar Liferay Portal 5.2.1 con Pentaho BI 2.0.0 sobre MySQL 5.1

  1. Integrar Liferay Portal 5.2.1 con Pentaho BI 2.0.0 sobre MySQL 5.1
    1. Introducción
    2. Preparación del entorno
    3. Paso 1. Instalación de Liferay 5.2.1
    4. Paso 2. Instalación de Pentaho BI 2.0.0
      1. Paso 2.1. Descarga del código fuente de Pentaho BI
      2. Paso 2.2. Compilar Pentaho BI
      3. Paso 2.3. Preparar la base de datos y los datasources
      4. Paso 2.4. Desplegar Pentaho en el servidor
    5. Paso 3. Probando la integración
    6. Conclusión

Introducción

En este tutorial vamos a mostrar paso a paso cómo integrar con éxito el gestor de portales Liferay Portal 5.2.1 con la herramienta de Business Intelligence Pentaho BI 2.0.0, en un servidor Apache Tomcat 5.5 y configurando para todo ello una base de datos MySQL 5.1.

Algunos tutoriales relacionados, publicados hasta la fecha:

Preparación del entorno

El software utilizado en este tutorial es:

La plataforma de ejecución está basada en:

  • Pc portátil C2Duo, 1.5GHz, 3GB Ram
  • Windows Vista Home Premium SP1

Con las versiones de software antes indicadas, se asegura el correcto funcionamiento de este tutorial. Los usuarios con experiencia pueden intentar la integración con versiones diferentes.

Paso 1. Instalación de Liferay 5.2.1

Para ello seguimos el tutorial de Rubén: Primeros Pasos con Liferay 5.2.1 (manteniendo el puerto 8080). Al finalizar, detenemos el servidor.

Paso 2. Instalación de Pentaho BI 2.0.0

Vamos a compilar nuestra propia distribución de Pentaho para Tomcat y MySQL. Para ello:

Paso 2.1. Descarga del código fuente de Pentaho BI

Utilizando un cliente SVN, por ejemplo Tortoise, accedemos a svn://source.pentaho.org/svnroot

Arbol de carpetas del repositorio de codigo SVN de Pentaho
Árbol de carpetas del repositorio de código SVN de Pentaho

y hacemos checkout del código en un directorio (que denominaremos %PENTAHO_SRC% y será C:\Tutoriales\pentaho2.0.0):

  • svn://source.pentaho.org/svnroot/legacy/pentaho/branches/liferay-demo en %PENTAHO_SRC%\liferay-demo
  • svn://source.pentaho.org/svnroot/legacy/pentaho-preconfiguredinstall/trunk en %PENTAHO_SRC%\pentaho-preconfiguredinstall
  • svn://source.pentaho.org/svnroot/legacy/pentaho-solutions/trunk en %PENTAHO_SRC%\pentaho-solutions
  • svn://source.pentaho.org/svnroot/legacy/pentaho-data/trunk en %PENTAHO_SRC%\pentaho-data

Checkout del codigo de pentaho-solutions
Checkout del código de pentaho-solutions

Paso 2.2. Compilar Pentaho BI

En primer lugar establecemos la ruta absoluta de nuestro compilador de java en el fichero %PENTAHO_SRC%\liferay-demo\build.properties. Cambiamos:

# override this dir with the real location of your compiler
javac.path=javac.path not set

por:

# override this dir with the real location of your compiler
javac.path=C:/Herramientas/Java/jdk1.5.0_16/bin/javac

A continuación accedemos por línea de comandos al directorio %PENTAHO_SRC%\liferay-demo y ejecutamos el comando:

ant war-all-pentaho-tomcat

Dejo en este fichero: log_ant_pentaho.txt el resultado de la compilación a modo de ejemplo. Veremos que ha generado diversos ensamblados war bajo el directorio %PENTAHO_SRC%\liferay-demo\build\pentaho-wars\tomcat, uno por cada tipo de bases de datos HSQLDB, MySQL5, Oracle10G y PostgreSQL. En este tutorial utilizamos el de MySQL.

Paso 2.3. Preparar la base de datos y los datasources

Para crear los usuarios, los esquemas y las tablas para el funcionamiento de Pentaho, así como para poblarlas con un conjunto inicial de datos, lanzaremos el siguiente script iniciando una sesión en MySQL con el usuario root: %PENTAHO_SRC%\pentaho-data\mysql5\SampleDataDump_MySql.sql

Mediante las MySQL GUI Tools podemos observar que se han creado:

  • Los usuarios pentaho_admin y pentaho_user:

    Nuevos usuarios pentaho_admin y pentaho_user en MySQL

  • Los esquemas sampledata, quartz e hibernate:

    Nuevos esquemas sampledata, quartz e hibernate para Pentaho

A continuación definimos las fuentes de datos en el servidor para que Pentaho disponga de ella como repositorio. Editamos %LIFERAY_TOMCAT_HOME%\conf\server.xml y añadimos entre las etiquetas <Host></Host>:

<Context path="/pentaho" docbase="webapps/pentaho/">
  <Resource name="jdbc/SampleData" auth="Container" type="javax.sql.DataSource" maxActive="20"
    maxIdle="5" maxWait="10000" username="pentaho_user" password="password"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/sampledata?autoReconnect=true" />
    
  <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource" maxActive="20"
    maxIdle="5" maxWait="10000" username="hibuser" password="password"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost:3306/hibernate?autoReconnect=true" />
    
  <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
    maxWait="10000" username="pentaho_user" password="password" driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost:3306/quartz?autoReconnect=true"/>

  <Resource name="jdbc/SampleDataAdmin" auth="Container" type="javax.sql.DataSource" maxActive="20"
    maxIdle="5" maxWait="10000" username="pentaho_admin" password="password"
    factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/sampledata?autoReconnect=true" />
</Context>

Paso 2.4. Desplegar Pentaho BI en el servidor

Realizamos los siguientes pasos para el despliegue manual de Pentaho:

  • Copiar el directorio %PENTAHO_SRC%\pentaho-solutions en %LIFERAY_TOMCAT_HOME% (pentaho-solutions y webapps serán carpetas hermanas). Esta operación se debe a que pentaho-solutions es requisito para Pentaho, como se define en las líneas 7-10 del web.xml del pentaho.war generado:
    <context-param>
       <param-name>solution-path</param-name>
       <param-value>pentaho-solutions</param-value>
    </context-param>
    
  • Copiamos %PENTAHO_SRC%\liferay-demo\build\pentaho-wars\pentaho-portal-layout.war, pentaho-style.war y sw-style.war en %LIFERAY_TOMCAT_HOME%\..\deploy\
  • Copiamos %PENTAHO_SRC%\liferay-demo\build\pentaho-wars\tomcat\mysql5\pentaho.war en %LIFERAY_TOMCAT_HOME%\..\deploy\

Levantamos el servidor y en la consola veremos las trazas de carga de base de datos y despliegue de Pentaho. Aparecerán muchas de error, puesto que los ensamblados anteriores tienen interdependencias en la definición de datasources.

Consola del servidor Tomcat con trazas de Pentaho y Liferay
Una vez levantado el servidor Tomcat (se abrirá un navegador con Liferay), comenzará el despliegue de los war de Pentaho

El depliegue de Pentaho tardará unos 5 minutos (se verá la traza "Pentaho BI Server Listo."). Detenermos el servidor Tomcat, y volvermos a iniciarlo. No aparecerá ahora ningún volcado de pila de error, y ahora sí que estará completa y correctamente desplegado Pentaho. Vamos a comprobarlo.

Paso 3. Probando la integración

Accedemos a la pantalla de login de Liferay en http://localhost:8080 (si no estamos ya), y accedemos con el usuario Bruno. En el deplegable superior derecho añadimos nueva aplicación:

Nueva aplicacion en Liferay
Agregar aplicación en Liferay

En el panel flotante que se instancia, aparecerá Pentaho como una aplicación más. Deplegando el árbol, accedemos a sus portlets:

Desplegable con portlets de Pentaho disponibles desde Liferay
Desplegable con portlets de Pentaho disponibles desde Liferay

Pulsamos sobre Add del GettingStartedExamplesPortlet y, tras unos instantes de carga (aparecerán numerosas trazas en la ventana de Tomcat), veremos el portlet embebido en Liferay:

Portlet en Liferay con caracteristicas basicas de Pentaho
Portlet con características básicas de Pentaho

donde podremos realizar acciones varias con Pentaho, como comprobar la integración mediante el tradicional saludo Hola Mundo:

Respuesta de Pentaho BI a la accion invocada desde Liferay
¡Integración de Liferay con Pentaho conseguida!

Podemos también probar la capacidad de envío de correo electrónico (configurando debidamente los parámetros de SMTP en email_config.xml), o ver unos datos de ejemplo almacenados en base de datos (comprobamos así la concetividad con el repositorio en MySQL):

Respuesta de Pentaho BI a la accion invocada desde Liferay
Regiones obtenidas de sampledata.department_managers

Conclusión

Con este tutorial hemos logrado integrar los portlets de Pentaho en Liferay, y vemos que el lanzamiento de las acciones del primero se instancian en una pestaña nueva del navegador web, y que requiere de un inicio de sesión propio. Para mejorar éste y otros aspectos, así como la ejecución de ciertas aplicaciones, será necesaria ya una configuración a medida de las necesidades que nos vayan surgiendo.

 

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2013-02-19-15:37:07

Autor: danifuentes

Hola,

muy bueno el tutorial. Quería preguntaros, ¿es posible integrar pentaho en Liferay 6.1? Nosotros lo hemos intentado durante semanas sin éxito.

Cualquier ayuda/guia/consejo será bienvenido.

Gracias!!!

Fecha publicación: 2009-11-05-08:52:47

Autor: pepegim

Hola, no entiendo bien el paso 2.4. He copiado la carpeta "pentaho-solutions" en ....liferay-portal-5.2.1tomcat-6.0.18 (en el mismo lugar donde está la carpeta "webapps").--> Es ahí donde hay que copiarla?
Y donde hay que copiar los war?
Si los copio en ....liferay-portal-5.2.3deploy cuando arranco el Tomcat, y se me abre el portal, cuando me voy a "Aplicaciones", no me sale ninguna carpeta "Pentaho", solo una llamada "Undefined" con tres iconos dentro (las 3 carpetas de las war de pentaho generadas, pentaho-portal-layout, pentaho-style y sw-style)
No me sale lo que se ve en el paso 3.
Alguien me puede decir que estoy haciendo mal?. Se lo agradecería mucho.

Fecha publicación: 2009-06-30-06:01:19

Autor:

[Cristian] Saludos, el tutorial está muy bueno! Tengo un pequeño problema solamente, cuando ejecuto el ejemplo del "Hola Mundo" me redirecciona al Login de Pentaho, ¿Es posible que pentaho tome el Login del usuario que está actualmente autentificado en LifeRay (en este caso Bruno)?. Saludos

Fecha publicación: 2009-06-06-06:49:38

Autor:

[rapcylix] Señores adictos al trabajo me gustaria saber como integro un dashboard a mi aplicacion construida en jsp con base de datos mysql...

Fecha publicación: 2009-05-15-05:29:06

Autor:

[Iván] Puedes acceder a la página del proyecto de Pentaho en Sourceforge y descargar la distribución que te interese. Ahí podrás encontrar algunos assemblies de tipo war y jar

Fecha publicación: 2009-05-13-04:07:01

Autor:

[Franklin Rivero Duha] saludos, el tutotrial está muy bueno, sólo tengo un problemita, no puedo descargar el codigo de pentaho por SVN, porque la velocidad de descarga es muy lenta, necesito podemos acceder a los war/jar y al pentaho-solutions en forma de .zip o algo similar. ¿Esto es posible? cualqeuir ayuda al respecto lo agradecería mucho.