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 utlidad 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 boton obtener actualizaciones
del sitio, para acceden en ocaciones 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 conosco (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 eh encontrado de XML, hay miles más
que cada uno ira descubriendo a medida que conosca más
XML y sus tecnologías.
Espero que este artículo
sea de agrado de todos, dudas, aportes y comentarios, seran recibidos
en cubis AT tribuxml DOT org
Articulos
Por Alejandro Cadavid López
|