1. Introducción.
2. ¿Qué es XML?.
3. Estructura de XML.
4. Estructuras lógicas.
5. Aplicaciones de XML.
6. Utilidades de XML
7. Desarrollo de aplicaciones con XML
8. Instalación (Requerimientos de Hardware y Software).
9. Bibliografía
HTML (Hypertex Markup Language) se ha convertido en un lenguaje de marcas de inmensa popularidad durante estos últimos años. También debemos anotar que nos hemos encontrado con sus propias limitaciones, que algunas de ellas se han querido subsanar con la incrustación de scripts, javascripts, Active X, HTML dinámico, hojas de estilo en cascada (CSS). Todo esto es insuficiente para crear una arquitectura abierta de tipo cliente/servidor, con lo que el W3C (Word Wide Web Consortium), organismo que vela por el desarrollo de la Word Wide Web, se ha replanteado crear un nuevo estándar llamado XML (eXtensible Markup Language), que parte de las amplias especificaciones del SGML (Standard Generalized Markup Language). XML fue desarrollándose por el Grupo de Trabajo XML desde 1996 (en estos primeros años llamado SGML Editorial Review Board). La especificación XML 1.0 ha sido ratificada por la W3C el 10 de febrero de 1998, e interpretado como "un sistema para definir, validar y compartir formatos de documentos en la Web".
Concepto:
XML es un lenguaje de metamarcado que ofrece un formato para la descripción de datos estructurados. Esto facilita unas declaraciones de contenido más precisas y unos resultados de búsquedas más significativos en varias plataformas. Además, XML habilitará una nueva generación de aplicaciones para ver y manipular datos basadas en el Web.
Representación estructural de los datos:
XML ofrece una representación estructural de los datos que se puede implementar ampliamente y es fácil de distribuir. XML es un subconjunto de SGML optimizado para el Web. Definido por el World Wide Web Consortium (W3C) (en inglés), XML garantiza que los datos estructurados sean uniformes e independientes de aplicaciones o fabricantes. La interoperabilidad resultante está creando rápidamente una nueva generación de aplicaciones de comercio electrónico en la Web.
XML, que proporciona un estándar de datos que puede codificar el contenido, la semántica y los esquemas de una gran variedad de casos, desde los más simples a los más complejos, sirve para marcar lo siguiente:
Cuando los datos llegan al escritorio del cliente, se pueden manipular, editar y presentar en varias vistas, sin tener que regresar al servidor. Ahora los servidores pueden ser más escalables, gracias a la reducción de las cargas de ancho de banda y computación. Además, dado que los datos se intercambian en el formato XML, se pueden combinar fácilmente desde distintas fuentes.
XML es muy valioso para Internet, así como para los entornos de intranets corporativas de gran tamaño, pues proporciona interoperabilidad mediante un formato basado en estándares flexible y abierto, con formas nuevas de acceso a las bases de datos existentes y de entregar datos a clientes de Web. Las aplicaciones se pueden generar más rápidamente, su mantenimiento es más sencillo y pueden ofrecer fácilmente varias vistas de los datos estructurados.
En un principio, no rivalizarán HTML y XML, estos se complementarán el uno al otro, anudándose ambas gramáticas. Este Lenguaje de marcas extensible (XML) es una versión abreviada del SGML (Standard Generalized Markup Language).
Algunos de los objetivos planteados por el Grupo de Trabajo XML y el W3C son:
A estos fines se le une unos estándares como el Unicode e ISO/IEC 10646 para caracteres, el Internet RCF 1766 para identificación de lenguajes, ISO 639 para códigos de nombres de lenguajes y también el ISO 3166 para códigos de nombres de países, para la normal comprensión de esta versión de XML.
Un documento XML tiene dos estructuras, una lógica y otra física. Físicamente, el documento está compuesto por unidades llamadas entidades. Una entidad puede hacer referencia a otra entidad, causando que esta se incluya en el documento. Cada documento comienza con una entidad documento, también llamada raíz. Lógicamente, el documento está compuesto de declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento, todos los cuales están indicados por una marca explícita. Las estructuras lógica y física deben encajar de manera adecuada:
Los documentos XML se dividen en dos grupos, documentos bien formados y documentos válidos.
Un objeto textual o documento XML se dice que está bien formado si, considerándolo como conjunto, encaja con las especificaciones XML de producción, lo que implica:
<?XML version="1.0" standalone="yes"?>
De un documento bien formado, se dice además que es válido, si tiene DTD como el resto de aplicaciones SGML. Un archivo XML válido comienza como cualquier otro archivo SGML, con una Declaración de Tipo de Documento:
<?xml version="1.0"?>
<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">
<anuncio>
<titulo>...<foto/>...</titulo>
<texto>...</texto>
</anuncio>
Dado que XML está diseñado para ser un subconjunto de SGML, cualquier documento XML válido debe ser también un documento SGML válido.
4. Estructuras lógicas.
Cada documento XML contiene uno o más elementos, cuyos limites están delimitados por etiquetas de comienzo y de final o, en el caso de elementos vacíos, por una etiqueta de elemento vacío.
Cada elemento tiene un tipo, identificado por un nombre, denominado identificador genérico, y puede tener un conjunto de especificaciones de atributos.
Cada especificación de atributo tiene un nombre y un valor. Estas especificaciones no restringen la semántica, el uso o (mas allá de la sintaxis) los nombres de los tipos de los elementos y los atributos, excepto de los nombres que comienzan por XML, que se reservan para estandarizar etiquetas o atributos en versiones posteriores del estándar.
Estructuras físicas.
Un documento XML puede consistir en una o más unidades de almacenamiento virtual, llamadas entidades. Todas estas unidades tienen contenido y todas ellas (excepto la entidad documento y el subconjunto externo del DTD) están identificadas por un nombre. Cada documento XML contiene una entidad, llamada entidad documento, que sirve como punto de comienzo para el procesador XML y puede contener el documento completo.
Como hemos comentado, las entidades pueden ser analizadas o sin analizar (también llamadas procesadas o sin procesar). El contenido de una entidad analizada se conoce también como texto de reemplazo, y es parte integrante del documento. Las entidades no analizadas son recursos (tales como enlaces) cuyo contenido puede o no ser texto, o en caso de que sea texto que no sea XML. Cada entidad no asociada tiene una notación asociada, identificada por un nombre. Aparte de obligar al procesador XML a haga accesible a la aplicación el nombre de esta notación y sus identificadores asociados, XML no proporciona ninguna otra restricción sobre el contenido de estas entidades. La forma de invocar ambos tipos de entidades es a través de su nombre, en el caso de las analizadas a través de su referencia a entidad y en el de las no analizadas a través de sus atributos de entidad.
Las entidades generales, son entidades analizadas que se usan en el interior del documento. Las entidades parametrizadas son entidades analizadas que se usan en el ámbito del DTD. Estos dos tipos de entidades usan distintos tipos de referencias y se reconocen en contextos distintos.
XML consta de cuatro especificaciones (el propio XML sienta las bases sintácticas y el alcance de su implementación):
Algunas de las aplicaciones de XML son:
Ventajas de XML.
Especificaremos algunas de las implementaciones/aplicaciones que se han desarrollado con XML. Suponemos que se establezca alguna implementación propia para Bibliotecas y Centros de Documentación; y con ello se pueda extraer la información desde la misma red (no por métodos de infranet).
CDF (Channel Definition Format): Los canales creado por Microsoft en el explorador IE4 con tecnología push.
RDF (Resource Description Framework): Esquema de descripción de recursos. Una de las aplicaciones más importantes que permitirá describir los datos de cada documento y definir las relaciones que hay entre los datos XML. Tratará de los metadatos (metadata). Se les podría considerar como "los META del XML". Muchas compañías en Internet se están adhiriendo a esta aplicación. RDF Posee las siguientes virtudes:
OSD (Open Software Description Format): Formato abierto de descripción de software. Desarrollo de software en múltiples plataformas. Describe el reparto de software a través de la Red. Las etiquetas XML con las que está descrito definen los componentes, la versión que es, la plataforma en la que ha sido creado, la relación con otros componentes, etc. Esto hará que se simplifique el proceso de instalación para el usuario y permitir también un fácil uso de las actualizaciones.
CML (Chemical Markup Language): Lenguaje de marcas para química. Describe, entre otras formulas, las estructuras moleculares y cristalinas, los análisis de espectros y otros objetos de interés para los químicos.
MathML (Mathematical Markup Language): Lenguaje de marcas para matemáticas. Apto para codificar signos matemáticos, símbolos científicos, etc. El MathML es un lenguaje de bajo nivel que tiene en cuenta la comunicación maquina a maquina de datos estructurados como información de bases de datos. El lenguaje MathML utiliza dos series de códigos progresivos: el primero presenta los signos matemáticos en series crecientes, y el segundo transmite el significado semántico de las expresiones matemáticas, lo que posibilita la codificación de símbolos y signos tanto matemáticos como científicos.
EDI (Electronic Document Interchange): Intercambio electrónico de datos. Lleva un tiempo en proceso de estudio, pero finalmente dará un espaldarazo con el estándar XML. InfoVía Plus lo integra en uno de sus servicios (InfoEDI).
OFX (Open Financial Exchange): Intercambio financiero abierto. Marco de trabajo enunciado actualmente en SGML, aunque Microsoft dice que pronto será enunciado en XML. A través de software de gestión financiera (Quicken, Microsoft Money, etc.) se podrá conectar con el banco para gestionar las cuentas y extraer información de la cuenta bancaria. Esto se hará a través de unos protocolos seguros.
TEI (Text Encoding Initiative): Iniciativa que partió de diversas asociaciones profesionales en los campos de humanidades. Trata de establecer etiquetas que propicien la descripción de textos científicos y literarios. En principio solo está disponible para SGML(6).
7. Desarrollo de aplicaciones con XML
Existen cuatro tipos de aplicaciones que impulsarán el desarrollo del XML:
Aplicaciones que exijan que el cliente Web medie entre dos o más bases de datos. Se hará posible la integración de bases de datos distribuidas en los navegadores que admitan XML, pudiéndose modificar el contenido y la estructura de esta. Actualmente implantado en amplias redes nacionales, sin embargo, se limitan las posibilidades al establecerse una intranet/extranet y con amplias bases de datos que sólo permiten la visualización de los datos en el navegador. XML establecerá una arquitectura de 3 niveles (three-tier) que está representada de la siguiente manera:
Además de esto es importante destacar que XML aporta mucha potencia y flexibilidad a las aplicaciones basadas en la Web, proporcionando numerosas ventajas a los programadores y usuarios, como lo son:
Asimismo, XML permite agregar otros datos, como las temperaturas máximas y mínimas previstas, la pluviosidad prevista y su probabilidad (expresada en porcentaje). Esta información adicional se puede trasladar a la vista del usuario sin que el explorador tenga que enviar una vista nueva. Si se solicitan datos adicionales, como la presión atmosférica, se pueden enviar sin volver a generar la vista.
Utilidades Futuras:
En su calidad de estándar del sector para expresar datos estructurados, XML ofrece muchas ventajas a las organizaciones, desarrolladores de software, sitios Web y usuarios finales. Las oportunidades aumentarán cuantos más formatos de datos de mercado vertical se creen para mercados claves, como el mercado de búsqueda avanzada en bases de datos, banca en línea, médico, legal, comercio electrónico, etc. Cuando los sitios ofrezcan datos, en lugar de limitarse a las vistas de datos, las oportunidades serán extraordinarias.
Hoy en día, los servicios de atención al cliente están migrando de centros de llamadas y sedes físicas a sitios Web, por lo que se beneficiarán de la sólida funcionalidad de XML. Dado que la mayoría de estas aplicaciones empresariales implican la manipulación o la transferencia de datos y registros de base de datos, como pedidos de compra, facturas, información del cliente, citas, mapas, etc., XML va a revolucionar las posibilidades de los usuarios finales en Internet, permitiendo la implementación de un amplio abanico de aplicaciones empresariales. Además, la información que ya esté almacenada en sitios Web, tanto si está guardada en documentos como en bases de datos, puede marcarse con vocabularios basados en XML y orientados a intranets. Dichos vocabularios también ayudan a las pequeñas y medianas empresas que necesiten intercambiar información entre clientes y proveedores.
Un mercado vital y todavía por descubrir es el de las herramientas de desarrollo que simplifican a los usuarios finales la creación de sus propios sitios Web cooperativos, lo que incluye las herramientas para generar datos XML heredados de información de bases de datos e interfaces de usuario ya existentes. Además, se pueden desarrollar esquemas estándar para describir portafolios u otros datos que podrían utilizar, por ejemplo, el diseño, los gráficos y otras funciones de Excel o de otras hojas de cálculo existentes. Las herramientas declarativas y visuales para describir XML generadas a partir de bases de datos heredadas constituyen una oportunidad muy potente. Las herramientas personalizadas para ver datos XML se pueden escribir en el sistema de programación de Visual Basic®, en Java y en C++.
XML va a necesitar herramientas nuevas y potentes para la presentación de datos XML ricos y complejos dentro de un documento. Esto se consigue asignando una capa de presentación fácil de usar por encima de un conjunto complejo de datos jerárquicos que pueden cambiar de forma dinámica. Entre los diseños que se podrán utilizar para los datos XML se incluyen los esquemas contraíbles, las vistas dinámicas de tablas dinámicas y una sencilla hoja para cada portafolio.
Los sitios Web pueden ofrecer cotizaciones de bolsa, artículos de prensa o datos sobre el tráfico en tiempo real, los cuales se pueden conseguir a través de un filtro de difusiones del Web o mediante un sondeo inteligente de un árbol de servidores que repliquen dichos sitios. Con XML se puede evitar la sobrecarga de información con sólo redactar normas personalizadas sobre el envejecimiento de la información, igual que en el correo electrónico. Las herramientas basadas en XML para que los usuarios creen dichas normas, así como el software de cliente y servidor para ejecutarlas, constituyen una gran oportunidad. Un modelo de objeto estándar no podría habilitar dichas funciones, normalmente escritas en secuencias de comandos, para filtrar los mensajes entrantes, examinar los mensajes almacenados, crear mensajes salientes, obtener acceso a bases de datos, etc. Dichos agentes se pueden redactar de forma que se ejecuten en cualquier lugar de forma automática.
8. Instalación (Requerimientos de Hardware y Software).
Software:
Para desarrollar aplicaciones basadas en XML es suficiente Con un editor de textos ASCII (el Bloc de notas, por ejemplo) y con un visualizador que incluya un parser adaptado a XML (Microsoft Internet Explorer 5, por ejemplo), se pueden crear y ver documentos XML.
No obstante, existen muchas nuevas herramientas que facilitan un poco la labor del diseñador, algunas de ellas gratuitas, como el "Microsoft XML Notepad", que aprovecha los motores internos del Explorer para trabajar.
La versión 4.x del Netscape Navigator no soporta XML, y aunque se supone que la versión 5 sí lo permitirá, la política comercial actual de Netscape no permite asegurar cuándo ni cómo será.
Existen otros varios visualizadores/navegadores que admiten XML, como Amaya, HotMetal o HyBrick, aunque casi cada día están saliendo nuevos productos (analizadores, visualizadores, motores, editores, DTDs, etc.).
Aunque la versión 1.0 de XML es ya definitiva, no pasa lo mismo con las demás normativas que le acompañan, que poco a poco van pasando del estado de "borrador de trabajo" al de "recomendación" (http://www.w3c.org). Este es otro de los motivos por los que XML no termina de generalizarse, ya que las empresas se piensan mucho invertir en productos que no están soportados por estándares definitivos.
Hardware:
Ya están empezando a aparecer servidores de Internet especialmente diseñados para satisfacer los requerimientos de XML. Entre sus funciones destacan el almacenamiento y manipulación de datos XML, características mejoradas en la búsqueda de datos, integración de fuentes diversas de información en bases de datos XML unificadas.
Un ejemplo de este tipo de servidor será el BizTalk Server de Microsoft, especialmente diseñado para el comercio electrónico. Empresas como Bluestone Software ( www.bluestone.com ), Object Design Inc ( www.objectdesign.com ) , o webMethods (www.webmethods.com ), disponen ya de soluciones XML Server.
Microsoft pretende establecer por medio de BizTalk un marco para el comercio electrónico de empresa a consumidor. El objetivo de BizTalk es el de desarrollar una red dentro de su portal Microsoft Network, que permita poner en contacto a empresas y consumidores.
9. Bibliografía
ALADRO GARCÍA, A. El lenguaje XML: la nueva forma de estructurar los contenidos. Net Magazine, 1998, año IV, nº 34, p. 74-77.
PEÑA TRESANCOS, J. "Estándar XML 1.0: tecnologías para Internet". PC World, nº 144, junio 1998, p. 281-288.
http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.htm
http://users.ox.ac.uk/~drh97/Papers/Sperberg.html
http://www.cs.caltech.edu/~adam/papers/xml/ascent-of-xml.html
http://www.csclub.uwaterloo.ca/u/relander/XML/Wave/xml_mw.html
http://www.gca.org/conf/xml/xml_what.htm
http://www.poet.com/xml/xml_lib.html
http://www.w3.org/XML/
http://www.xml.com/xml/pub
http://www.sil.org/sgml/xml.html
http://www.geocities.com/SiliconValley/Peaks/5957/xml.html
Trabajo enviado por:
Mendoza Francisco.
frankmch[arroba]latinmail.com
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.