Depto. Informática - UVA
Conferencias sobre E-Bussines. GUI

XML. Formatos de Información para Internet

Jesús Vegas. Dpto. de Informática - Universidad de Valladolid
Universidad de Valladolid


Índice





El Problema

Las Causas

La Solución


¿Por qué hay que dar forma a la información?

El Problema

  • Internet, y el Web en concreto están suponiendo una de las grandes revoluciones tecnológicas equiparable a la que causó el descubrimiento de la máquina de vapor.
    • Con la máquina de vapor se pudo empezar a viajar con cierta rapidez, y esto permitió la comunicación entre la gente.
    • Con Internet y el Web, la gente se puede comunicar con los demás con cierta rapidez.
  • Ahora todos nos podemos comunicar con todos, pero no nos entendemos:
    • Internet es una red rapidísima que sólo nos permite ir a gatas.
    • La cantidad de información disponible crece exponencialmente, pero somos incapaces de encontrar lo que buscamos.
    • Cada uno entiende las cosas a su manera: demasiados idiomas, demasiadas formas de decir lo mismo.

Las Causas

  • HTML: HyperTex Markup Language.
  • HTML es el lenguaje de publicación más exitoso jamás inventado: es fácil de aprender.
  • Es demasiado superficial: sólo describe el cómo no el qué.
  • WYSIWYG: What You See Is What You Get se convierte en "lo que ves es todo lo que tienes ".
  • Los navegadores son demasiado generosos, se tragan todo lo que se parezca a un documento HTML.
  • HTML es estático, no se puede modificar, adaptar a nuestras necesidades.
  • Esto hace que los servidores Web sean poco más que expendedores de páginas, faxes; es difícil conseguir servicios Web interactivos y flexibles.
  • Es difícil saber si una página será interesante antes de descarlaga y verla, lo que genera tráfico innecesario.

La Solución

  • Utilizar etiquetas que expresen de qué información se trata, no cómo se ha de representar.
  • XML: eXtensible Markup Language.
  • XML puede ser leido tanto por máquinas como por personas.
  • Los documentos XML siguen unas reglas de generación sencillas pero bien definidas que les hace fácilmente procesables.
  • XML utiliza el conjunto de caracteres UNICODE, lo que facilita la internacionalización.
  • Ayuda a descongestionar Internet, ya que gran parte del procesamiento se puede hacer en el cliente.
  • Facilita encontrar lo que se está buscando: exactitud y agilidad.
  • Permite el intercambio de información sobre Internet.

Arriba...



Superando a HTML

Extensible

Docs. Válidos

Estilo

Ejemplos


eXtensible Markup Language

Superando a HTML: Procesamiento Automático en el Web

  • Si sólo se quiere mostrar texto, nada que objetar a HTML.
  • Si se quiere automatizar el procesamiento de la información Web, se necesita extender HTML añadiendo nuevas etiquetas, programas en el servidor, en los clientes, etc.
  • El problema es que HTML no es unilateralmente extensible.
  • XML es un subconjunto simplificado pero estricto de SGML (Standard Generalized Markup Language):
    • Extensible: se pueden definir nuevas etiquetas.
    • Estructurado: cada modelo de documento está contenido en un DTD, Document Type Definition.
    • Validable: cada documento se puede validar frente a un DTD, o en su defecto, se puede declarar bien formado.
  • XML es fácil de aprender y de usar.
  • Los documentos XML son fácilmente procesables y compartidos en Internet.
  • XML no es compatible con HTML, pero los documentos HTMLv4.0 son fácilmente convertibles a XML.

XML es Extensible

  • Se pueden crear tantas etiquetas se necesiten.
  • Marcado descriptivo: las etiquetas delimitan una porción del documento y dicen lo que es.
  • Ejemplo: un correo electrónico
    <!doctype email system "http://www.sitio.es/DTDs/email.dtd">
    <email>
    <head>
       <from>
          <name>Jesús Vegas</name>
          <address>jvegas@infor.uva.es</address>
       </from>
       <to>
          <name>Fulanito</name>
          <address>fulanito@unsitio.es</address>
       </to>   
       <subject>Introducción a XML</subject>
    </head>
    <body>
    <p>Este es el guión de la conferencia sobre XML. 
    Mira a ver qué te parece. Saludos, jvegas.</p>
    <attach encoding="mime" name="xml.html" />
    </body>
    </email>
    
  • Se se quisiera procesar este correo electrónico para mostrarlo en una patalla grande o en un teléfono móvil solo habría que escribir las reglas de transformación necesarias en cada caso.
  • La idea es separar la sintaxis y la semática del documento de su presentación.
  • El conjunto de reglas que define los documentos del tipo correo electrónico puede ser el siguiente:
  • <!element email    (head, body)>
    <!element head     (from, to+, cc*, subject)>
    <!element from     (name?, address)>
    <!element to       (name?, address)>
    <!element cc       (name?, address)>
    <!element name     (#PCDATA)>
    <!element address  (#PCDATA)>
    <!element subject  (#PCDATA)>
    <!element body     (p | attach)*>
    <!element p        (#PCDATA)>
    <!element attach   EMPTY>
    <!attlist attach   encoding (mime|binhex) "mime"
                       name     CDATA         #REQUIRED>
    
  • Un DTD establece tanto los elementos que forman un tipo de documento dado, como las relaciones que se dan entre ellos.
  • Un documento XML está constituido por elementos, que tendrán una etiqueta de inicio, y pueden tener atributos y valores, y una etiqueta de fin.
  • Un DTD puede estar en la misma máquina que el documento asociado o en otra distinta.
  • Un documento XML puede estár distribuido a lo largo de varios ficheros:
  • <!doctype libro system "libro.dtd"
    [
       <!entity indice system "indice.xml">
       <!entity cap1 system "capitulos/cap1.xml">
       <!entity cap2 system "capitulos/cap2.xml">
    ]>
    <libro>
    <cabecera>
       <&indice;>
    </cabecera>
    <cuerpo>
       <&cap1;>
       <&cap2;>
    </cuerpo>
    </libro>
    
  • Incluso el concepto de hiperenlace se puede extender permitiendo varias posibilidades, en lugar de ir directamente a otro documento.

Documentos XML Válidos y Bien Formados

  • Un documento es válido si es conforme con el DTD.
  • Los documentos pueden ser validados fácilmente por parses (existen muchos y son fácilmente programables debido a la naturaleza arborescente de la estructura de los documentos XML).
  • Si no se dispone de DTD, se puede cualificar el documento como bien formado o no:
    • Están todas las etiquetas.
    • Todas las etiquetas están pareadas, excepto aquellas que corresponden a elementos vacíos, que acaban con /> .
    • Todos los valores de los atributos están entrecomillados.
    • Todas las entidades están declaradas.
  • Los navegadores son muy tolerantes con la calidad de etiquetado de los documentos HTML, aunque esto impide un procesamiento adecuado de los mismos (hogeneidad en la presentación, buscar, etc, etc..).
  • Es fácil saber si un documento XML es válido, o en ausencia de DTD, o si está bien formado, y procesarle adecuadamente o desecharle en otro caso.
  • No todo el mundo está obligado a escribir sus propios DTDs, se pueden utilizar DTDs creados por otros (RDF).

Cuestión de Estilo

  • XML no da pistas sobre el modo de mostar cada elemento de información.
  • Esto es una ventaja: "escribir una vez y publicar donde sea".
  • XSL eXtensible Stylesheet Language permite transformar el documento para mostrarlo de la manera adecuada.
  • También se pueden aplicar las hojas de estilo propias de HTML: CSS Cascade StyleSheets.
  • Utilizar CSS cuando se pueda, y XSL cuando se deba.


  • xsl y css © W3 consortium

Ejemplos de Utilización

  • RDF, Resource Description Framework, es un marco de trabajo que permite la codificación, intercambio y reutilización de metadatos estructurados.
  • OFX, Open Financial Exchange, formato utilizado por Quichen y Microsoft Money para comunicarse con los bancos.
  • CML, Chemical Markup Language, lenguaje para el intercambio de descripción de moléculas, fórmulas y otros elementos químicos.
  • MML, Mathematical Markup Language, diseñado para soportar la escritura de fórmulas matemáticas.
  • OSD, Open Software Distribution, de Marimba y Microsoft.

Arriba...



Qué son?

Iniciativas


Metadatos

¿Qué es un metadato?

  • Metadatos: información sobre los datos.
  • En las bibliotecas existen desde tiempos inmemoriales en forma de fichas de catálogo, que facilitan la localización de los documentos.
  • En Internet esto no es tan fácil: los metadatos deben ser adecuados para la interpretación tanto por parte de las personas como por los robots de búsqueda.
  • Además deben ser tan fáciles de crear que cualquier autor pueda describir el contenido de sus páginas: accesibilidad y utilidad.

Iniciativas

  • TEI, Text Encoding Initiative tiene mucha experiencia en la estandarización de la descripción de documentos electrónicos.
    • Sus esquemas son complejos y requieren cierta experiencia en el tema para su utilización.
  • La etiqueta META del HTML.
    • Altavista utiliza esta etiqueta: keyworks para indexar y devuelve description en lugar de las dos primeras líneas del documento.
    • <META NAME="description" 
               CONTENT="XML, formatos para Internet">
      <META NAME="keyworks" 
               CONTENT="XML, Internet, ebusiness">
      
  • DC, Dublin Core, es capaz de describir la mayoría de los recursos disponibles en Internet.
    • Es muy fácil de usar y de interpretar.
    • Está compuesto por 13 elementos extensibles: Subject, title, author, publisher, etc.

Arriba...



Hacia el Comercio

Intercambiando Docs.

EDI EAI ebXml

XML y el Comercio Electrónico

De la Educación al Comercio

  • Aunque el Web nació y explotó entorno a la ciencia y a la educación, ha sido el comercio el que le ha lanzado al estrellato.
  • Los sitios donde se pueden comprar bienes y servicios (B2C) se han desarrollado expectacularmente.
  • Otro tipo de comercio entre empresas (B2B) está también desarrollándose, aunque no de forma tan evidente como el anterior para el público en general.
  • Durante siglos, los negocios se han hecho intercambiando documentos normalizados como recibos, facturas, albaranes, etc.
  • Parece evidente que el comercio electrónico se apoyará en el intercambio de documentos sobre Internet, y XML es el lenguaje en que estarán definidos.

Intercambiando Documentos

  • Procesar datos de otros departamentos o empresas debería ser fácil dados los conocimientos de comunicaciónes y procesamiento que tenemos, pero no es así.
  • Validar el formato de los datos para asegurarnos de su corrección es el mayor impedimento para un intercambio automatizado de datos.
  • Utilizar XML puede ayudar a solucionar el problema:
    • Se disponen de parsers de dominio público.
    • Junto con el DTD, un parser puede asegurarse de que están todos los campos requeridos y en el orden preciso.
  • La validación se puede hacer en una máquina diferente a la de procesamiento: se pueden acceptar o denegar los datos en la recepción, sin llegar más allá en el proceso.
  • XML junto con Java permite contruir aplicaciones para el intercambio de datos:
    • Para Java es fácil establecer conexiones TCP/IP.
    • Ambos soportan Unicode.

Electronic Data Interchange

  • EDI es una categoría de intercambio de datos que utiliza X12 oA EDIFACT para describir los documentos intercambiados.
  • EDI es un entorno muy caro de instalar y de adaptar.
  • Existen intentos de utilización de XML para establecer el vocabulario y el formato de los documentos X12 y EDIFACT.

Integración Aplicación Empresa

  • EAI, Enterprise Application Integration trata de hacer que varias aplicaciones funcionen como si fueran una sóla aplicación.
  • Requiere que los datos sean replicados y distribuidos a los sistemas apropiados en el momento preciso.
  • Ej. ventas-contabilidad.
  • Las aplicaciones pueden intercambiar mensajes con una estructura acordada: XML.

ebXML

  • Objetivo: proveer de una infraestructura abierta basada en XML que permita el uso global de la información comercial de un modo interoperable, seguro y consistente.
  • UN/CETACT United Nations body for Trade Facilitation and Electronic Business y OASIS Organization for the Advancement of Structured Information Standards.
  • Facilitar la entrada en el comercio electrónico de las PYMES y de los paises en desarrollo.

Arriba...




Conclusiones

  • La falta de estructura en la información en Internet incide negativamente en las prestaciones de la red y en las posibilidades de aprovechamiento de la información allí depositada.
  • XML es un lenguaje de marcado de documentos diseñado para trabajar en Internet simple, flexible y fácil de utilizar.
  • Hay mucho trabajo por hacer para conseguir un intercambio automatizado de documentos en Internet que permita el desarrollo de las aplicaciones ya existentes y de otras nuevas.

Arriba...




Referencias


Arriba...


© Jesús Vegas Hernández
Dpto. Informática
Universidad de Valladolid
jvegas@infor.uva.es
Mayo 2000