NewsML – XML para las noticias

2

Posted on : 16-12-2008 | By : Carlos Cordero | In : Internet, Java, Software

No creo que sea un misterio que en la actualidad trabajo en un proyecto muy relacionado con el mundo del periodísmo por lo que día a día voy conociendo un poco más sus “tripas”.

Posiblemente una de las cosas que más me ha llamado la atención es el intercambio de información entre las agencias de noticias y sus clientes. Aunque no todas trabajan igual… sería facilitar demasiado el trabajo, si existen algunas normativas al respecto que se cumplen en mayor o menor medida: NITF y NewsML.

Especialmente me resulta curioso NewsML, todo un sistema de intercambio de información XML con un DTD muy bien definido y que permite incluir mucha información (texto, imagen, sonido, video, documental…). Facilita mucho la vida parsear esta clase de información y crear todos los contenedores de objetos; aunque no se cumpla al 100%, desde luego hay menos cosas a modificar que si cada agencia te envía su fichero de texto plano con su propio formato.

Por cierto, en mi caso lo estoy haciendo sobre Java y por si alguien quiere echarle un vistazo, Reuters publicó bajo open source una completa librería de parseo: http://newsml-toolkit.sourceforge.net/

Trabajando con XML y Java – JDOM

0

Posted on : 24-11-2008 | By : Carlos Cordero | In : Java, Software

Existen distintas formas de trabajar con XML desde Java, posiblemente la más conocida sea SAX (Simple API for XML) que se ha convertido en una especie de estándar “de facto”.

Sin embargo, existen otras librerías que permiten la manipulación de ficheros XML de forma más optimizada, un claro ejemplo es JDOM. Se trata de una librería creada específicamente para su uso con Java por lo que su implementación resultará muy cómoda e intuitiva para los programadores de dicho lenguaje, doy fé de ello.

Como con la mayor parte de librerías, se incorpora en el proyecto como fichero .jar, por lo que los primeros pasos son muy sencillos. Un ejemplo de implementación para la escritura de un fichero a partir de una colección de datos en el este enlace.

Espero que os sirva :)

Almacenando datos de intercambio – SQLite

0

Posted on : 18-11-2008 | By : Carlos Cordero | In : Software

En más de una ocasión nos encontramos ante la necesidad de almacenar datos que podríamos definir como pseudo-temporales, es decir, datos de intercambio. Esto es, datos que SQLitetendremos que almacenar durante algun tiempo (minutos, horas, quizás días…) y a los que tendremos que acceder con relativa rapidez y que incluso pueden tener un tamaño considerable (en número de registros).

Cuando no podemos/queremos depender de ninguna aplicación extra (tal y como puede ser un servidor de base de datos SQL), se tiende a pensar en la mayor parte de las ocasiones en el uso de ficheros de texto plano donde almacenar la información. Personalmente, no me gusta, en cuanto se tiene una cantidad decente de información, los accesos se vuelven lentos, y no mencionemos la poca seguridad en cuanto a integridad se refiere…

Existe una segunda opción, el uso de ficheros XML. Mejoramos la organización y acceso a los mismos, pero vuelve a existir el problema con el volumen de información… al fin y al cabo es un fichero de texto.

Llega la tercera opción, el uso de SQLite. Según leemos en la página web, SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. Esto es, una librería que incluye un motor SQL sin necesidad de instalar ningún servidor, con soporte transaccional y sin configuración.

SQLite cumple los requisitos que hemos puesto en cuanto al no uso de servidores añadidos ni extrañas configuraciones que puedan no estar soportadas en servidores externos. También cumple los requisitos con respecto al uso de ficheros de texto plano, dado que al ser un motor SQL, se utiliza como tal.

Existen “bindings” para la mayor parte de lenguajes de programación utilizados en mayor o menor medida, con una lista oficiosa que puede ser consultada en http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers.

Este post no pretende ser un manual de uso de SQLite, por lo que a continuación dejo algunos enlaces con más información para su uso:

  • http://www.sqlite.org/quickstart.html
  • http://www.sqlitemanager.org/
  • http://es.wikipedia.org/wiki/SQLite