Desarrollo web: Importación de datos

Cada vez es más habitual que cuando desarrollas una web tengas que importar datos de la aplicación de gestión tradicional del cliente para mostrarlos en la web. Ya sea de una manera asíncrona o ya sea con una conexión en tiempo real ningún cliente quiere el doble trabajo de actualizar una aplicación de gestión y una web.

¿Qué problemas supone esto para un programador web? Pues o ninguno o muchísimos, depende de cada caso. He tenido trabajos en los que la importación de datos me ha llevado 2 horas y he tenido trabajos en los que la importación de datos se ha llevado semanas. Todo depende de como se nos suministren esos datos.

¿Cómo evitar estos problemas? Pues os voy a dar unos consejos para minimizarlos que he ido aprendiendo por el camino:
  • Desde el principio debes dejar claro a tus jefes y al cliente que tú eres el desarrollador de su web, no de su programa de gestión (del que no tienes ni idea) así que cuanto más facilito te lo den todo mejor.
  • Hazte un listado de los datos que necesitas mostrar en la web y pelea como un jabato para que te den esos y sólo esos datos.
  • Consigue contacto directo con el informático de la empresa cliente y si es posible con el desarrollador del programa, te solucionará muchas dudas. Necesitas desesperadamente a alguien que conozca las tripas de ese programa.
  • Si no consigues que te den sólo los datos que pides evita que te den una copia "tal cual" de sus bases de datos, que el informático del cliente intente darte sólo las tablas en las que hay datos que te hacen falta.
  • Ten en cuenta las limitaciones de tu servidor de hosting, suelen ser compartidos y a ciertas horas del día van tan saturados que van muy lentos en la importación, los errores de "timeout" serán frecuentes.
  • Pon límites de tamaño a los ficheros a importar, si no pones tú los límites los pondrá la realidad haciéndo que quedes fatal.
  • Explica, explica, explica... los jefes y los clientes se creen que los datos se importan así cómo así.
  • Ten paciencia y no te quemes, como en cualquier proyecto en el que participan varias empresas diferentes los malentendidos y los retrasos son habituales.
  • PHP es un lenguaje para web, no es un buen lenguaje para organizar una importación de datos (y más si el origen de datos es de una aplicación Microsoft).
  • Hay un maravilloso formato llamado "csv", si te pueden enviar los datos en ese formato mejor.
  • Si falla el "csv" siempre nos quedará el "xml", es también un buen formato para enviar datos entre aplicaciones.
Pues nada, espero que a alguien le sirva mi experiencia :)

Comentarios