Desde que XML salió a la luz, los programadores y desarrolladores se han sentido desubicados en cuanto a los usos reales del XML. El W3C (World Wide Web Consortium), quienes fueron los desarrolladores de este lenguaje le dieron 10 objetivos principales, los cuales nombraré en este artículo. Los objetivos no son suficientes así que también es importante conocer los usos aplicables al mundo “real” los cuales nosotros, los Webmasters y desarrolladores en general podemos aplicar para ahorrar recursos y en ocasiones presupuesto para nuestras aplicaciones solo usando XML.

Estos fueron los 10 objetivos definidos por el W3C para XML:


  1. XML se debe poder usar directamente en Internet
  2. XML debe admitir una gran variedad de aplicaciones.
  3. XML debe ser compatible con SGML.
  4. Debe ser fácil crear programas que procesen documentos XML.
  5. El número de funcionalidades opcionales de XML deberá mantenerse en un mínimo absoluto, preferiblemente cero.
  6. Los documentos XML deberán ser inteligibles para los humanos y razonablemente claros.
  7. El diseño de XML deberá prepararse rápidamente.
  8. El diseño de XML deberá ser formal y conciso.
  9. Los documentos XML deberán ser fáciles de generar
  10. La concisión en los marcadores XML tiene una importancia mínima.

La explicación de cada objetivo queda fuera de este tutoriales, pero si deseas leerla, la puedes encontrar en http://www.w3.org/


Ya conocemos los objetivos… ahora veamos los usos de la vida real.


Nota: Estos usos no son oficiales, son usos que yo he notado que se pueden dar ya que XML posee las herramientas para ejecutarlos. Estos usos son solo una explicación, no daré códigos en ningún lenguaje, solo ejemplos textuales.

XML como base de datos.

El uso principal de XML es estructurar datos, recibirlos y/o enviarlos, pero también podemos guardar datos en nuestros documentos para que sean tratados luego con X lenguaje. XML se convierte en una muy buena posibilidad porque si por ejemplo tenemos una pequeña web donde diariamente pongo algún artículo o nota pero no tenemos el dinero para pagar un hosting con bases de datos MySQL y PHP entonces XML puede reemplazar a MySQL y además de esto, XML es mucho más simple que usar MySQL ó usar archivos de texto planos.

Sindicación de noticias.

XML/RSS/RDF son términos bastante conocidos por los famosos “Bloggers”, personas que tienen su propio Weblog (un pequeño diario publico generalmente). Estas tecnologías tienen como base, documentos XML, en este caso la sindicación de noticias es un nuevo servicio que permite obtener información de un documento XML generado automáticamente por un sistema de publicación, como Movible Type ó B2 (CafeLog). Una de las bondades o servicios de RSS/RDF es poder sindicar las noticias de un sitio en mi sitio, es decir, si un sitio X permite la sindicación de noticias, con un Script en X lenguaje puedo hacer que esas mismas noticias aparezcan en mi Web.


También podemos notar los FeedReaders o lectores de noticias RSS, son programas que permiten agregar la URL de un sitio (más exactamente, el archivo RSS o RDF que permite la sindicación) y sin necesidad de visitar ese sitio, recibir las novedades y las noticias de este.

Más sobre Blogs/Weblogs:

http://www.minid.net/informacion/que_es_un_weblog.php


http://www.maestrosdelweb.com/blog/archives/000001.php#blog



Más sobre RDF/RSS y sindicación de noticias:

http://www.webpersonal.net/gatmorgan/comorss.htm

http://usuarios.lycos.es/newster/rss.html

http://www.bolsaone.com/www/xml/xml.asp?lang=es

http://www.pjorge.com/archivo/2003-01-23/11:49:53/

http://www.gen7es.net/documentos/rssintro.php


Lectores de noticias RSS:

http://www.feedreader.com/

http://www.feedster.com//

http://www.bloglines.com/

XML para ahorrar recursos.

En el negocio de la informática es un tema supremamente importante el ahorro de recursos en servidores. Este ejemplo nos va a mostrar como es posible ahorrar consultas a bases de datos.


Supongamos que tenemos una gran base de datos con información de los clientes de la empresa… pero ojo, esta base de datos también aloja otra información que es constantemente actualizada, lo cual genera un consumo alto de recursos… Pero volviendo al tema, a la información de esos clientes (teléfono, dirección, E-mail, fax, etc.) acceden cerca de unas 400 maquinas, quienes son los vendedores de nuestra empresa quienes necesitan información de cada cliente, pero hay un problema, no todas las aplicaciones están construidas en el mismo lenguaje, unas están en Visual Basic, otras en Java y algunas están en la web y usan PHP, así que lo lógico es que cada maquina haga una consulta a la base de datos haciendo una búsqueda entre los registros y sacando el cliente que necesitamos, pero eso nos da como resultado un consumo de recursos más alto… además, recordemos que constantemente se agregan más y más clientes.

Entonces, aquí hace su entrada XML, como XML es un estándar, cualquier lenguaje puede trabajar fácilmente con el así como se dijo en el objetivo número 4 de los Objetivos definidos por el W3C. Ahora, lo que podríamos hacer es una serie de archivos XML que solo hagan una consulta a la base de datos (con una utilidad llamada XSQL u otro lenguaje de programación) y alojen los datos de cada cliente en estos archivos (los cuales se actualizaran cada tanto tiempo, esto definido por el programador por lo de los nuevos clientes) y así que las otras maquinas accedan directamente a los archivos XML y no a la base de datos ahorrándonos así cerca de unas 390 consultas a la BD que en términos generales es bastante. Recordemos que este ejemplo también lo podemos abordar para otros tipos de datos y casos similares pero en los cuales XML es bastante útil.

XML para el almacenamiento de gráficos vectoriales.

De este servicio mi conocimiento es nulo, pero XML posee una utilidad llamada VML (Vector Markup Lenguaje) lo cual nos ayuda en esta tarea.

Actualización de software.

Algunos de los programas de esta generación permiten con un botón obtener actualizaciones del sitio, para acceden en ocasiones a archivos XML los cuales contiene la información de los paquetes nuevos y la información de las actualizaciones.

Formulas matemáticas con XML.

Para esto, el W3C a creado el MathML (Mathematical Markup Lenguaje)

Estructuras moleculares e información cientifica y quimica.

Para esto, disponemos de CML (Chemical Markup Lenguaje)

Y por ultimo XML para intercambio de información contable.

Este es una utilidad de XML que apenas conozco (Gracias a Miguel Patricio de Perucontable.com) se trata de XBRL el cual es un derivado del XML que permite intercambiar datos estadisticos y contables de empresas y Pymes.


Más sobre XBRL:

http://www.perucontable.com/modules/news/article.php?storyid=2


Estos son algunos de los usos que yo he encontrado de XML, hay miles más que cada uno ira descubriendo a medida que conozca más XML y sus tecnologías.


Espero que este artículo sea de agrado de todos, dudas, aportes y comentarios, serán recibidos en cubis AT tribuxml DOT org