Tras un tiempo manteniendo el blog pentahohispano.blogspot.com.es es hora de dar un paso adelante.
Pentahohispano es un blog alrededor de la Analítica Empresarial con herramientas de Código Abierto, principalmente Pentaho. Pero también es mi blog personal. Jortilles crece
y el blog ya no lo voy a mantener sólo yo y la temática también se va a
abrir. Por lo que considero oportuno realizar este paso adelante y
"traer el blog a casa".
Lo he dicho de
pasada, pero si! El equipo crece. Hemos incorporado una estrella
emergente al equipo, Laura. Pronto empezaréis a saber de ella!!
Así que, los que tengáis el rss de este blog, actualizarlo a al de Jortilles/blog , por favor.
Gracias y seguimos en contacto... En el blog de Jortilles
Inteligencia de Negocio y Pentaho
Blog de un especialista en inteligencia de negocio y almacenes de datos en español
lunes, 9 de noviembre de 2015
sábado, 24 de octubre de 2015
ByPass Pentaho Login - Acceso desde aplicaciones terceras a recursos de Pentaho
En muchas ocasiones tengo que acceder a un reccurso de pentaho desde terceras aplicaciones. Tales cómo un cuadro de mandos, o un informe. En estos casos, siempre nos encontramos con la misma pregunta.... ¿Le vamos a obligar al usuario a volver a hacer login ? En caso de que no queramos hacerlo... ¿Como lo vamos a gestionar?
Tenemos varias formas, algunas mejores y otras peores... Pedro Alves ya ha hablado de esto en varias ocasiones. Su post más reciente y recomendable es este... (creo).
Básicamente:
Siempre, las opciones más recomendables son la 3 y la 4 aunque hay ocasiones en las que no es posible por cualquier motivo.. Por lo que es interesante tener una opción intermedia.
Por eso en Jortilles hemos creado a ... Urbano
Un filtro que te permite acceder a ciertas urls conocidas si le das la contraseña. Para eso codificaremos las llamadas bajo cierto patrón conocido por Urbano y por la aplicación tercera:
http://localhost:8080/pentaho/Urbano?token=MI_TOKEN&dst=MI_DESTINO
Donde:
La documentación técnica está en el proyecto
Un administrador cuidadoso dirá que este método está bien. Pero que una vez hecho login tienes acceso a todos los recursos de Pentaho. Ya has hecho login. Ya estás dentro. Ya puedes ir a http://localhost:8080/pentaho/Home
Aquí es donde entra en juego nuestro proxy http. Si queremos realmente exponer SOLO ciertas URLs podemos poner un proxy http por medio que nos intercepte el trafico y nos exponga tan sólo las urls que queremos dejar disponibles. De esta forma también enmascararemos las llamadas y nadie sabrá lo que hay detrás.
Ahora ya si que sólo exponemos al mundo ciertas urls de forma controlada. Manteniendo el acceso total y normal desde nuestra intranet .
El proyecto está en Github: https://github.com/jortilles/byPassPentahoLogin
Notas y agradecimientos:
Tenemos varias formas, algunas mejores y otras peores... Pedro Alves ya ha hablado de esto en varias ocasiones. Su post más reciente y recomendable es este... (creo).
Básicamente:
- Pasar usuario y contraseña por la url ... (No muy recomendable)
- Habilitar acceso anónimo... (y pierdo la seguridad)
- Configurar las dos aplicaciones para hacer Single Sign On (CAS)
- Login basado en cookies ( documentación ).
Siempre, las opciones más recomendables son la 3 y la 4 aunque hay ocasiones en las que no es posible por cualquier motivo.. Por lo que es interesante tener una opción intermedia.
Por eso en Jortilles hemos creado a ... Urbano
Un filtro que te permite acceder a ciertas urls conocidas si le das la contraseña. Para eso codificaremos las llamadas bajo cierto patrón conocido por Urbano y por la aplicación tercera:
http://localhost:8080/pentaho/Urbano?token=MI_TOKEN&dst=MI_DESTINO
Donde:
- MI_TOKEN es mi clave de acceso codificada
- MI_DESTINO es el destino conocido al que quiero acceder.
La documentación técnica está en el proyecto
Un administrador cuidadoso dirá que este método está bien. Pero que una vez hecho login tienes acceso a todos los recursos de Pentaho. Ya has hecho login. Ya estás dentro. Ya puedes ir a http://localhost:8080/pentaho/Home
Aquí es donde entra en juego nuestro proxy http. Si queremos realmente exponer SOLO ciertas URLs podemos poner un proxy http por medio que nos intercepte el trafico y nos exponga tan sólo las urls que queremos dejar disponibles. De esta forma también enmascararemos las llamadas y nadie sabrá lo que hay detrás.
Ahora ya si que sólo exponemos al mundo ciertas urls de forma controlada. Manteniendo el acceso total y normal desde nuestra intranet .
El proyecto está en Github: https://github.com/jortilles/byPassPentahoLogin
Notas y agradecimientos:
- Francesco Corti y Alberto Mercati han tenido el mismo problema y han hallado una solución similar https://github.com/Rospaccio/pentaho-authentication-ext ... a mi me gusta más la mia.
- Jordi Pallares ha aportado la solución del proxy http para eliminar el problema del posible acceso a la PUC una vez hecho el login.
martes, 8 de septiembre de 2015
Ejecutar Transformaciones y Trabajos de Kettle desde Java
Kettle ( a.k.a. Pentaho Data Integration) es una de las herramientas más versátiles que conozco. Ha pasado de ser una herramienta ETL a ser prácticamente un Lenguage de Programación Visual . Eso lo saben bien los amigos de Hitachi, Pentaho y Webdetails....
Recientemente me he visto en la necesidad de incorporar transformaciones y trabajos dentro de aplicaciones java..... Nada más sencillo:
Creamos nuestro proyecto Java...
Recientemente me he visto en la necesidad de incorporar transformaciones y trabajos dentro de aplicaciones java..... Nada más sencillo:
Creamos nuestro proyecto Java...
miércoles, 19 de agosto de 2015
Divide y vencerás
Esta vez quiero compartir con vosotros la arquitectura de un proyecto muy interesante en el que estoy participando.
El problema: El proceso ETL tarda demasiado. El proceso de integración de datos tarda mucho porque hay algunas partes del proceso que manipulan imágenes y esto hace que el proceso sea tan lento que resulta inútil.
La solución: Divide y vencerás (Nada nuevo bajo el sol.... también es cierto...). Dado que, lo que ralentiza todo el flujo, es el procesado de imágenes. Se ha dividido el proceso ETL en dos partes:
El problema: El proceso ETL tarda demasiado. El proceso de integración de datos tarda mucho porque hay algunas partes del proceso que manipulan imágenes y esto hace que el proceso sea tan lento que resulta inútil.
La solución: Divide y vencerás (Nada nuevo bajo el sol.... también es cierto...). Dado que, lo que ralentiza todo el flujo, es el procesado de imágenes. Se ha dividido el proceso ETL en dos partes:
- La primera parte del proceso realiza todas las operaciones necesarias excepto el manipulado de imágenes y deja los registros en una cola ( RabbitMQ )
- La segunda parte, recoge los registros de la cola, procesa las imágenes e inserta los datos en la base de datos de destino.
Este enfoque nos ha permitido reducir drásticamente el tiempo de ejecución del proceso ETL levantando tantos procesadores de Fase II cómo necesitemos. Así si hay pocos mensajes en la cosa, tan sólo tenemos un único proceso de Fase II (Tampoco hay que tener procesadores soñando con objas electrónicas ). Si la cola se satura... levantamos tantos procesadores de Fase II cómo consideremos oportuno
Ya se que no es nada nuevo, pero me ha gustado compartir la arquitectura de este proyecto con vosotros.
Por cierto... La arquitectura me la propuso el propio cliente... (Al césar lo que es del césar )
viernes, 26 de junio de 2015
Por qué Open Source?
Algunos días me siento cansado y olvido por qué debemos esforzarnos por usar, promover y exigir el uso de tecnologías de fuentes abiertas. Por fortuna, trabajo con herramientas open source y fácilmente recuerdo el motivo... Es importante utilizar programas open source por el mismo motivo por el que es importante consumir alimentos donde ponga qué ingredientes los componen.
Piensa por un momento.... Consumirías un producto donde explícitamente te niegan la composición? No es lo mismo... Correcto... Pero piensa por un momento....
- Quien te asegura que el sofware que gestiona tu banco hace lo que tiene que hacer y no te sisa céntimos?
- Quien te asegura que el software que usan en hacienda hace los cálculos correctamente y pagas los impuestos que tienes que pagar?
- Quien te asegura que el software que gestiona las centrales nucleares no tiene una puerta trasera y que no habrá un loco que la descubra y la use para infiltrarse.
- Quien te asegura que no se espían tus comunicaciones.... bueno eso ya sabes que SI que se hace.
... por que la gente es buena y nunca a nadie se le ha ocurrido hacer programas malintencionados que ademas de las funcionalidades normales, tiene alguna que otra oculta...
Por estos motivos y muchos más, deberías asegurarte tener el acceso al código.... exactamente igual que con los alimentos..... Yo no me leo la composición de todo lo que consumo, pero saber que tengo esa información accesible y poder consultarla cuando tengo la necesidad me da confianza y tranquilidad...
jueves, 19 de marzo de 2015
Solicitud de Función: Zoom en lo Gráficos
English Version
Pentaho tiene una magnífica librería gráfica CCC pero, cómo cualquier herramienta, siempre hay alguna funcionalidad que te gustaría añadir. Y ese es el caso: hacer zoom en los gráficos. En ocasiones tienes un gráfico con muchos valores y te gustaría poder hacer zoom en gráfico en diferentes puntos más allá de cambiar la selección que genera el gráfico.
No existe una función que te permita hacer zoom en un gráfico CCC (al menos yo no la conozco). Pero SI existe una función que te permite seleccionar un rango de valores en tu gráfico. Por lo que, con un poco de magia, podemos implementar esta función nosotros mismos.
Cómo funciona:
Pentaho tiene una magnífica librería gráfica CCC pero, cómo cualquier herramienta, siempre hay alguna funcionalidad que te gustaría añadir. Y ese es el caso: hacer zoom en los gráficos. En ocasiones tienes un gráfico con muchos valores y te gustaría poder hacer zoom en gráfico en diferentes puntos más allá de cambiar la selección que genera el gráfico.
No existe una función que te permita hacer zoom en un gráfico CCC (al menos yo no la conozco). Pero SI existe una función que te permite seleccionar un rango de valores en tu gráfico. Por lo que, con un poco de magia, podemos implementar esta función nosotros mismos.
Cómo funciona:
- Yo puedo seleccionar una parte del gráfico y obtener los puntos seleccionados
- Yo puedo almacenar esos puntos en una variable
- Yo puedo manipular el dataset del gráfico en el evento postFetch para filtrar los valores que me llegan según los que tengo seleccionados.
sábado, 21 de febrero de 2015
Pentaho Audit Log
Ya he hablado de este tema con anterioridad aquí , y no estoy descubriendo el fuego... es un tema bastante manido pero no por ello menos útil.
De lo que se trata aquí es de redirigir el log de auditoria de Pentaho a una tabla de base de datos que nos permita posteriormente analizarla con un informe cómo se hacía en la anterior entrada o con un cubo de accesos y tiempos de ejecución... :D
Para ello debemos:
De lo que se trata aquí es de redirigir el log de auditoria de Pentaho a una tabla de base de datos que nos permita posteriormente analizarla con un informe cómo se hacía en la anterior entrada o con un cubo de accesos y tiempos de ejecución... :D
Para ello debemos:
Suscribirse a:
Entradas (Atom)