rui


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.


SIMO 2007

SIMO

Este año estaré en el SIMO 2007 el miércoles, jueves y viernes en el stand de Quobis. Los que se acerquen por IFEMA y quieran localizarnos es muy fácil, estaremos en el pabellón 4, detrás del estand de Panda internet – SecurityInfo

Llevamos a la feria un arsenal de productos de VoIP, desde soluciones click2call hasta telefonos móviles híbridos VoIP, videoteléfonos, centralitas, sistemas de señalización y también soluciones en otras líneas de negocio como streamming, set top box, etc.

Lo dicho, que si os paśais por allí venid a hacernos una visita, intentaremos venderos algo, y si no lo conseguimos, al menos disfrutaremos de nuestra mutua compañía.


Aplicaciones opensource de ayuda a las funciones empresariales

En las distintas funciones empresariales hay una serie de aplicaciones de codigo libre (Opensource) que pueden facilitar tremendamente a la organización de las tareas:

Función Financiera

Lo que se suele necesitar en es un programa de facturación y contabilidad. Para PYMES tenemos el AbanQ, que es el antiguo Facturalux, y para empresas más grandes se suelen utilizar soluciones integradas dentro de los ERPs, como OpenXpertya o OpenBravo.

Función de Marketing

Lo que se suele necesitar es una gestión de los clientes y de los comerciales, así como de las ventas que hace cada comercial, planificación de visitas/llamadas, oportunidades de venta, etc. Esto se suele hacer con un CRM, que como su nombre dice (Customer Relationship Management) es una aplicación que nos sirve para gestionar nuestra relación con los clientes. De entre todos los CRMs OpenSource, yo personalmente prefiero el SugarCRM, aunque también se puede utilizar los CRMs integrados dentro de los ERPs.

Otro aspecto muy importante en la relación con el cliente es la gestión de incidencias relacionadas a los productos que vende nuestra empresa. Para ello se suelen utilizar sistemas TTS (Trouble Ticketing Systems), en los cuales se introducen las incidencias como Tickets, que son asignados a personas o equipos de trabajo que se encargan de resolverlos. El sistema de TTS OpenSource que más me gusta es el OTRS, que está implementado en PHP/MySQL.

Función de Recursos Humanos

La gestión de los empleados se suele hacer dentro del CRM de la empresa, pero para la gestión de las relaciones laborales suele ser util tener una aplicación de groupware que nos gestione el calendario, los contactos, el correo, etc.. como E-Groupware o TikiWiki.

Función de Producción

El software que puede ayudar en este área depende mucho del tipo de empresa. Para las empresas de producción de bienes de toda la vida, se suele necesitar un ERP convencional para la gestión de compras, ventas, línea de producción, etc. como por ejemplo OpenXpertya o OpenBravo.

Para las empresas que se dedican a la programación, una solución que considero muy buena es el GForge, que es como un SourceForge pero de código libre. Éste nos permite organizar nuestros proyectos y programadadores, integrando CVS, gestión de releases, documentación, planificación, foros, bugs, etc.


Zoho y el futuro de las aplicaciones web

Zoho

Hoy Félix de Wireless Galicia me enseñó este conjunto de aplicaciones web: Zoho, realizadas por la empresa india AdventNet.

Para aquellos que aún se mostraban un poco excépticos con Google Docs, o para los que aún siguen en el debate de si aplicación local o aplicación web, Zoho les abrirá los ojos. Y es que las aplicaciones de las que dispone son de lo más variopinto: desde procesador de texto, hoja de cálculo, presentaciones y base de datos, hasta gestor de proyectos, CRM, y programa de conferencias web. Poco más se puede necesitar en el dia a dia de trabajo en una empresa.

Y todo de forma online desde nuestro navegador de Internet, sin largas descargas y desde cualquier ordenador y ubicación.  Yo ahora sí lo tengo claro: el futuro está en las aplicaciones web.


Curso de introducción a las comunicaciones por Internet

Hoy he impartido este breve (4h) pero interesante curso en la academia Aula Estudio del cual explico el programa y pongo los enlaces de las páginas web que utilizamos:

  • Presentación
  • El navegador de Internet
    • Botones: atrás, adelante, recargar
    • Barra de direcciones
  • Direcciones de páginas web, ej: periódicos en Internet (http://www.elpais.com, http://www.elmundo.es)
  • Buscadores: Google (http://www.google.com)
    • Buscar en páginas
    • Buscar en imágenes
  • El correo electrónico: GMail (http://www.gmail.com)
    • Direcciones de correo electrónico
    • Crear una cuenta en GMail
    • Leer mensajes de correo
    • Enviar mensajes
    • Copias de mensajes (CC, CCO) y responder a correos
    • Enviar una dirección web a otro usuario
    • Enviar un fichero adjunto
  • La mensajería instantánea: Google Talk
    • Utilización de Google Talk integrado en GMail
  • El calendario: Google Calendar (http://calendar.google.com)
    • Introducción
    • Alta en Google Calendar
    • Vistas del calendario: día, mes, semana y agenda
    • Creación de un evento
    • Configuración del teléfono móvil
    • Invitar a eventos a otros usuarios
    • Notificaciones de eventos
  • Enciplopedia en Internet: Wikipedia (http://es.wikipedia.org)
    • Introducción: participación de los usuarios y la web colaborativa
    • Búsqueda y consulta de artículos
  • Consulta de mapas: Google Maps (http://maps.google.com)
    • Buscar una dirección
    • Tipos de mapas (mapa/satélite/híbrido)
    • Calcular rutas
    • Vista a pie de calle (Street View)
  • Páginas de videos: YouTube (http://www.youtube.es)
    • Búsqueda de vídeos

Y hay otras muchas cosas que me quedarían en el tintero para unas 3 horas más:

  • Agregadores de noticias: Google Reader (http://reader.google.com)
    • Lectura de noticias
    • Agregación de sitios
    • Introducción al RSS
  • La publicación en Internet, los blogs: Blogger (http://www.blogger.com)
    • Introducción a los blogs
    • Creación de una cuenta en Blogger
    • Publicación de un post
    • Las suites ofimáticas en Internet: Google Docs (http://docs.google.com)
      • Introducción
      • Creación de un documento de texto
      • Creación de una hoja de cálculo
    • Voz sobre Internet: Skype (http://www.skype.es)
      • Introducción a la Voz sobre Internet
      • Instalación del programa y creación de una cuenta en Skype
      • Realizar una llamada por Internet
    • Televisión por Internet: Zattoo (http://www.zattoo.com)
      • Introducción al futuro de la TV sobre Internet
      • Instalación de Zattoo y creación de una cuenta

    En fin, a los que habéis asistido ya sabéis, cualquier duda que os hubiera quedado, enviádmela al correo y os la contestaré.


    SIP Communicator

    SIP Communicator

    Buscando clientes de VoIP para Linux me he encontrado este excepcional softphone en Java, que además tiene soporte para muchos protocolos de mensajería: MSN, ICQ, Jabber, Jahoo! Messenger, IRC, etc. e incluso permite realizar videollamadas por SIP.

    Fue desarrollado durante el Google Summer of Code de este año. A mi parecer es un poco pesado, ya que utiliza OSGI para la intercomunicación entre sus componentes (con la librería Apache Félix).

    Y no penséis que cuando digo “pesado” es por vicio: tras compilarlo la carpeta de mi workspace de Eclipse ocupa la nada despreciable cantidad de 120 MB!

    Por esto el código es bastante engorroso, pero aunque no me gustaría desarrollar sobre él, las funcionalidades que ofrece son tremendamente interesantes.