Descargar

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