lunes, 10 de marzo de 2008

XML hasta en la xopa

A principio de la década se empezó a escuchar mucho sobre un "nuevo" lenguaje, pero no de un lenguaje de programación, más bien era de lenguaje de marcado, sí, un lenguaje parecido al HTML con el que se hacen las páginas Web. Este lenguaje era XML y por ese entonces causó mucho revuelo, prometía muchas cosas y había muchos a favor pero también muchos otros un tanto escépticos. Entre sus principales característica era que se podría lograr el intercambio de información entre distintas máquinas, sistemas operativos y/o aplicaciones, dotando a estas últimas un nivel de integración que jamás se había visto. ¿cómo iba a ser esto posible?

A muchos no les toco la éra donde las Mac y las PCs no se hablaban, y tratar con las demás plataformas era casi un sueño, querer pasar tus archivos de un lado a otro era un problema, si eso mismo lo trasladamos a las aplicaciones empresariales, esas que manejan muchísima información y que sale muy caro reemplazar, es fácil darse cuenta que el problema no es trivial. Por otro lado se necesitaban hacer más sistemas, sistemas que a su vez se comunicaran de forma transparente con los que ya existían, de ahí surgió la necesidad de un lenguaje de intercambio independiente de la plataforma y/o aplicación que a su vez fuera sencillo de implementar, leer e interpretar.

Como la idea era poder leerlo en cualquier computadora se tenía que codificar de forma relativamente sencilla por eso se escogió codificar en archivos de tipo texto. Pero realmente no se inventó la rueda nuevamente pues se utilizó un subconjunto del estándar SGML, pero obviamente más general que HTML.

Para los puristas XML no es un lenguaje como tal, porque es un lenguaje útil para definir otros lenguajes más específicos (a lo que algunos lo llaman meta-lenguaje). Se basa en una estructura jerárquica(tipo árbol) que es fácil de entender por humanos y de procesar por las máquinas.
Para los que aún no lo conocen, imaginen que es casi igual al código de una página Web, pero con la capacidad de qué puedes definir más o tus propias etiquetas.


Todavía hace unos 5 años había gente que creía que sólo se trataba de una moda, pero el hecho es que ha ganado terreno en prácticamente todo tipo de aplicaciones, por ejemplo:

  • los archivos de OpenOffice (necesitas descomprimirlos primero),
  • guardar la definición de bases de datos en MySQL, con MySQL Workbench (.mwb),
  • la automatización de compilación en Java con ANT (build.xml),
  • los archivos para definir sitios en GoogleMaps (.kml), así como los que definen edificios
    en GoogleEarth (.kmz comprimidos), por ejemplo el Edificio T y Anexo del T de la UAM Iztapalapa.
  • bases de datos de Oracle,
  • configuración de servidores como Apache,
  • crear imágenes vectoriales en formato SVG,
  • ser la X en las aplicaciones AJAX,
  • en los Web Services (WSDL),
  • como base para la construcción de la Web del futuro: la Web Semántica.
  • entre otros muchos


Fuente: Tim Berners-Lee. Semantic Web Architecture

Esto me hace pensar que XML contrario a ser una moda como algunos llegaron a suponer, llegó para quedarse, tanto que podría decirse que hay XML está hasta en la xopa. Pero cuidado, XML tampoco es la panacea ni todo son ventajas, tanto que existen alternativas que pueden cumplir la misma función pero obteniendo ganancias importantes en otros aspectos, como lo son YAML o JSON.

¿aún no lo conoces? entonces ¿qué esperas?.

No hay comentarios: