Canyon: Librería para procesar ficheros planos al estilo ORM

Seguro que alguna vez habéis tenido que parsear un fichero plano…(verdad? 😉 )

La primera vez que tuve que enfrentarme con este problema (hace años ya) eché en falta una librería que te permitiera trabajar a más alto nivel, al “estilo Hibernate”…muchos años después…

Canyon es una librería opensouce para el procesamiento de ficheros al estilo ORM, es decir que mapea información del fichero a objetos.

Canyon permite incluso trabajar con ficheros relacionados, así como “persistir” tus objetos mapeados en los ficheros en el formato configurado, además ofrece un mecanismo de extensión para soportar ficheros o reglas no permitidos por defecto..

Cuando veáis como funciona Canyon seguro que llegaréis a preguntaros: y si con Canyon tengo el “Hibernate para ficheros” en mi aplicación no sería mejor usar ficheros para almacenar la información histórica, o los datos temporales de los últimos enemil años…en Canyon también:

Los archivos planos son la manera más eficiente de representar datos ya que el formato y la estructura de datos es implícitamente conocida por el proveedor y el consumidor. Los archivos planos también permiten la transferencia fácil y la compresión. Sin embargo, se pierde la capacidad de fácil acceso a los datos como si fuera de una base de datos. Canyon surge para simplificar el acceso a datos almacenados en ficheros.

En su Getting Started muestran como 3 ficheros se mapean en 3 clases

Es interesante ver lo sencillo que resulta decir como se mapea una clase a un fichero:

– Delimitado:

En este mapeo incluso se ve incluso los joins que relacionan

– De tamaño fijo:

Tras esto basta con generar el fichero de mapeo de Canyon (canyon.cfg.xml), algo como esto:

Y finalmente usarlo, en el ejemplo recuperando los Employee

La version actual es la 0.9.5 y ofrece una muy buena documentación. Podéis descargarlo desde

PD: Seguro que alguno había pagado por esto en su proyecto 😀 :D, yo lo habría hecho…

Respuestas

  1. Vaaaaaaaaaaaaaaaaaaaaa eso cualquiera lo realiza
    Publiquen algo que le sirva a alguien…

    1. Buf! no podría estar más en desacuerdo…:), cualquiera podría hacerse un Hibernate pero sin duda no funcionaría igual de bien!

  2. Reblogueó esto en Un poco de Javay comentado:

    Hoy de casualidad buscaba este post para incluirlo en un correo, qué desilusión cuando he visto que la web de Canyon ya no existe :(, con lo interesante que era esta librería.

    En cualquier caso podéis acceder a la librería con su Javadoc y fuentes en: http://sourceforge.net/projects/canyons/

Replica a Luis Miguel Gracia Luis Cancelar la respuesta