Monthly Archives: December 2007


Kettle, la navaja suíza de la ETL

Kettle¿ETqué? Sí, eso es lo que pensamos todos cuando escuchamos esto. ETL son las iniciales de Extract, Transform an Load, esto es, coger datos desde una fuente, transformarlos y volcarlos a otro soporte. ¿Y en qué consiste esto?, pues por ejemplo en coger los datos de un fichero Excel y cargarlos en un MySQL ¿aún pensáis que nunca habéis utilizado la ETL?

En muchos proyectos hay que realizar ETL, pero normalmente no tan sencillas como el ejemplo anterior, sino que debemos combinar datos de varias bases de datos, adaptarlos, mezclarlos y volcarlos a otra base de datos, interconectando distintas aplicaciones en la empresa, como por ejemplo pasando la lista de clientes de un CRM a un sistema de gestión de incidencias de forma periódica, etc.

Como “buenos” programadores, lo primero que se nos ocurre es tirarnos a picar código en nuestro lenguaje de programación  favorito que haga estas integraciones de datos… si, yo también lo hice, aunque Frive ya me enseñara el Kettle en los maravillosos años de Shylex… El problema es que programarlo es muy propenso a errores y a la larga también más costoso en tiempo.

Con el Kettle, disponemos de una herramienta que nos permite definir estas transformaciones de forma gráfica, interconectando bloques que tienen diversas funciones. Es tremendamente versátil, ya que tenemos bloques que nos permiten leer y escribir de cualquier base de datos, fichero Excel o CVS, Access, etc. y otros que nos permiten operar con los campos renombrando, normalizando, calculando campos en función de otros, mapeando valores, realizando buśquedas auxiliares en bases de datos, normalizando/desnomalizando los datos de distintas filas en una sóla, etc, etc. Las transformaciones que se hacen con el Kettle se guardan en un fichero ktr que luego puede ser ejecutado desde línea de comandos o un fichero batch.

Ahora mismo o lo estoy usando para pasar datos de un sistema de contabilidad y una aplicación de control de producción a un ERP, y de momento no me he encontrado nada que no se pueda hacer con el Kettle, eso sí, hay un bloque que permite ejecutar código javascript dentro de las transformaciones y que estoy utilizando extensamente…

En fin, aprender a utilizar el Kettle lleva un par de días, pero a la larga ahorra mucho más trabajo, así que, una vez más hay que pensar un poco las cosas antes de tirarse al monte a picar código :D.


¿Cómo montar un sistema de mensajería instantánea corporativa?

Asterisk

La mensajería instantánea (IM en adelante) es uno de los mayores destructores de la productividad de la gente que trabajamos delante de un ordenador, y aunque algunas empreas utilizan de forma corporativa el Messenger o el Skype, la gente tiene a sus contactos personales que le generan continuas interrupciones. Lo que sí tiene mucha utilidad a la hora de comunicarse entre empleados es montar un servidor de IM corporativo, es decir, en el que sólo está conectada la gente de la propia empresa y que sólo se puedan comunicar entre ellos.

Para esto, la primera opción que se me ocurre es Jabber, utilizando Openfire como servidor y un cliente como Pigdin (el antiguo Gaim), pero ya puestos, y con vistas de futuro ¿por qué no montarlo sobre SIP con un Asterisk como servidor, utilizando softphones con gestión de presencia como clientes (como por ejemplo el OpenWengo)?. En principio los pros y los contras que veo yo son los siguientes

A favor de Jabber:

  • El protocolo de Jabber (XMPP) es más sencillo a la hora de traspasar los firewalls que SIP
  • Los clientes SIP que he probado no permiten el envío de ficheros entre contactos
  • Lo escogió Google para el Talk

A favor de SIP:

  • Es un estándard
  • No encuentro un cliente Jabber opensource y multiplataforma con soporte de voz, con lo cual si además de texto se quiere utilizar voz, SIP me parece la mejor opción
  • Se puede integrar con un despliegue de telefonía IP en la empresa, y también con los móviles de empresa, ya que muchos Nokias con WiFi (E65, p. ej.) traen integrado VoIP SIP.
  • Se podría conectar el Asterisk a la red telefónica para desde el softphone se puedan realizar llamadas a cualquier teléfono.

Parece ser que el tema de la mensajería instantánea y la VoIP tiende a converger, pero por el momento, a mí lo que más me convence es la opción de SIP. Se agradecen sugerencias y comentarios….


Me paso a la construcción @Castelo

Castelo

Cuando empecé a hacer la casa comentaba medio en serio medio en broma que era mejor dedicarse al sector de la construcción… pues ahora ya estoy de pleno en este sector, y es que acabo de comenzar a trabajar en una empresa del grupo Castelo de prefabricados de hormigón, eso sí, de informático, pero en la construcción de todas formas.

El reto inicial es completar la implementación de JD Edwards Enterpise One, un CRM/ERP de Oracle (el que PeopleSoft compró a la empresa JD Edwards y quedó integrado dentro de Oracle cuando PeopleSoft fue adquirida por ésta, y que ahora Oracle integrará en su próximo Oracle Fusion). Como aplicación es tremendamente potente y versátil, pero se encuentra con el mismo problema que todos los ERPs, la adaptación a la empresa… y a eso me dedicaré…


IES4Linux, Internet Explorer en Linux

IES4Linux

Como aún hay quién no lo conoce, y para los que usando Linux sufrimos el que haya desarrolladores web que hagan páginas que sólo funcionan en Internet Explorer, que sepáis que hay esta excelente aplicación.

Se trata de un instalador que sobre Linux y con el emulador de windows Wine, instala el Internet Explorer… ¡Si! y pasamos a tener el Internet Explorer como una aplicación más de nuestro escritorio. Además permite instalar varias versiones: la 5, la 5.5, la 6 y la 7 (esta última en beta y no va bien)… y permite tener varias de éstas instaladas ¡a la vez! y así probar un mismo sitio web en distintas versiones de Explorer. Además se puede instalar sin ser root… ¿que más se puede pedir?

Bueno, para los linuxeros, no puedo hacer más que recomendaros encarecidamente el IES4Linux.