Monografias.com > Computación > Redes
Descargar Imprimir Comentar Ver trabajos relacionados

XML




Enviado por amaya



    Abstract

    XML será el lenguaje que nos
    garantizará el intercambio de cualquier tipo de información, sin que
    ocasione problemas de tipo "contenido"
    o de tipo "presentación". Este garantiza que los datos estructurados sean
    uniformes e independientes de aplicaciones o fabricantes, lo que
    está originando una nueva generación de aplicaciones en
    la Web. Este artículo expone la
    definición, estructura, y aplicaciones que
    se pueden desarrollar en el XML bajo el amparo del consorcio Word Wide Web(W3C).

    TABLA DE CONTENIDO

    1. Introducción

    1.1. Introducción *

    1.2. HTML e Internet *

    1.3. ¿Qué es XML? *

    1.4. Objetivos y
    Orígenes *

    2. Características del
    XML *

    2.1. Introducción *

    2.2. Estándares abiertos *

    2.3. Características
    Principales *

    2.4. DTD *

    2.5. Esquemas *

    2.6. Fortalezas y Debilidades del XML *

    2.7. DOM *

    3. Documentos XML en el
    Web *

    3.1. Desplegar documentos *

    3.1.1. CSS *

    3.1.2. XSL *

    3.2. Vínculos entre Documentos
    XML(XLink/XPointer) *

    4. Aplicaciones y Productos *

    4.1. Aplicaciones de XML *

    4.2. Productos *

    4.3. Categorías de Productos *

    4.3.1. Middleware *

    4.3.2. Bases de Datos
    XML-Enabled *

    4.3.3. Bases de Datos de XML
    Nativo *

    4.3.4. Servidores XML *

    4.3.5. Servidores de Aplicaciones
    XML *

    4.3.6. Sistemas de Administración de
    Contenidos *

    4.3.7. Motores de Consulta de
    XML *

    5. Conclusiones *

    5.1. Conceptos importantes *

    5.2. Conclusiones Finales *

    BIBLIOGRAFIA *

    GLOSARIO *

    1.
    Introducción

    1.1.
    Introducción

    La mayoría de la gente ha oído hablar de XML (Lenguaje de Marcas Extensible, Extensible
    Markup Language), siendo muy corriente que se tenga la idea de
    que es una especie de HTML avanzado, por lo que siempre
    que sale el tema de XML surgen cuestiones fundamentales como:
    ¿qué es exactamente XML?, ¿es XML una nueva
    versión de HTML?, ¿para que sirve?, ¿cuáles
    fueron los motivos de su creación?, ¿tiene alguna
    aplicación en la actualidad?.

    Como es sabido HTML (Hypertex Markup Language) se ha
    convertido en un lenguaje de inmensa popularidad durante los
    últimos años. También debemos notar que nos hemos
    encontrado con sus propias limitaciones, que algunas de ellas se
    han querido subsanar con scripts, javascripts, Active X, HTML
    dinámico, etc; pero en la realidad todas estas herramientas no aportan una
    solución global a las limitaciones del HTML. Hasta hace poco
    tiempo o actualmente cuando un
    web master diseña un programa de compras para una tienda virtual,
    basándose en HTML, debe invertir un arduo trabajo que muchas
    veces no puede exportarse para su uso por otras tiendas.
    Quizá su diseño estaba previsto
    para Windows NT y no funciona en
    plataformas UNIX, o hacía uso de Perl
    pero no se integraba con Java. La implantación de XML
    viene a eliminar este tipo de situaciones permitiendo la
    creación de herramientas más
    estructuradas.

    En este artículo responderemos las interrogantes
    planteadas, y analizaremos la utilización de XML como
    formato estándar para el intercambio de datos y la forma de cómo
    este lenguaje de marcas nos proporciona un formato para describir
    datos estructurados, facilitando realizar declaraciones más
    precisas de contenido y permitiendo obtener resultados de
    búsquedas con más significado. Además,
    estudiaremos de que forma XML habilitará una nueva
    generación de aplicaciones de manipulación y
    visualización de datos basadas en Web.

    1.2. HTML e
    Internet

    Para comprender plenamente cuales fueron las razones que
    llevaron a la creación del XML por parte del W3C, es
    necesario comenzar aclarando la evolución de Internet y del lenguaje HTML. El lenguaje HTML es
    originariamente un subconjunto del SGML ( Lenguaje de Marcas
    Estándar Generalizado, Standard Generalized Markup
    Language), especializado en la descripción de documentos en
    pantalla a través de marcas. El proyecto inicial se basaba en una
    colección de etiquetas que permitían describir
    documentos de texto y vínculos de
    hipertexto que permitían desplazarse entre diferentes
    documentos, siempre con independencia de la
    máquina. Conociendo las normas de actuación de estas
    etiquetas y disponiendo de un sencillo editor de textos ASCII, se pueden confeccionar
    fácilmente documentos HTML.

    HTML, no es un lenguaje de programación, es
    un lenguaje de especificación de contenidos para un tipo
    específico de documentos SGML. Es decir, mediante HTML
    podemos especificar, usando un conjunto de marcas, cómo va a
    representarse la información en un navegador
    o browser. La facilidad de uso y la particularidad que no es
    propiedad de nadie, hizo al
    HTML el sistema idóneo para
    compartir información en Internet. La expansión de
    Internet le ha dado una posición de privilegio y ha hecho
    que la idea inicial se modifique considerablemente.

    En principio, la intención de HTML era que las
    etiquetas fueran capaces de marcar la información de acuerdo
    con su significado, sin importar cómo se mostraban en la
    pantalla. Lo importante era el contenido y no la forma, o sea,
    que era un lenguaje de marcas orientado a describir los
    contenidos, dejando a cada navegador la tarea de dar el formato
    del documento según su criterio de interpretar las marcas.
    Esto producía presentaciones diferentes, pero permitía
    controlar fácilmente su contenido. Si una persona o un motor de búsqueda
    quería conocer el título del documento, el autor de la
    página o las cabeceras de los capítulos, siempre
    buscaba en el código las etiquetas
    TITLE, ADDRESS o Hx. Además, si a alguien no le gustaba la
    idea de dejar a cada aplicación la decisión de
    cómo mostrar el contenido de las etiquetas, siempre le
    quedaba la posibilidad de controlar el formato del documento con
    descripciones particulares, como es el caso de las hojas de
    estilo en cascada (CSS).

    Por diversos motivos, los creadores de los navegadores fueron
    añadiendo más etiquetas HTML dirigidas a controlar la
    presentación, como FONT, I, CENTER, xCOLOR, etc., y los
    usuarios las utilizaron para que sus documentos estuviesen
    perfectamente formateados, sin permitir diferencias importantes
    entre visualizadores distintos, por lo que HTML pasó a ser
    un lenguaje de marcas más dirigido al control de la presentación
    [Montero R. XML].

    Aunque los estándares visuales y de interfase de
    usuario son una capa necesaria, no son suficientes para
    representar y administrar los datos. Hasta hace pocos años,
    Internet era un simple medio de acceso a texto e imágenes. No había
    ningún estándar establecido para la búsqueda
    inteligente, el intercambio de datos, la presentación
    adaptable ni para la personalización.

    Internet debía ir más allá del
    establecimiento de un estándar de acceso y presentación
    de información, de forma de poseer un estándar para la
    comprensión de la información, una forma común de
    representar los datos para que el software pueda buscar, desplazar, presentar
    y manipular mejor los datos ocultos en una oscuridad contextual.
    HTML no puede hacerlo porque es un formato que describe la
    apariencia que debería tener una página Web, pero no
    representa datos [MSDN en línea. Por qué XML]. Por
    ejemplo, HTML:

    • No ofrece una forma estándar para que un
      médico pueda enviar una receta a un
      farmacéutico.
    • No habilita a un laboratorio médico para
      publicar datos estadísticos en un formato que puedan
      analizar todos los receptores.
    • No describe un pago electrónico de forma que
      todos los receptores puedan descodificarlo y
      procesarlo.
    • No ofrece una forma estándar de buscar
      documentos de pleitos sobre un tema determinado en bibliotecas
      legales.
    • No especifica cómo se pueden transmitir los
      datos del catálogo de una empresa de forma que un
      comercial pueda trabajar fuera de línea, mostrar el
      catálogo a los clientes, recibir pedidos ni
      enviar dichos pedidos en un formato estándar.

    Aunque HTML ofrece amplias facilidades de
    presentación, no ofrece ninguna forma basada en
    estándares para administrar los datos. Un estándar de
    representación de datos ampliaría Internet del mismo
    modo que el estándar de visualización HTML lo hizo hace
    pocos años. El estándar de datos sería el
    vehículo para las transacciones comerciales, la
    publicación de perfiles de preferencias personales, la
    colaboración automatizada y el uso compartido de bases de
    datos. Los historiales médicos, los datos de investigación
    farmacéutica, las hojas de piezas semiconductoras y los
    pedidos de compra se escribirían todos en el mismo formato.
    Permitirá una gran variedad de nuevos usos, todos basados en
    una representación estándar para el desplazamiento de
    datos estructurados por todo la Web tan fácilmente como
    desplazamos las páginas HTML hoy en día.

    En resumen, llegado a un punto en el que HTML dejó
    de servir para su función inicial, no le
    quedó más remedio al Consorcio World Wide Web (W3C) la
    descripción de un nuevo
    subconjunto del SGML que sirva para describir contenidos de
    documentos, al que ha denominado XML, publicando las
    especificaciones de la versión 1.0 del mismo en 1998. Creo
    que en este momento podemos empezar a hablar de XML con un poco
    de visión retrospectiva de los motivos de su
    aparición.

    1.3. ¿Qué es XML?

    XML es un lenguaje de marcas que ofrece un formato para
    la descripción de datos estructurados, el cual conserva
    todas las propiedades importantes del antes mencionado SGML. Es
    decir, XML es un metalenguaje, dado que con él podemos
    definir nuestro propio lenguaje de presentación y, a
    diferencia del HTML, que se centra en la representación de
    la información, XML se centra en la información en si
    misma. La particularidad más importante del XML es que no
    posee etiquetas prefijadas con anterioridad, ya que es el propio
    diseñador el que las crea a su antojo, dependiendo del
    contenido del documento. De esta forma, los documentos XML con
    información sobre libros deberían tener
    etiquetas como <AUTOR>, <EDITORIAL>,
    <Nº_DE_PÁGINAS>, <PRECIO>, etc., mientras que
    los documentos XML relacionados con educación incluyen etiquetas del tipo
    de <ASIGNATURA>, <ALUMNO>, <CURSO>,
    <NOTA>, etc.

    Por ejemplo en la siguiente tabla se muestra la información
    incluida por un código típico HTML y
    su versión equivalente en XML. Se puede apreciar en este
    ejemplo, que es mucho más fácil de entender la
    representación en XML.

    HTML

    XML

    <TABLE>

    <TR>

    <TD>Título</TD>

    <TD>Autor</TD>

    <TD>Precio</TD>

    </TR>

    <TR>

    <TD>AutoSketch</TD>

    <TD>Ramón
    Montero</TD>

    <TD>33</TD>

    </TR>

    <TR>

    <TD>Windows
    98</TD>

    <TD>Jaime
    Perez</TD>

    <TD>3.250</TD>

    </TR>

    <TR>

    <TD>Web
    Graphics</TD>

    <TD>Ron
    Wodaski</TD>

    <TD>8.975</TD>

    </TR>

    </TABLE>

    <LIBROS>

    <LIBRO>

    <TITULO>AutoSketch</TITULO>

    <AUTOR>Ramón
    Montero</AUTOR>

    <PRECIO>33</PRECIO>

    </LIBRO>

    <LIBRO>

    <TITULO>Windows
    98</TITULO>

    <AUTOR>Jaime
    Perez</AUTOR>

    <PRECIO>3.250</PRECIO>

    </LIBRO>

    <LIBRO>

    <TITULO>Web
    Graphics</TITULO>

    <AUTOR>Ron
    Wodaski</AUTOR>

    <PRECIO>8.975</PRECIO>

    </LIBRO>

    </LIBROS>

    1.4. Objetivos y
    Orígenes

    XML fue desarrollado por un grupo de trabajo bajo los
    auspicios del consorcio World Wide Web (W3C) a partir de 1996.
    Este fue constituido en 1994 con el objetivo de desarrollar
    protocolos comunes para la
    evolución de Internet. Se
    trata de un consorcio de la industria internacional con
    sedes conjuntas en el Instituto Tecnológico de
    Massachussets, de Estados Unidos, el Instituto
    Nacional de Investigación en Informática y
    Automática europeo y la Keio University Shonan Fujisawa
    Campus de Japón. El W3C tiene como
    misión la
    publicación para uso público de protocolos o estándares
    globales de uso libre. Al comenzar el proyecto, los objetivos
    planteados por el grupo de desarrollo del XML fueron diez
    puntos [Young M. 2000] :

    1. XML debe ser directamente utilizable sobre
      Internet.
    2. XML debe soportar una amplia variedad de
      aplicaciones.
    3. XML debe ser compatible con SGML.
    4. Debe ser fácil la escritura de programas que procesen
      documentos XML.
    5. El número de características opcionales en
      XML debe ser absolutamente mínimo, idealmente
      cero.
    6. Los documentos XML deben ser legibles por los
      usuarios de este lenguaje y razonablemente claros.
    7. El diseño de XML debe ser
      formal, conciso y preparado rápidamente.
    8. XML debería ser simple pero perfectamente
      formalizado.
    9. Los documentos XML deben ser fáciles de
      crear.
    10. La brevedad en las marcas XML es de mínima
      importancia.

    Referencias

    [Montero R. XML] – Disponible en Internet en http://www.ramon.org/xml/articulos/intro_xml-html.htm

    [MSDN en línea. Por qué XML] – Disponible en
    Internet en http://www.microsoft.com/latam/msdn/articulos/2000/03/art03/#top

    [Young M. 2000] – XML Step by Step, Washington, Microsoft Press, p.
    12

    2. Características
    del XML

    2.1.
    Introducción

    XML es un formato basado en texto, específicamente
    diseñado para almacenar y transmitir datos. Un documento XML
    se compone de elementos XML, cada uno de los cuales consta de una
    etiqueta de inicio, de una etiqueta de fin y de los datos
    comprendidos entre ambas etiquetas. Al igual que los documentos
    HTML, un documento XML contiene texto anotado por etiquetas. Sin
    embargo, a diferencia de HTML, XML admite un conjunto ilimitado
    de etiquetas, no para indicar el aspecto que debe tener algo,
    sino lo que significa. Por ejemplo: un elemento XML puede estar
    etiquetado como precio, número de pedido o nombre. El autor
    del documento es quien decide qué tipo de datos va a
    utilizar y qué etiquetas son las más
    adecuadas.

    Los documentos XML son fáciles de crear. En este
    ejemplo se utiliza XML para describir un parte
    meteorológico. Este documento se puede guardar con una
    extensión de XML, por ejemplo Tiempo.xml.

    <reporte-clima>

    <fecha>March 25,
    1998</fecha>

    <hora>08:00</hora>

    <area>

    <departamento>MVD</
    departamento >

    <ciudad>Montevideo</ciudad>

    <pais>Uruguay</pais>

    </area>

    <medidas>

    <cielo>parcialmente
    nublado </cielo>

    <temperatura>16</temperatura>

    <viento>

    <direccion>SO</direccion>

    <velocidad>16</velocidad>

    </viento>

    <h-indice>51</h-indice>

    <humedad>87</humedad>

    <visibilidad>10</visibilidad>

    <uv-indice>1</uv-indice>

    </medidas>

    </reporte-clima>

    En lugar de describir el orden y la disposición de
    la presentación de los datos, las etiquetas indican qué
    significa cada elemento de datos (si es un elemento
    <fecha>, un elemento <area>, etc.). Cualquier
    receptor de estos datos puede descodificar el documento y
    utilizarlo para sus propios fines.

    2.2. Estándares
    abiertos

    XML se basa en una tecnología desarrollada a partir de
    estándares probados y optimizada para la Web. La iniciativa
    XML consta de un conjunto de estándares relacionados entre
    sí:

    • XML (Extensible Markup Language). Es una
      recomendación, que significa que el estándar es
      estable y que los desarrolladores de Web y de herramientas
      pueden adoptarlo plenamente.
    • Namespaces. En XML es una
      recomendación que describe la sintaxis y la compatibilidad
      de los espacios de nombres para los intérpretes de
      XML.
    • DOM (Document Object Model). Es una
      recomendación que ofrece un estándar para el acceso
      mediante programación a los datos
      estructurados (a través de scripts), de modo que los
      desarrolladores puedan interactuar de forma coherente con los
      datos basados en XML y computarlos.
    • XSL (Extensible Stylesheet Language). XLS es
      la cara de presentación del XML. Este debe representar de
      forma independiente a la plataforma utilizada la
      información existente en los documentos XML.
    • XML Linking Language. Es un lenguaje que
      ofrece vínculos en XML parecidos a los de HTML, pero
      más potentes. Los vínculos pueden tener varias
      direcciones y pueden existir en el nivel de los objetos, no
      sólo en el nivel de las páginas.

    2.3. Características
    Principales

    Extensible

    Dentro de XML se pueden definir un conjunto ilimitado de
    etiquetas. Mientras que las etiquetas de HTML pueden utilizarse
    para desplegar una palabra en negrita o itálicas, el XML
    proporciona un marco de trabajo para etiquetado de datos
    estructurados. Un elemento de XML puede declarar que sus datos
    asociados sean el precio de venta al público, un
    impuesto de venta, el título de un libro
    o cualquier otro elemento de datos deseado. Al irse adoptando las
    etiquetas XML a lo largo de una intranet de alguna organización y a lo ancho de
    la Internet, habrá una correspondiente habilidad para buscar
    y manipular datos sin importar las aplicaciones dentro de las
    cuales se encuentre.

    Representación estructural de los
    datos.

    El XML proporciona una representación estructural
    de los datos que ha probado ser ampliamente implementable y
    fácil de distribuir. Las implementaciones industriales en la
    comunidad del SGML y en otros
    lugares han demostrado que la calidad intrínseca y la
    fortaleza industrial del formato de datos con estructura de árbol del
    XML. El XML es un subconjunto del SGML que está optimizado
    para su transmisión por Web; al estar definido por el
    Consorcio de la World Wide Web, asegura que los datos
    estructurados serán uniformes e independientes de
    aplicaciones o compañías. Esta interoperabilidad
    resultante está dando el impuso de inicio a una nueva
    generación de aplicaciones de Web para comercio electrónico [MSDN
    en línea. Introducción al XML].

    El lenguaje XML proporciona un estándar de datos
    que puede codificar el contenido, la semántica y el esquema
    de una amplia variedad de casos que van desde simples a
    complejos, por ejemplo XML puede ser utilizado para marcar lo
    siguiente:

    • Un documento ordinario.
    • Un registro estructurado, tal como
      un registro de citas u
      órdenes de compra.
    • Un registro de datos, tal como el resultado de una
      consulta.
    • Metacontenido acerca de un sitio Web, tal como un
      Formato de Definición de Canal (Channel Definition
      Format
      , CDF).
    • Presentaciones gráficas, tales como la
      interfase de usuario de una aplicación.

    Una vez que los datos estén en el escritorio del
    cliente, pueden ser manipulados,
    editados, y presentados de una gran variedad de maneras, sin
    viajes de regreso al servidor. Los servidores se
    pueden convertir ahora en más escalables, debido a las
    menores cargas de cálculo y ancho de banda.
    Además, dado que los datos son intercambiados en el formato
    XML, pueden ser fácilmente mezclados desde diferentes
    fuentes.

    Los datos son separados de la presentación y el
    proceso.

    El poder y la belleza del XML es
    que mantiene la separación entre la interfase de usuario y
    los datos estructurados. El HTML especifica como visualizar datos
    en un navegador, en cambio XML define el
    contenido. XML solo utiliza etiquetas para describir los datos,
    tales como el nombre de la ciudad, temperatura y presión barométrica.
    Para presentar los datos en un navegador XML, este utiliza hojas
    de estilo tales como el Lenguaje de Estilo Extensible (XSL) y las
    Hojas de Estilo en Cascada (CSS). El XML separa los datos de la
    presentación y el proceso, permitiendo desplegar
    y procesar los datos tal como usted desee, al aplicar diferentes
    hojas de estilo y aplicaciones.

    Esta separación de datos de la presentación
    permite una integración de datos
    perfecta de fuentes diversas. La
    información de clientes, ordenes de compra,
    resultados de investigaciones, pagos de
    facturas, registros médicos, datos de
    catálogo y cualquier otra información se puede
    convertir a XML, permitiendo a los datos ser intercambiados en
    línea tan fácilmente como las páginas de HTML
    despliegan datos hoy. Los datos codificados en XML pueden ser
    transmitidos sobre la Web hasta el escritorio. No es necesario
    retroajustar información en formatos propietarios
    almacenados en bases de datos o documentos de mainframes y,
    debido a que se usa el HTTP para transmitir documentos XML sobre
    la red, no se necesitan cambios para
    esta función. Los documentos XML
    son fáciles de crear; si está familiarizado con el
    HTML, puede aprender rápidamente a crear uno.

    Conversión de los datos XML en
    autodescriptivos.

    Los datos codificados en XML son autodescriptivos, pues
    las etiquetas descriptivas están entremezcladas con los
    datos. El formato abierto y flexible utilizado por XML permite su
    uso en cualquier lugar donde sea necesario intercambiar y
    transferir información. Dado que el XML es independiente del
    HTML, se puede insertar código XML en documentos HTML. El
    W3C ha definido un formato mediante el cual se pueden encapsular
    en páginas HTML los datos basados en XML. Al incrustar datos
    XML en una página HTML, se pueden generar varias vistas a
    partir de los datos entregados, utilizando los datos
    semánticos que contiene el XML.

    2.4. DTD

    El DTD (definición del tipo de documento, Document
    Type Definition) proporciona la gramática para una clase
    de documentos XML. Esta gramática contiene la
    definición del conjunto de etiquetas que puede contener esa
    clase de documentos XML, los nombres que pueden utilizarse en los
    elementos, dónde pueden aparecer y cómo se
    interrelacionan entre ellos. Se puede decir que un DTD es una
    definición exacta de la gramática de un documento
    [Goldfarb C., Precod P. 1999].

    Los documentos XML enviados con un DTD se reconocen como
    "XML válido". En este caso, un intérprete de XML
    podría comparar los datos entrantes con las normas definidas en el DTD para
    comprobar que los datos se han estructurado correctamente. Los
    datos enviados sin un DTD se reconocen como "bien formados". En
    XML no existen DTDs predefinidos, por lo que es labor del
    diseñador especificar su propia DTD para cada tipo de
    documento XML. En la especificación de XML se describe la
    forma de definir DTDs particularizadas para documentos XML, que
    pueden ser internas (cuando van incluidas junto al código
    XML) o externas (si se encuentran en un documento
    propio).

    Un ejemplo de un DTD que defina la estructura de un
    documento XML relacionado con libros, podría ser un
    documento conteniendo el siguiente código:

    <!ELEMENT LIBROS (LIBRO)+>
    <!ELEMENT LIBRO (TITULO,AUTOR,PRECIO)>
    <!ELEMENT TITULO (#PCDATA)>
    <!ELEMENT AUTOR (#PCDATA)>
    <!ELEMENT PRECIO (#PCDATA)>

    En el DTD del ejemplo se definen los elementos
    (!ELEMENT) que integran el documento XML. En la primera
    línea se indica que el elemento principal es LIBROS, del que
    dependen uno o más (+) elementos LIBRO. La segunda
    línea sirve para especificar que el elemento LIBRO contiene
    tres elementos (TITULO,AUTOR,PRECIO) que se deben marcar en dicho
    orden. Las restantes líneas aclaran que los elementos
    TITULO, AUTOR y PRECIO contienen valores de cadenas de texto.
    Por más información consultar
    http://www.dtd.com.

    2.5.
    Esquemas

    Últimamente se está imponiendo otra forma
    más eficaz de definir la estructura de un documento XML,
    conocida como esquemas. Un esquema es una especificación
    formal de las normas de un documento XML, que indica qué
    elementos se permiten en un documento y en qué combinaciones
    están permitidas. Los nuevos lenguajes de esquemas,
    definidos en las propuestas XML-Data (Datos de XML) y DCD
    (Descripción del contenido del documento) enviadas por el
    XML-Data Working Group  al W3C, proporcionan las mismas
    funciones que un documento
    DTD. No obstante, puesto que estos lenguajes de esquema son
    extensibles, los desarrolladores pueden ampliarlos con
    información adicional, como los tipos de datos, la herencia y las normas de
    presentación. Esto hace que los nuevos lenguajes de esquemas
    sean mucho más potentes que los DTD.

    La expresión de esquemas dentro de XML aumenta la
    potencia del formato XML, pues
    permite que el software examine determinados datos para
    comprender su estructura, sin necesitar ninguna descripción
    previa incorporada de la estructura de los datos. Con un esquema,
    un autor puede definir exactamente qué nombres de elementos
    se permiten en un documento y, dentro de cada elemento, qué
    subelementos, atributos y relaciones se admiten. El autor puede
    importar fragmentos de otros esquemas, así como ampliar
    tipos a través de la herencia. Todo ello permite
    establecer relaciones complejas entre los elementos sin perder la
    simplicidad de la estructura de árbol léxico [MSDN en
    línea. Introducción al XML]. Por más
    información consultar http://www.schema.net y
    http://www.w3.org/XML/Schema.

    2.6. Fortalezas y
    Debilidades del XML

    La meta fundamental del XML es hacer la cooperación
    y la interoperabilidad más fáciles entre módulos
    que pertenecen a diferentes sistemas, e incluso a diferentes
    organizaciones. Entonces,
    ¿por qué el XML se ha convertido en tecnología del alto nivel tan
    rápidamente? La respuesta es simple: XML es texto simple,
    pero es también elegante. Un lenguaje de marcas hace
    fácil identificar (y extraer en un tiempo posterior)
    segmentos específicos de información con significados
    especiales. Usar texto simple y mantener el contenido
    universalmente interpretable son dos condiciones para implementar
    una tecnología exitosamente entre sistemas
    heterogéneos. Una cadena del texto se puede transferir y se
    puede manejar fácilmente en cualquier plataforma destino.
    Sin embargo, si usted solo planea definir un protocolo basado en texto para
    hacer que sus módulos se comuniquen, usted no necesita
    necesariamente XML. El ASCII, de hecho, ha existido
    durante mucho tiempo. La diferencia recae en las etiquetas XML
    que se utilizan para delimitar segmentos de
    información.

    La principal fortaleza del XML es también,
    actualmente, su debilidad principal. El XML es demasiado
    genérico para ser utilizado sin definir externamente la
    sintaxis exacta de un documento y cómo puede localizarse y
    extraerse cada fragmento de datos intercambiados. Tal
    estandarización es más simple alcanzar dentro de una
    sola aplicación corporativa, incluso si atraviesa varias
    plataformas heterogéneas de hardware y de software. Conseguir el mismo
    resultado en un contexto más amplio requiere un enorme
    esfuerzo para llegar a algunas definiciones estándares. Este
    proceso puede tomar años en ser completado [MSDN Latinoamérica].

    Desgraciadamente, cuando se trata de integrar sistemas
    de diferentes organizaciones, especialmente de
    una manera abierta, el XML muestra algunas limitaciones. El
    XML trata de la descripción de los datos, pero solamente es
    útil cuando la gente está de acuerdo en la manera que
    los datos deben ser descritos. Una factura, por ejemplo, es
    lógicamente el mismo tipo de documento para cualquier
    proceso que lo manipule. Pero diferentes procesos pueden convertirla en
    formatos binarios diferentes. A pesar del formato de almacenamiento físico, el
    documento necesita ser transmitido y ser recibido en un formato
    comúnmente reconocido disponible en todas las plataformas.
    Por supuesto, el XML se puede utilizar como este
    formato.

    Imagine el enorme costo que supondría para los
    consumidores y las empresas si cada empresa definiera su propia forma
    de publicar la información. Incluso con la Web, los costos asociados a la
    configuración y el mantenimiento de un sitio Web
    superan la capacidad de algunas empresas. Al no haber ningún
    límite al número de empresas que podrían publicar
    esta información, la falta de estándares que definan el
    modo de publicarla de una forma segura y controlada tendría
    como consecuencia miles y miles de implementaciones, enfoques de
    exploración de la Web y profundidad del contenido
    distintos.

    Por este motivo, en la actualidad se están
    definiendo esquemas por grupos sectoriales con similares
    intereses, de forma que existirán esquemas estándares
    avalados por asociaciones de empresas y organismos que garanticen
    que cualquier usuario que las adopte como suyas, trabaje con las
    mismas etiquetas. Como ejemplos de estos esquemas estándares
    tenemos: CDF – Channel Definition Format (define canales para
    enviar información periódica a los clientes), CML –
    Chemical Markup Language (define información del sector
    químico), MathML – Mathematical Markup Language (define
    datos matemáticos), SMIL – Synchronized Multimedia Integration Language
    (define presentaciones de recursos multimedia).

    Que es BizTalk?

    BizTalk (http://www.biztalk.org/) es una iniciativa
    mundial dirigida a crear una base de datos de formatos o
    esquemas de documentos en XML. Importantes compañías se
    han unido ya a BizTalk, que ofrece un gran número de
    esquemas de XML a los cuales las compañías interesadas
    puedan referirse. Un documento de BizTalk es un documento XML que
    proporciona las etiquetas de un cierto vocabulario y sigue las
    reglas que la organización ha definido
    para este tipo de documento. Este sitio crecerá hasta
    convertirse en un portal para localizar, administrar, publicar y
    obtener información sobre XML, XSL y los modelos de información
    utilizados en miles de aplicaciones.

    Microsoft® pretende establecer por medio de BizTalk un
    marco para el comercio electrónico de
    empresa a consumidor. En declaraciones de
    Bill Gates, "para conseguir
    introducir a más de un millón de empresas en el
    comercio electrónico,
    necesitamos ayudar a que sus programas de software hablen un
    lenguaje de negociación de un modo
    consistente. Hasta ahora ha sido extremadamente difícil para
    las empresas conducir sus negocios sobre Internet por la
    ausencia de un vocabulario simple que soporte los procesos de negocio. BizTalk
    proporciona un marco que acelerará la adopción del comercio electrónico al
    proveer de un lenguaje que facilite que los programas de software
    corran en cualquier plataforma o tecnología" [Marketing y Comercio
    Electrónico; XML].

    2.7. DOM

    Supongamos que usted es un programador Visual Basic y ha recibido
    algunos datos en un documento XML. Ahora desea extraer la
    información del documento XML e integrar esos datos en sus
    soluciones de Visual Basic. Por supuesto,
    podría escribir código para analizar el contenido del
    documento XML, pues no deja de ser un documento de texto. Sin
    embargo, esta solución no sería muy productiva y
    desaprovecharía una de las ventajas de XML: el ser
    una forma estructurada de representar datos. Una forma mejor de
    recuperar información de documentos XML es utilizar un
    analizador o intérprete de XML. Un intérprete de XML
    es, a grandes rasgos, un programa que lee un documento XML
    y permite disponer de sus datos.

    En su calidad de programador en
    Visual Basic, querrá
    utilizar un intérprete que sea compatible con el DOM
    (modelo de objeto de documento,
    Document Object Model) de XML. Este define un conjunto
    estándar de comandos que los intérpretes
    exponen para facilitarle el acceso al contenido de los documentos
    XML desde sus programas. Un intérprete de XML que sea
    compatible con DOM toma los datos de un documento XML y los
    expone mediante un conjunto de objetos que se pueden programar.
    Además, un intérprete de XML puede utilizar un DTD o un
    esquema para determinar si un documento es válido
    [LaVariable. Manual de XML DOM].

    DOM para XML es un modelo de objetos que muestra
    el contenido de un documento XML. La Especificación de nivel
    1 del DOM del W3C define actualmente lo que debería mostrar
    un DOM como propiedades, métodos y eventos. Para utilizar XML DOM,
    hay que crear una instancia de un intérprete XML. Por
    ejemplo para ello, Microsoft® muestra XML DOM mediante un
    conjunto de interfaces COM estándar en Msxml.dll. El
    archivo Msxml.dll contiene la
    biblioteca de tipos y el
    código de implementación para trabajar con documentos
    XML. Por más información consultar
    http://www.jclark.com/xml.

    A continuación se mencionan como ejemplos algunos
    de los métodos y propiedades
    especificados por DOM:

    • Método "Load", que permite cargar documentos XML
      procedentes de un disco local, de la red o de una dirección
      URL.
    • Propiedad "Async", determina si el intérprete de
      XML carga los documentos de manera asincrónica o
      no.
    • Propiedad " ReadyState", indica en que estado se encuentra la carga
      del documento
    • Propiedad "ValidateOnParse", indicar al
      intérprete que no valide el documento.
    • Propiedad "ChildNodes", muestra la lista de nodos XML
      DOM.
    • Propiedad "Level", que devuelve el número de
      nodos secundarios existentes.
    • Propiedad "HasChildNodes", facilita el recorrido de
      la jerarquía de nodos para examinar elementos, atributos y
      valores.

    Referencias

    [Goldfarb C., Precod P. 1999] – Manual de XML, Madrid, Prentice Hall, p. 34

    [LaVariable. Manual de XML DOM] – Disponible en Internet
    en http://www.lavariable.com/art/xml/axml003/axml003.asp#Intro

    [Marketing y Comercio
    Electrónico; XML] – Disponible en Internet en
    http://www.marketingycomercio.com/numero5/5xml.htm

    [MSDN en línea. Introducción al XML] –
    Disponible en Internet en
    http://www.microsoft.com/Latam/msdn/articulos/1999/11/art02/19991102.doc

    [MSDN Latinoamérica] –
    Disponible en Internet en

    http://www.asia.microsoft.com/latam/msdn/articulos/2000/04/art02/#top

    3. Documentos XML en el
    Web

    3.1. Desplegar
    documentos

    Un navegador, después de chequear la sintaxis del
    código del documento, debe presentar la información del
    documento con un formato determinado. Los documentos HTML
    utilizan las descripciones de formatos internas del propio
    navegador, o si existen descripciones CSS (que son opcionales),
    utilizan la información de la hoja de estilo para ajustar la
    presentación en la pantalla. Los documentos XML siempre
    necesitan normas que describan su presentación. Para
    describir cómo se deben presentar los documentos XML podemos
    optar por dos soluciones: las mismas
    descripciones CSS que se utilizan con HTML y/o las descripciones
    que se basan en XSL.

    Si ya existía una forma de definir las
    presentaciones de los documentos Web, la interrogante que puede
    surgir es cual fue el motivo que llevó a desarrollar otra
    forma específica para XML? La respuesta es que CSS es eficaz
    para describir formatos y presentaciones, pero no sirve para
    decidir qué tipos de datos deben ser
    mostrados y cuáles no. Esto es, CSS se utiliza con
    documentos XML en los casos en los que todo su contenido debe
    mostrarse sin mayor problema. XSL no solo permite especificar
    cómo queremos presentar los datos de un documento XML, sino
    que también sirve para filtrar los datos de acuerdo a
    ciertas condiciones. Se parece un poco más a un lenguaje de
    programación.

    3.1.1. CSS

    Las especificaciones CSS (hojas de estilo en cascada ,
    Cascading Style Sheets) deben comprenderse como una
    descripción del formato en el que se desea que aparezcan las
    entidades definidas en un documento . Por ejemplo, si se define
    una hoja de estilo ligada con un documento HTML con el siguiente
    código:

    P {font-family:Verdana; font-size:10 pt}
    TABLE {border:2; font-family:Tahoma; font-size:9 pt}
    H3 {font-family:Comic Sans MS; font-size:12 pt; color:blue}

    Se indica al navegador que presente los textos incluidos
    entre <P> y </P> con un tipo de letra Verdana de 9
    puntos, las tablas con una fuente de letra Tahoma de 9 puntos y
    un ancho de 2 en los bordes, y los titulares incluidos entre
    <H3> y </H3> con una letra Comic Sans MS de 12 puntos
    y color azul. Utilizar CSS con XML
    es similar, con la excepción de que las etiquetas son
    diferentes a las de HTML [Young M. 2000]. Un código como el
    siguiente indica para un documento XML como debe mostrar las
    etiquetas <AUTOR>, <PRECIO> y
    <TITULO>:

    AUTOR {display:block; font-family:Arial;
    font-size:small; width:30em}
    PRECIO {display:block; padding:1.2em; font-size:x-small}
    TITULO {display:block; font-size:x-large; text-align:center;
    color:#888833}

    3.1.2. XSL

    SGML tiene su propio estándar para la
    representación de sus documentos, el DSSSL (Document Style
    Semantics and Specification Language, ISO10179), que en realidad
    es un lenguaje de programación completo y muy
    potente. Por tanto, ya que XML es una versión reducida de
    SGML parecía lógico hacer también una versión
    reducida del DSSSL, llamada en este caso XSL (lenguaje de hojas
    de estilo extensible, Extensible Stylesheet Language) [Gómez
    O. Tutorial sobre XML].

    Básicamente, XSL es un lenguaje de hojas de estilos
    diseñado para su utilización en el Web. XLS debe
    representar de forma independiente a la plataforma utilizada o al
    medio de representación la información recogida en los
    documentos XML.

    En cuanto a la inclusión de imágenes en las páginas
    XML, estas son enlaces, que pueden representarse por alguno de
    los tipos soportado por las especificaciones XLink y XPointer.
    XSL, además de permitir la descripción de la
    presentación física, también posibilita la
    ejecución de bucles, sentencias del tipo IF…THEN,
    selecciones por comparación, operaciones lógicas,
    ordenaciones de datos, utilización de plantillas, etc. Para
    que el lector se haga un pequeña idea de cómo es un
    código XSL, a continuación se muestra un sencillo
    ejemplo que permitiría mostrar todos los contenidos de las
    etiquetas <TITULO>, <AUTOR> y <PRECIO> de un
    documento XML, mediante un bucle sin condiciones:

    <xsl:template match="/">
    <HTML>
    <BODY>
    <xsl:for-each select="/LIBROS/LIBRO">
    Título:
    <xsl:value-of select="TITULO"/><BR/>
    Autor:
    <xsl:value-of select="AUTOR"/><BR/>
    Precio:
    <xsl:value-of select="PRECIO"/>
    pesetas<BR/>
    </xsl:for-each>
    </BODY>
    </HTML>
    </xsl:template>

    Por más información consultar
    http://www.w3.org/Style/XSL.

    3.2. Vínculos entre Documentos
    XML(XLink/XPointer)

    Los enlaces e hipervínculos son tan importantes
    para los documentos XML que el W3C ha sacado las especificaciones
    que las controlan fuera de las descripciones del DTD, creando 2
    normas: XLink y XPointer. Estas definen el modo de enlace entre
    diferentes documentos. Este lenguaje va más allá de los
    enlaces simples que sólo soporta el HTML [Pitts N. 1999].
    Esta especificación soporta por ejemplo las siguiente
    características:

    • Denominación independiente de la
      ubicación.
    • Enlaces que pueden ser también
      bidirecccionales.
    • Enlaces que pueden especificarse y gestionarse desde
      fuera del documento a los que se apliquen (esto permitirá
      crear en un entorno intranet/extranet un banco de datos de enlaces en
      los que se puede gestionar y actualizar
      automáticamente).
    • Hiperenlaces múltiples (anillos, múltiples
      ventanas, etc).
    • Enlaces agrupados (múltiples
      orígenes).

    XLink define la forma en la que los documentos XML deben
    conectarse entre sí. XPointer describe cómo se puede
    apuntar a un lugar específico de un determinado documento
    XML. Resumiendo, XLink determina el documento al que se desea
    acceder y XPointer marca el lugar exacto en dicho
    documento. Al contrario de lo que ocurre con HTML, en XML existen
    dos tipos básicos de hipervínculos: simples y
    extendidos. Un ejemplo de un hipervínculo simple
    sería:

    <AUTOR xlink:href="autores.xml#juan"
    xlink:show="new">
    <NOMBRE>Juan Primero Segundo</NOMBRE>
    </AUTOR>

    Otro ejemplo de un hipervínculo extendido
    podría ser:

    <EDITOR_AUTOR xlink:extended>
    <xlink:locator href="#ana" id="editor"/>
    <xlink:locator href="autores.xml#juan" id="autor"/>
    <xlink:arc from="editor" to="autor" show="replace"/>
    </EDITOR_AUTOR xlink:extended>

    En el primero se puede observar la definición de un
    hipervínculo simple que se abre en una nueva ventana
    (show="new"), mientras que en el segundo se definen un
    hipervínculo con tres posibilidades diferentes: a una
    sección determinada del documento (#ana), o a un determinado
    lugar de otro documento (autores.xml#juan), o a una zona
    delimitada por dos marcadores (editor y autor). El funcionamiento
    de un hipervínculo simple no tiene secretos, pues es similar
    al que se utiliza en HTML . Por más información
    consultar http://www.w3.org/XML/Linking.

    Referencias

    [Gómez O. Tutorial sobre XML] Disponible en
    Internet en http://face.el.uma.es/imasd/xml/xml.html

    [Pitts N. 1999]. Madrid, Anaya Multimedia, p.
    297

    [Young M. 2000]. Step by Step, Washington, Microsoft
    Press, p.139

    4. Aplicaciones y
    Productos

    4.1. Aplicaciones de
    XML

    La respuesta a si ya se puede utilizar XML en la Web es
    un rotundo si, aunque dado que es una normativa nueva, no todas
    las herramientas relacionadas con Internet son capaces de
    trabajar con XML. Con un editor de textos ASCII (el Bloc de
    notas, por ejemplo) y con un visualizador que incluya un
    intérprete de XML (Microsoft Internet Explorer 5, por
    ejemplo), ya se pueden crear y ver documentos XML. No obstante,
    existen muchas herramientas nuevas que facilitan un poco la labor
    del diseñador. Existen otros varios navegadores que admiten XML,
    como Amaya, HotMetal o HyBrick, aunque casi cada día
    están saliendo nuevos productos (intérpretes,
    navegadores, Bases de Datos, editores, DTDs, etc.) [Santamaria F.
    XML]. Si el lector solicita información en un buscador sobre
    XML, se sorprenderá de la enorme relación de recursos que
    surgirán.

    Desarrollo de aplicaciones con XML

    Se pueden establece 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.
    • Aplicaciones que intentan transferir una parte
      significativa de la carga del proceso del servidor al cliente Web. Esta
      carga hará que muchas de las funciones de modificación
      puedan desarrollarse desde el mismo navegador Web del cliente.
      El lado más negativo es que se necesitará mayor ancho
      de banda y mayor potencia del procesador del equipo para
      poder soportar esta arquitectura de tres
      capas.
    • Aplicaciones que precisen que el cliente Web presente
      diferentes versiones de los mismos datos a diferentes
      usuarios.
    • Aplicaciones en las que agentes Web inteligentes
      intentan adaptar la búsqueda de información a las
      necesidades de los usuarios individuales. Habrá una
      interacción entre la información requerida y las
      preferencias del usuario de la aplicación. Con el XML
      vendrá una segunda generación de aplicaciones con una
      mayor precisión de la búsqueda.

    4.2.
    Productos

    El número de productos para utilizar XML con Bases
    de Datos está creciendo a una gran velocidad. Nuevos
    productos entran al mercado de forma constante.
    Aquí se realiza una clasificación de estos productos,
    mencionando cuales son las características genéricas de
    los mismos, que funcionalidades brindan y se analizan algunos de
    estos productos existentes en el mercado.

    Antes de continuar, hay que realizar la aclaración
    de que los documentos XML pertenecen a dos categorías:
    "basados en datos" y "basados en documentos". Los documentos XML
    "basados en datos" son en los que XML es usado como un transporte de datos. Estos son
    por ejemplo órdenes de compra, registros de pacientes y datos
    científicos. Los "basados en documentos" son en los que XML
    es usado para representar documentos, como un manual de usuario,
    páginas estáticas, folletos de marketing. Este
    último tipo de documento se caracteriza por su estructura
    irregular.

    Para grabar y recuperar datos en un documento "basados
    en datos", se necesitará una Base de datos, como puede ser una
    Base de Datos relacional o una orientada a objetos.

    Para grabar y recuperar datos en un documento "basados
    en documentos", se necesita una Base de Datos de XML o un
    Sistema de Administración de
    Contenidos. Ambos está diseñados para almacenar
    fragmentos del contenido, como procedimientos, capítulos, y
    glosarios, y pueden incluir metadatos, como nombre del autor,
    fecha de revisión, etc. Un Sistema de Administración de
    Contenidos generalmente tiene funcionalidades adicionales, como
    editores, controladores de versiones, etc [Bourret
    R.,XML].

    4.3. Categorías de
    Productos

    Para realizar esta división de los productos que
    están vinculados a la tecnología XML se tomó en
    cuenta cuales son las características de los mismos, las
    funciones que cumplen y como interactúan con las Bases de
    Datos. Cabe destacar que a veces las diferencias entre algunas de
    estas categorías es un poco arbitraria, ya que los productos
    ofrecen funcionalidades muy variadas que implica que se
    superpongan entre las categorías. Se puede establecer que
    siete categorías de productos:

    Middleware: Software que es invocado desde
    nuestras aplicaciones para transferir datos entre documentos XML
    y Bases de Datos. Orientados a aplicaciones "basados en
    datos".

    Bases de Datos XML-Enabled: Bases de Datos que
    pueden transferir datos entre documentos XML y ellas mismas.
    Orientados principalmente para aplicaciones "basados en
    datos".

    Bases de Datos de XML Nativo: Base de Datos que
    almacenan XML en su forma "nativa", generalmente tanto texto
    indexado como alguna variante del DOM. Son tanto para
    aplicaciones "basados en datos" o "basados en
    documentos".

    Servidores XML: Plataforma que brinda servicio de datos (en forma de
    documentos XML) desde y hacia aplicaciones distribuidas, como
    e-commer Los documentos XML deben ser fáciles de crear ce y
    aplicaciones business to business. Orientados principalmente a
    aplicaciones "basados en datos".

    Servidores de Aplicaciones XML: Servidores de
    aplicaciones Web que brindan servicio de XML a los
    navegadores. Son tanto para aplicaciones "basados en datos" o
    "basados en documentos".

    Sistemas de Administración de Contenidos:
    Sistemas para administrar documentos legibles e incluyen soporte
    para editar, controlar las versiones, crear nuevos documentos a
    partir de documentos existentes. Principalmente destinados a
    aplicaciones "basados en documentos"

    Motores de consulta de XML: Aplicaciones que
    permiten realizar consultas sobre documentos XML.

    4.3.1.
    Middleware

    Middleware es software que es usado en aplicaciones
    "basadas en datos" para transferir datos entre documentos XML y
    Bases de Datos. Están escritos en diferentes lenguajes, pero
    la mayoría de estos utilizan ODBC, JDBC, o OLEDB. Aunque
    algunos de estos pueden enviar datos a través de Internet,
    la mayoría de estos necesitan ser usados con un servidor Web
    si se necesita acceso remoto a los datos. Dentro de esta
    categoría de productos podemos encontrar los siguientes
    productos:

    Producto

    Desarrollador

    ADO®

    Microsoft®

    Allora®

    HiT Software®

    ASP2XML®

    Stonebroom®

    Attunity Connect®

    Attunity Ltd.®

    DatabaseDom®

    IBM®

    DataCraft®

    IBM®

    DB2XML®

    Volker Turau®

    DB/XML Vision®

    DATA Mirror Corp.®

    IConnector®

    Infoteria®

    idx -xmnesia®

    IDEALX®

    InterAccess®

    XML Software Corporation®

    ODBC2XML®

    Intelligent Systems Researc®

    ODBC Socket Server®

    Team FXML®

    PerXML Smart Transformation
    System®

    PerCurrence®

    XML Lightweight Extractor (XLE)®

    IBM®

    XML SQL Utility for
    Java and
    XSQL®

    Oracle®

    ADO.
    Desarrollador: Microsoft

    ADO provee de un camino para transferir datos entre
    documentos XML y una Base de Datos, usando Recordsets como
    objetos intermedios. Si el Recordset tiene pendiente updates,
    deletes, o inserts, estos son especificados por banderas
    especificas de ADO.


    XML SQL Utility for Java y XSQL
    Servlet.
    Desarrollador: Oracle

    XML SQL Utility for Java es un conjunto de clases java para
    transferir datos entre Bases de Datos relacionales y documentos
    XML. Cuando se transfiere datos desde la Base de Datos a un
    documento XML, el usuario debe proveer tanto una sentencia SELECT
    o un conjunto de resultados JDBC. Cuando la transferencia es en
    el otro sentido, el usuario provee un documento XML o un
    documento DOM.

     

    4.3.2. Bases de Datos
    XML-Enabled

    Este tipo de Bases de Datos son (usualmente
    relacionales) que brindan la posibilidad de transferir datos
    entre documentos XML y ellas mismas. Estas Bases de Datos son
    generalmente diseñadas para almacenar y recuperar documentos
    "basados en datos". Esto es porque los datos son transferidos
    desde y hacia tablas definidas por el usuario, en lugar de tablas
    especialmente diseñadas para modelar el documento XML. Sin
    embargo, muchas de estas pueden almacenar documentos "basados en
    documentos" en una sola columna.

    Muchas de las Bases de Datos pueden publicar
    documentos en el Web, esto implica que la línea que separa
    entre las Bases de Datos XML-Enabled y los Servidores de XML es
    confusa, pero cabe destacar que estos últimos están
    diseñados primariamente para construir aplicaciones basadas
    en el Web. Con más claridad se puede diferenciar las Bases
    de Datos XML-Enabled y los Servidores de Aplicaciones XML, los
    cuales no puede recibir datos como documentos XML. Dentro de este
    tipo de Bases de Datos, encontramos los
    productos:

    Producto

    Desarrollador

    DB2 XML Extender and DB2 Text
    Extender®

    IBM®

    Informix®

    Informix®

    Microsoft SQL Server
    2000®

    Microsoft®

    Oracle 8i 9i®

    Oracle®

    DB2 XML Extender y DB2 Text
    Extender.
    Desarrollador:
    IBM

    El DB2 XML permite transferir
    datos entre documentos XML y DB2. Los DTDs de XML son mapeados
    a esquemas (y viceversa) con el lenguaje XML-based Data
    Access Definition (DAD). Una
    herramienta visual es provista para construir documentos DAD,
    de forma de mapear elementos y atributos a las tablas y
    columnas. Las aplicaciones son procedimientos almacenados, que
    invocan el Extender, quien luego guarda o trae datos basados en
    el documento DAD. El XML Extender administra documentos DAD y
    DTDs en sus propias tablas, evitando que las aplicaciones
    tengan que hacer esto y optimizando el acceso. Además, el
    DB2 Text Extender contiene una variedad de tecnologías
    para realizar búsquedas.

    Informix. Desarrollador:
    Informix

    Informix soporta XML a través de su
    traductor "Object Translator " y el producto "Web DataBlade." El
    Object Translator genera código, incluyendo la capacidad de
    que los objetos transfieran sus datos desde y hacia la Base de
    Datos. También soporta funcionalidades como transacciones y
    tipos de bloqueos pesimistas y optimistas. El soporte de XML
    está provisto a través de métodos generados que
    pueden transferir datos entre objetos y documentos XML. Los
    usuarios deben mapear los documentos XML a un árbol de
    objetos de datos con una herramienta visual. El Web DataBlade es
    una aplicación que crea Documentos XML desde templates
    conteniendo sentencias embebidas de SQL.

    Microsoft SQL Server 2000.
    Desarrollador: Microsoft

    Microsoft SQL Server 2000 soporta XML de
    tres formas distintas: La cláusula FOR XML en sentencias
    SELECT, consultas XPath que utilizan esquemas XML-Data, y la
    función OpenXML en procedimientos almacenados. Los esquemas
    XML-Data, también llamados "esquemas de mapeo", contienen
    atributos extras que mapean elementos y atributos a tablas y
    columnas. Esto modela un documento XML como un árbol de
    objetos de datos y son usados para consultar la Base de Datos
    usando un subset de XPath. Existe una herramienta gráfica
    para construir esquemas de mapeo.

    La función OpenXML es usada para extraer cualquier parte de
    un documento XML como una tabla y puede ser usado como una tabla
    en la mayoría de los lugares donde estas son utilizadas,
    como por ejemplo en la cláusula FROM de una sentencia
    SELECT. Esto se puede utilizar en forma conjunta con una
    sentencia INSERT para transferir datos de un documento XML a la
    Base de Datos. Una expresión XPath identifica el elemento o
    atributo que representa una fila de datos. Inserts, updates, y
    deletes son realizados a través de documentos XML llamados
    "update grams". Estos contienen los datos de antes y después
    (ambos en caso de un update), solamente el después en el
    caso de un insert, y sólo el antes en caso de un
    delete.

    Oracle 8i, 9i Desarrollador:
    Oracle

    Oracle 8i puede almacenar documentos XML de
    tres maneras distintas: en el Internet File System (iFS), usando
    el utilitario para Java XML SQL, y como un objeto binario que
    puede ser buscado utilizando el Oracle Intermedia XML Search.
    Oracle 8i también incluye
    un número de otras herramientas relacionadas con XML, la
    más interesante de las cuales es el XML Class Generator,
    quien puede generar clases Java desde un
    DTD.

    Con iFS, una o más definición de tipos de documentos
    definen como se van a mapear un documento XML como un árbol
    de objetos de datos específicos. iFS usa ese mapeo de
    documentos tanto para construir tablas en cuales el documento XML
    puede ser almacenado, y para transferir datos entre documentos
    XML y la Base de Datos. Oracle Intermedia XML Search es un
    utilitario que puede automáticamente indexar y buscar
    documentos XML y fragmentos de estos, de cualquier tamaño
    hasta 4 Gigabytes.
    Oracle 9i incluye Base de Datos con soporte nativo de XML, e
    introduce un nuevo tipo de objeto de datos
    (XMLType).

     

    4.3.3. Bases de
    Datos de XML Nativo

    Dentro de las Bases de Datos de XML Nativo
    encontramos dos tipos de
    categorías:

    • Almacenamiento basado en texto
      Guarda el documento entero en forma de texto. Una estrategia simple es guardar
      documento como un BLOB (Binary Large Object) en una Base de
      Datos relacional o como un documento en un File system que
      brinde búsquedas sobre
      documentos.
    • Almacenamiento basado en el Modelo
      Grabar un modelo binario del documento en un repositorio de
      datos existente. Por ejemplo, estos deben mapear el DOM a
      tablas relacionales como los elementos, atributos o
      entidades.

    Las Bases de Datos de XML Nativo difieren de
    las Base de Datos XML-Enabled en tres formas
    principales:

    • Las Bases de Datos de XML Nativo pueden
      preservar la estructura física, como también los
      comentarios, DTDs, etc. Mientras que las Bases de Datos
      XML-Enabled pueden hacer esto en teoría, pero es no es
      realidad en la practica.
    • Las Base de Datos de XML Nativo pueden
      almacenar documentos XML sin conocer su esquema
      (DTD).
    • La única conexión con los datos
      de una Base de Datos de XML Nativo es XML y las
      tecnologías relacionadas como XPath, DOM u otras API. En
      el otro sentido, las Base de Datos XML-enabled, ofrecen acceso
      directo a los datos como por ejemplo por
      ODBC.

    Dentro de esta categoría podemos
    encontrar los siguientes productos:

    Producto

    Desarrollador

    4Suite – 4Suite Server®

    FourThought®

    Birdstep DataBase Engine®

    Birdstep®

    DbXML®

    The dbXML Group®

    EXcelon®

    eXcelon Corp.®

    Lore®

    Stanford University®

    Virtuoso®

    OpenLink Software®

    4.3.4. Servidores
    XML

    Los Servidores XML son plataformas para
    recibir y enviar datos entre aplicaciones distribuidas, como
    e-commerce y
    business-to-business. En la gran mayoría de los casos los
    datos son transferidos en formato de documentos XML del tipo
    "basados en datos". Los servidores XML generalmente contienen
    ambientes de desarrollo de aplicaciones y proveen acceso a los
    datos de distintos tipos.

    La línea divisoria entre los Servidores
    XML, las Bases de Datos XML-Enabled y las Bases de Datos de XML
    nativo es confusa. Los sistemas que se encuentran en la
    categoría de Servidores XML son los que se muestran como
    plataformas para construir aplicaciones de e-commerce y otras aplicaciones
    distribuidas, en lugar de estrictamente ser una Base de Datos,
    que obviamente pueden ser usados para desarrollar estas
    aplicaciones. Dentro de esta categoría podemos encontrar los
    siguientes productos:

    Producto

    Desarrollador

    Castor®

    Exolab.org®

    MatriXML®

    MojoTechnology®

    Rhythmyx Integrator®

    Percussion Software®

    Total-e-Business®

    HP/Bluestone®

    Versant enJin®

    Versant Corp®

    XA-BizDoc Server®

    XAware Inc®

    XML Portal Server (XPS)®

    Sequoia Software Corp.®

     

    4.3.5.
    Servidores de Aplicaciones
    XML

    Los Servidores de Aplicaciones XML son
    servidores de aplicaciones Web que son capaces de dar servicio a
    cualquier tipo de documento XML. Estos utiliza sentencias SQL
    embebidas en un lenguaje de scripts para obtener datos y generar
    dinámicamente documentos
    XML.

    La división entre Servidores XML
    y Servidores de Aplicaciones XML está poco definida; los
    sistemas que se pueden catalogar como Servidores de Aplicaciones
    XML tienden a ser dirigidos por lenguajes de scripting o
    lenguajes de marcas personalizados. Sin embargo, muchos Sistemas
    de Administración de Contenidos pueden también publicar
    documentos XML al Web, estos son fundamentalmente diferentes en
    que son diseñados para administrar documentos "basados en
    documentos", mientras que los Servidores de Aplicaciones XML
    sirven tanto para documentos "basados en datos" (páginas
    dinámicas) como "basados en documentos" (páginas
    estáticas). Dentro de esta categoría podemos encontrar
    los siguientes productos:

    Producto

    Desarrollador

    AxKit®

    AxKit.com Ltd.®

    Cache®

    InterSystems Corp®

    Cocoon®

    Apache.org®

    ColdFusion®

    Allaire®

    Lasso®

    Blue World Communications®

    Noetix Web Query®

    Aris Software Inc.®

    Zope®

    Digital Creations®

    4.3.6.
    Sistemas de Administración de
    Contenidos

    Los Sistemas de Administración de
    Contenidos sirven para almacenar, recuperar e integrar documentos
    XML. Estos incluyen características como editores,
    controladores de versiones y control de accesos a usuarios
    concurrentes. Estas ofrecen funcionalidades en el manejo de
    documentos, como por ejemplo controlador de versiones. La
    mayoría de los Sistemas de Administración de Contenidos
    pueden publicar XML en el Web, pero son primariamente
    diseñados para administrar documentos "basados en
    documentos".

    Producto

    Desarrollador

    Astoria®

    Chrystal Software®

    BladeRunner®

    Interleaf®

    Documentum®

    Documentum®

    Dynabase®

    eBusiness Technologies®

    Epic®

    Arbortext®

    Frontier®

    UserLand Software®

    GEM Content Management System®

    X.Systems®

    GroveMinder®

    TechnoTeacher®

    Hynet Directive®

    Hynet Technologies®

    Information Manager®

    Interleaf®

    POET Content Management Suite®

    Sorman®

    Prowler®

    Infozone®

    Target 2000®

    Progressive Information
    Technologies®

    4.3.7.
    Motores de Consulta de
    XML

    Motores de consulta XML son programas
    que puede realizar consultas sobre un Documento XML. Actualmente,
    existen una gran variedad de lenguajes: XQL, XPath, XML-QL,
    Quilt, XQuery, etc. Se espera que en el futuro el W3C logre
    estandarizar estos lenguajes en: XPath y
    XQuery.

    Por más información
    consultar
    http://www.w3.org/XML/Query.

    Referencias

    [Bourret R.,XML] Disponible en
    Internet en
    http://www.rpbourret.com/xmldbms/index.htm

    [Santamaria F. XML] Disponible en
    Internet en http://www.florida-uni.es/fesabid98/Comunicaciones/f_santamaria/f_santamaria.htm

    5.
    Conclusiones

    5.1.
    Conceptos importantes

    Es importante resaltar y dejar claro
    distintos aspectos de lenguaje
    XML:

    1. La existencia de XML no implica que
      desaparecerá el HTML. Dado que la mayor parte de las
      páginas Web son documentos
      de texto con algunas imágenes, HTML seguirá siendo el
      medio más eficaz para crearlas y
      publicarlas.
    2. XML puede convivir con los
      restantes lenguajes, tales como HTML, JAVA, JavaScript, VBScript, Visual Basic, etc. En muchos de
      estos casos, XML hará las veces de "base de datos", los
      scripts servirán para realizar búsquedas selectivas y
      el HTML permitirá que se muestre la información
      resultante en la pantalla.
    3. Hasta que no se publiquen todas las
      recomendaciones oficiales de los estándares que
      complementan a la de XML, no "explotará" la
      publicación de páginas XML en Internet, ya que
      todavía se modificarán algunas cuestiones
      importantes.
    4. XML es utilizado principalmente por
      los profesionales, debido a la complejidad de las
      especificaciones, pero según vayan saliendo al mercado
      nuevos editores que permitan manipular documentos XML, se
      podrán utilizar por cualquier persona, de forma similar a
      como se trabaja con los editores de textos
      actuales.
    5. Para evitar que no existan
      innumerables formas de describir documentos de un determinado
      sector, ya se está trabajando en la definición de
      DTDs sectoriales de carácter público que
      estén respaldados por el máximo de empresas y
      organismos posibles. Según se vayan publicando, se
      crearán nuevas herramientas para su
      tratamiento.

    5.2.
    Conclusiones Finales

    XML en su calidad de estándar del
    sector para expresar datos estructurados, 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úsquedas avanzadas 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.

    Dado que la mayoría de las
    aplicaciones empresariales implican la manipulación o la
    transferencia de datos y registros en las Bases de Datos, como
    pedidos de compra, facturas, información del cliente, citas,
    etc., XML va a revolucionar las posibilidades de los usuarios
    finales en Internet, permitiendo la implementación de un
    amplio abanico de aplicaciones
    empresariales.

    Tras el análisis realizado de las
    principales características de XML, podemos afirmar que
    entraremos en una segunda fase de la World Wide Web y, por lo
    tanto, habrá un desarrollo de aplicaciones más
    inteligentes alrededor de este lenguaje. Habrá que salvar
    algunos obstáculos, como que las grandes compañías
    deberán acogerse con los estándares aprobados por el
    W3C, para que XML se convierta en algo más que el sucesor de
    HTML. También XML se implementará en aplicaciones fuera
    del mundo Internet/Intranet, haciendo mucho más sencillo y
    cómodo el intercambio de datos entre aplicaciones. Hoy en
    día se puede afirmar que XML no es más una promesa,
    sino que es una realidad.

    BIBLIOGRAFIA

    Bourret R., XML Database
    Products
    . Citado el 1 de mayo del 2001. California.
    Disponible en Internet en
    http://www.rpbourret.com/xmldbms/index.htm

    Goldfarb C., Precod P. ;1999.
    Manual de XML. Madrid. Prentice
    Hall

    Gómez O., Tutorial sobre
    XML
    . Citado el 1 de mayo del 2001. Málaga. Disponible en
    Internet en
    http://face.el.uma.es/imasd/xml/xml.html

    LaVariable; Manual de XML DOM.
    Citado el 12 de abril del 2001. S.L. Disponible en Internet en
    http://www.lavariable.com/art/xml/axml003/axml003.asp#Intro

    Marketing y Comercio Electrónico;
    XML, comienza una nueva era en Internet. Citado el 12 de
    abril del 2001. S.L. Disponible en Internet en
    http://www.marketingycomercio.com/numero5/5xml.htm

    MSDN Latinoamérica,
    Intercambio de Información a través de Internet
    utilizando XML
    . Citado el 1 de mayo del 2001. S.L. Disponible
    en Internet en

    http://www.asia.microsoft.com/latam/msdn/articulos/2000/04/art02/#top

    MSDN en línea;
    Introducción al XML. Citado el 12 de abril del 2001.
    S.L. Disponible en Internet en
    http://www.microsoft.com/Latam/msdn/articulos/1999/11/art02/19991102.doc

    MSDN en línea; Por qué
    utilizar XML
    . Citado el 12 de abril del 2001. S.L. Disponible
    en Internet en
    http://www.microsoft.com/latam/msdn/articulos/2000/03/art03/#top

    Montero R.; XML, el lenguaje
    universal
    . Citado el 12 de abril del 2001. Madrid. Disponible
    en Internet en
    http://www.ramon.org/xml/articulos/intro_xml-html.htm

    Santamaria F.; XML: Nuevo
    estándar para la descripción de documentos.
    Citado
    el 18 de abril de 2001. Florida. Disponible en Internet en
    http://www.florida-uni.es/fesabid98/Comunicaciones/f_santamaria/f_santamaria.htm

    Pitts N.; 1999. XML. Madrid. Anaya
    Multimedia

    Young M.; 2000. XML Step by Step.
    Washington. Microsoft Press

    GLOSARIO

    API

    Application Program Interface –
    Interfaz para programas de aplicación. Conjunto de
    convenciones de programación que definen como se invoca un
    servicio desde un programa.

    ASCII

    American Standard Code for Information
    Interchange – Estándar Americano de Codificación para
    el Intercambio de Información. Conjunto de normas de
    codificación de caracteres mediante caracteres
    numéricos, de amplia utilización en informática y telecomunicaciones.

    B2B

    Business to business – Empresa a
    Empresa. Modalidad de comercio electrónico en el que las
    operaciones comerciales se
    realizan entre empresas.

    E-commerce

    Electronic Commerce – Comercio
    Electrónico. Intercambio de bienes y servicios realizado a
    través de tecnologías de la información y las
    comunicaciones.

    HTML

    HyperText Markup Language – Lenguaje
    de Marcado de Hipertexto. Lenguaje en el que se escriben las
    páginas que son accedidas a través de navegadores
    Web.

    HTTP

    Hypertext Transfer Protocol- Protocolo de Transferencia de
    Hipertexto. Es un protocolo que permite recuperar en forma
    rápida y efectiva documentos hipertexto de la
    WWW.

    JAVA

    Lenguaje de programación
    desarrollado por la empresa Sun® para la
    elaboración de aplicaciones exportables, capaces de operar
    sobre cualquier plataforma.

    JavaScript

    Lenguaje de programación para WWW
    desarrollado por Netscape®. Pertenece a la familia Java y se caracteriza por
    tener el código fuente de los programas incorporados en el
    documento HTML.

    JDBC

    Java Database Connectivity –
    Conectividad Java de Bases de Datos. Es un API que brinda un
    conjunto de objetos y funciones para que los programadores puedan
    integrar servicios de bases de datos
    dentro de sus aplicaciones creadas en
    Java.

    Navegador

    Programa que permite al usuario
    navegar por la Red. Los navegadores pueden estar basados en texto
    o en gráficos. Algunos
    ejemplos de navegadores son Microsoft Internet Explorer® o
    Netscape Navigator®.

    ODBC

    Open Data Base Conectivity –
    Conectividad Abierta de Bases de Datos. Brinda un conjunto de
    objetos y funciones para que los programadores puedan integrar
    servicios de bases de datos dentro de las
    aplicaciones.

    Unix

    Sistema operativo creado en 1969.
    Reescrito a mitad de la década de los '70 por ATT
    alcanzó enorme popularidad en los ambientes académicos
    y más tarde en los empresariales. Es un sistema abierto,
    robusto, flexible y portable, muy utilizado en los entornos de
    Internet.

    VBScript

    Lenguaje de programación para WWW
    desarrollado por Microsoft ®. Pertenece a la familia Visual Basic y se
    caracteriza por tener el código fuente de los programas
    incorporados en el documento
    HTML.

    Visual
    Basic

    Lenguaje de programación
    desarrollado por Microsoft®.

    Web

    Se utiliza para definir el universo WWW en su
    conjunto.

    WWW

    Word Wide Web. Sistema de información
    distribuido, basado en hipertexto, creado a principios de los años 90.
    La información puede ser de cualquier formato (texto,
    gráfico, audio, imagen) y es fácilmente
    accesible a los usuarios mediante
    navegadores.

    Windows
    NT

    Sistema operativo desarrollado por la
    empresa Microsoft®

    Trabajo enviado
    por:

    Marcelo
    Amaya

    amaya[arroba]isoft.com.uy

    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.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter