Coding Samples

Otro blog sobre programación

¿Para qué es bueno XML?

Hace unos días estuve leyendo el artículo What’s XML really good for? (en inglés) y me pareció bastante interesante, por lo que me he decidido a escribir aquí algunas reseñas con lo que me pareció más importante.

Por supuesto, este artículo no pretende ser una guía que marque el uso del XML, puesto que cada desarrollador podrá tener su propia opinión acerca de dónde y cuándo ha de usarse esta tecnología. No obstante, el autor comenta lo siguiente acerca de XML:

Uso de XML para los datos de configuración. Habitualmente, los programadores utilizamos ficheros de configuración propietarios, o ficheros que almacenan pares de nombres/valores, o cualquier otra disposición que se nos ocurra. XML puede sustituir a todas estas técnicas distintas para almacenar datos de configuración.

El principal problema que se plantea con esto es que normalmente el uso de un XML necesitará un mayor espacio de almacenamiento. Por ejemplo, almacenar el nombre y apellidos de una persona, en un fichero de pares nombre/valor, sería:


Nombre=Jose
Apellido1=Martínez
Apellido2=Pérez

En el caso de usar XML, tendríamos lo siguiente:


<xml version="1.0"?>
<configuracion>
<Nombre>Jose</Nombre>
<Apellido1>Martínez</Apellido1>
<Apellido2>Pérez</Apellido2>
</configuracion>

Además de este aumento de espacio, el uso de XML también hace necesario el empleo de algún método para el manejo de la información, que en el caso de los ficheros de configuración habituales es mucho más simple. Pero entonces, ¿qué parte positiva tiene el uso de XML? Pues básicamente la flexibilidad que ofrece y la posibilidad de ofrecer el mismo formato de configuración fácilmente reutilizable en cualquier aplicación que se desarrolle.

Uso de XML para la transferencia de datos. En algunas aplicaciones se está usando el lenguaje XML como medio de comunicación. Incluso, dentro de una misma aplicación se puede usar XML para el envío de información. Sin embargo, el problema que plantea este uso es el mismo que el comentado en el apartado anterior, es decir, la sobrecarga que se introduce al usar XML. Para el autor, sería mejor el uso de datos serializados o incluso los mismos objetos del lenguaje de programación con el que se está trabajando.

En el caso de envío de información entre aplicaciones distintas, se sigue teniendo el problema de la sobrecarga, pero sin embargo la flexibilidad que ofrece este método puede bien merecer la pena. El uso de XML en este caso hace posible la despreocupación acerca de la forma en que se envían los datos. Una aplicación envía un XML, la otra lo recibe, y a partir de ahí puede manejar los datos de dicho XML como necesite, sin ninguna complicación más.

Personalmente, en el lugar donde trabajo hace algún tiempo comenzamos a utilizar XML en diversas partes de nuestro desarrollo. En general, comparto todo lo comentado por este autor en el artículo. Sin embargo, yo voy un paso más allá para comentar que, en algunos casos puntuales, el uso de XML puede introducir una sobrecarga en el rendimiento que puede llegar a convertirse en un serio problema. En nuestro caso, el procesamiento de un número elevado de documentos XML ralentizaba la aplicación y tuvimos que retocar varias cosas hasta que conseguimos que el asunto hilara fino. Pero en definitiva, creo que las ventajas que ofrece XML son superiores a los posibles problemas con los que te puedes encontrar.

Marzo 20, 2007 Publicado por codingsamples | XML | | Aún no hay comentarios