Usos del eXtensible Markup Language (XML)
Comentarios sobre los objetivos del W3C para el XML y ejemplos reales de su uso para desptertar el interés por la tecnología del eXtensible Markup Lenguage.
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:
- XML se debe poder usar directamente en Internet
- XML debe admitir una gran variedad de aplicaciones.
- XML debe ser compatible con SGML.
- Debe ser fácil crear programas que procesen documentos XML.
- El número de funcionalidades opcionales de XML deberá mantenerse en un mínimo absoluto, preferiblemente cero.
- Los documentos XML deberán ser inteligibles para los humanos y razonablemente claros.
- El diseño de XML deberá prepararse rápidamente.
- El diseño de XML deberá ser formal y conciso.
- Los documentos XML deberán ser fáciles de generar
- 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.
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
Hola,
Otro uso es sustituir a los tipicos ficheros de configuracion ini, que solian estar divididos en secciones y demas. Por ejemplo, si no me equivoco las aplicaicones web de JSP llevan un xml con su configuracion. Y el Tomcat usa ficheros xml para su configuracion.
Ademas esta su uso en los Webservices con SOAP, y en su “predecesor” XML-RPC.
Es bueno que la gente conozca para que se utiliza el XML, porque de por si la definicion de XML es muy abstracta.
Saludos.
Exactamente cuando estba escribiendo el artículo pensé en eso, aunque no lo incluí por razones más personales que cualquier otra cosa :-), pero igual, tienes mucha razón.
Un saludo!
El uso más interesante que le he encontrado y que identificas muy adecuadamente es sobre la sindicación de noticias.
El RSS y RDF nos están ayudando a seguir a muchísimos sitios y blogs todos los días. Parte del boom de la blogósfera se debe precisamente a esa facilidad de seguimiento.
De mi parte, por medio de Bloglines (Mis suscripciones: http://www.bloglines.com/public/cvdhs) estoy enterado de noticias e interesantes comentarios de mucha gente en todos lados.
Como webmasters tienen que sindicar los contenidos de su sitio. Y como usuarios, aprovechar esa tecnología para estar enterados.
faltan ejemplos reales para ver como funciona..si es que funciona..!!
David.. hay hay ejemplos reales, mira lo de los lectores RSS, es algo que se está volviendo muy común entre los Bloggers y esto es gracias al estandar XML, del cual se deriva.
contenido pobre…
Util articulo que me hace entender mejor de las funcionalidad e utilidades del xml, que sera todo una revolucion y de gran utilidad por las diversas formas que nos pueden apoyar el uso del xml, en el caso del xbrl, el reporte financiero digital, que se esta utilizando con fuerza, Microsoft y 40 empresas mas ya informan sus Estados Financieros usando el Xbrl.
saludos
Algunos ejemplos de MathML, VML y CML serian buenos
Man!!!!! este articulo esta en maestrosdelweb, solowebmasters.net, hackingballz, tribuxml.org …… por que haces eso???
Lo importate es no donde se encuentre el artículo, yo no le pongo ninguna licencia a los artículos, los comparto con las comunidades a las cuales estos les agradan, mientras más conocimiento de XML haya es mucho mejor.
citando: De este servicio mi conocimiento es nulo, pero XML …
¿para que escribes tratando de enzeñar si no sabes de lo que estas hablando???
ESTE ARTICULO ES UNA COPIA DEL LIBRO “APRENDA XML YA”, DE MICHAEL YOUNG ….
NO ES UN ARTICULO ORIGINAL, ES UNA COPIA
He visto ya en varios articulos de Alejandro Cadavid López o CUBIs que el hace copy paste de muchos articulos y de muchas de las cosas que habla sin atribuirle al autor original del articulo los reconocimientos. Porfavor Alejandro Cadavid López cite fuentes, usted lo que hace es COPIAR Y PEGAR ARTICULOS creo que esa no es una filosofia de gente realmente inteligente.
Juan Camilo.
[email protected]
me parece interesante
Bueno VML no es el lenguaje de Graficos vectoriales no es VML es SVG Scalable Vector Grafic y pueden descargar el PlugIn de la pagina de Adobe http://www.adobe.com/svg/viewer/install/main.html (no he probado esta ultima version del plugin pero debe de traer bastantes mejoras al parecer) para visualizar Documentos SVG http://www.w3c.org/Graphics/SVG/
Yo puedo mostrarles algunos ejemplos de SVG y MathML explicando como los hice y como deben de ser visualizados y espero poder enseñarles algo de SMILE
Me gustaría sustituir los archivos ini de mis aplicaciones en visual basic 6, por ficheros xml. Alguien sabe donde puedo conseguir mas informacion de como poder hacerlo?
Gracias
PAC