Otros lenguajes derivados del XML
Introducción
Este capítulo ofrece una breve descripción de los derivados de XML más comunes. Debemos distinguir los lenguajes "subconjuntos" de XML de los lenguajes derivados de XML dedicados a un determinado tipo de intercambio (como los intercambios B2B o los servicios web).
Desde la primera especificación oficial de XML, se han desarrollado muchos derivados de este metalenguaje. Estos numerosos desarrollos han tomado dos direcciones distintas. En primer lugar, el lenguaje XML ahora está compuesto por subconjuntos que lo convierten en la actualidad prácticamente en un lenguaje de programación. Luego, el sector del intercambio B to B (Business to Business) ha sabido sacar provecho de las ventajas de XML para crear lenguajes dedicados. De hecho, el XML, al ser más sencillo que el SGML y más avanzado que el HTML, es un medio de estructuración de la información eficiente y asequible que aprovechan casi todas las tecnologías emergentes. Este capítulo ofrece en su primera parte un resumen de los lenguajes que componen el XML en la actualidad, y en su segunda parte nos presenta un panorama de los lenguajes diseñados para satisfacer las necesidades de los intercambios B2B, desde los servicios web hasta los lenguajes dedicados.
Los subconjuntos de XML
La siguiente tabla enumera los lenguajes de XML. Todos nacieron por iniciativa del W3C y representan propuestas, análisis y recomendaciones.
Lenguaje |
Descripción |
XML eXtensible Markup Language (recomendación) |
Especificación básica del lenguaje XML. |
XSL/XSLT eXtensible Stylesheet Language |
El XSL permite dar formato a los documentos XML. |
XML Schema (recomendación) |
XML Schema permite describir y validar los datos XML mediante la inclusión del concepto de tipo de datos. |
XML Namespaces |
Los espacios de nombres permiten incluir en los documentos XML varias familias de vocabularios. |
XPath/XPointer/XLink (recomendaciones) |
Esta familia de lenguajes permite navegar de una manera bastante avanzada en un documento (por ejemplo, apuntando a un segmento específico) o gestionar enlaces de destinos múltiples (consulte el capítulo Navegar en los documentos XML). |
XHTML eXtensible HTML |
XHTML (eXtensible HyperText Markup Language) es una aplicación de XML cuya finalidad es reformular el lenguaje HTML. |
RDF Resource Description Framework (recomendación) |
Un XML que incluye metadatos y que permite escribir las expresiones. |
SMIL, Synchronized Media Integration Language (recomendación) |
Este lenguaje permite manipular objetos multimedia mediante la realización de animaciones compuestas de eventos de audio, video, etc. |
SVG, Scalable Vector Graphics (recomendación) |
Lenguaje de descripción... |
Lenguajes basados en XML
1. YAML
YAML (YAML Ain’t Markup Language) es un lenguaje inspirado en XML. Es un acrónimo recursivo, no se trata de un lenguaje de etiquetas. De hecho, este lenguaje se utiliza sobre todo para serializar datos. Se asemeja a XML en la manera de representar los datos como una secuencia de elementos. Pero su similitud no va más allá. Tanto la escritura como la lectura de YAML es muy sencilla. Por esta razón, este lenguaje se utiliza cada vez más, por ejemplo, para almacenar datos de configuración.
Por ejemplo, en YAML para representar una lista de países:
#Los países
país:
- Francia
- España
- Italia
- Suiza
- Alemania
La almohadilla (#) indica que es un comentario. Los guiones indican que se trata de elementos de la tabla cuyo nombre va seguido por dos puntos.
Los desarrolladores que buscan la simplicidad recurren a YAML y cuando es necesario cambian a XML.
2. JSON
JSON (JavaScript Object Notation, o notación de objetos JavaScript) es un formato de datos. Se puede utilizar por todos los lenguajes, pero especialmente por los lenguajes derivados de C como C++, C#, JavaScript, Python o Java por nombrar unos pocos.
Es muy fácil de usar e incorpora conceptos de XML.
Para hacernos una idea podemos comparar las dos sintaxis:
En XML:
<botón id="semáforo"...
XML en el servicio de intercambios B2B
La problemática más habitual en el campo de los intercambios B2B es la interoperabilidad de los sistemas. De hecho, se trata de asegurar la compatibilidad entre los sistemas para que puedan comunicarse con la sensación de que hablan el mismo idioma. XML es la clave para resolver muchos problemas de interoperabilidad. Por lo tanto, se ha diseñado una capa de normas universales capaces de hacer que las aplicaciones remotas sean interoperables (servicios web).
Por otro lado, ha sido necesario crear un conjunto de vocabularios necesarios para la comprensión mutua de los sistemas empresariales (los lenguajes dedicados).
1. Los servicios web XML
La siguiente tabla proporciona una visión general de las tecnologías de servicios web. Existen dos familias de tecnologías de servicios web: SOAP (Simple Object Access Protocol) y OASIS con ebXML (Electronic Business XML).
Tecnología |
Descripción |
UDDI |
Directorio mundial que ofrece una lista de los servicios web y sus descripciones técnicas que proporcionan las empresas. |
WS-Inspection |
Web Services Inspection apunta a los servicios web que una empresa desea exponer. |
ebXML (OASIS) |
Permite diseñar aplicaciones reales B2B y registrar un servicio en un directorio. |
WSDL |
Web Services Description Language es un formato de invocación de los métodos y de los parámetros de un componente remoto. |
SOAP |
Protocolo... |
Conclusión
XML se está convirtiendo poco a poco la clave para la interoperabilidad de los sistemas de información. Sin embargo, su implementación todavía se encuentra en una fase temprana y deberemos vigilar de cerca su evolución, así como la de sus derivados.