INFORME SOBRE LA PRESENTIACION DE XML AUTOR:MIKELO ALONSO HORNES Este informe quiere servir como complemento a la presentacion hecha en clase sobre las base de detos XML.cabe destacar que en este informe no se inclulle la informacion total de la presentacion sino solo la parte que le corresponde al autor del mismo. Los puntos tratados en la presentacion cion fueron los siguientes: 3.XML APLICADO A BASES DE DATOS 5.EXIST XML NATIVE DB 6.EXIST VS DBXML Ahora veremos un poco los datos que se trataron en la presentacion: 3.XML APLICADO A BASES DE DATOS Con la aparicion y Extenesion de las comunicaciones atraves de internet y otras redes de comunicacion nos encontramos con la aparicion de nuevas necesidades: -Con el uso de Internet un basto abanico de posibilidades de comunicación se ha abierto ante nosotros -Internet se ha convertido en una herramienta de intercambio de información usada tanto en el ámbito personal como empresarial (muy especialmente por empresas) Pero el intercambio de información no es tan fácil como cabria pensar.La dificultad radica en el uso de diferentes formatos de representación de la información(sin un estandar definido).La conversión de todos los formatos de representación a uno único es inviable por el coste que esto tendria y por la cantidad de documentos (la transformación de uno a otro es costosa) y formatos existentes. Pero es imnegable que el uso de la Web para el intercambio de datos es fundamental para las empresas hoy por hoy. El máximo exponente de este problema son las bases de datos ya que son: - bastas fuentes de información - diferentes formatos según empresa proveedora - su cambio es costoso Para solucionar este problema grave nació XML. XML se ha convertido en el estándar para la presentación de información en la Web y también para el intercambio de información Inter. o intr. Empresas. La generación de XML a partir de la información que tienen almacenada bases de datos se hace cada vez mas necesario para facilitar la comunicación a través de la Web. Los sistemas de gestión de bases de datos (DBMS) empleados siguen siendo en su mayoría relacionales aunque poco a poco se instauran otras soluciones que no necesiten una adaptacion a la comunicacion de datos atraves de la WEB. Para resolver estos problemas de conversión (a XML) distinguimos varias soluciones: 1) FUENTES DE DATOS NO XML: La principal fuente de datos no XML con que cuentan las empresas son los RDBMS.El numero de estas es muy elevado por lo que su conversión a otro SGBD es inviable.La solución pasa por un nivel intermedio entre la capa cliente y la base de datos que transforme las soluciones a un documento XML. Estas herramientas las podemos clasificar en dos grupos: - Las que transforman el modelo relacional a una representación XML: Crean una vista virtual XML con información de la base de datos. El usuario es lo que ve y hace las consultas sobre ello. La consulta es interpretada y ejecutada en la RDBMS y finalmente se devuelve la solución en XML. Alguna de las herramientas que siguen este modelo son: XTABLES (también conocido como XPERANTO) SilkRoute XBD - las que transforman el resultado de consultas SQL a la RDBMS: Estas usan SQL como lenguaje de consulta del cliente. La RDBMS devuelve la solución y esta es transformada a XML. 2. FUENTES DE DATOS XML: Dentro de estas distinguimos dos familias: RDBMS habilitados para XML: Son bases de datos tradicionales que definen un nuevo tipo de dato que permite el almacenamiento de información en formato XML.Esta información sufre una transformación a la hora de su almacenado en tablas relacionales. Esta forma de almacenado tiene dos planteamientos diferentes: – El planteamiento de DB2 y ORACLE: Donde el dato XML tiene una tabla adjunta en la que se almacena la información contenida en este. – El planteamiento de SQLSERVER2005: Este sistema almacena el documento en formato binario en el que los elementos se identifican mediante un numero que actúa como índice; esta información debe ser previamente convertida al correspondiente tipo de dato. En esta tabla podemos ver un breve esbozo de sus caracteristicas: Bases de datos nativas XML: Permiten el almacenamiento, consulta y actualización de información XML Su principal diferencia es el lenguaje de acceso que usan ( XPath, Xquery o ambos).Por el contrario el lenguaje de actualizacion en general es el mismo Xupdate. 5.EXIST XML NATIVE DB Exist es una base de datos nativa XML desarrollada por OPEN SOURCE. Facil de integar en aplicaciones que trabajan con XML. Esta totalmente desarrollada en JAVA y es una base de datos preparada para trabajar como proceso independiente del servidor o integrado en un serverengine o directamente integrada en una aplicacion. Exist utiliza un almacange de textos XML basado en coleciones jerarquizadas; usa tanto XPATH com XQUERY para el aceso de los datos. Aunque es una sintaxis ligera: – el usuario puede preguntar por una parte de la jerarquía de datos o hasta por todos los documentos contenidos en la base de datos. – el motor de procesamiento de preguntas proporcionado por eXist es eficiente gracias al uso de índices. Exist integra un esquema de indexación por cada documento XML que mejora la identificación de relaciones estructurales entre nodos. Usa XUpdate para la actualizacion de los datos y las aplicaciones java pueden acceder medianteel API XML:DB interfaz común para el acceso a bases de datos nativasXML. Para los indices y la organización de datos Exist utiliza cuatro ficheros de indices diferentes para almacenar los documentos xml: – collections.dbx: maneja la jerarquia de los datos del documento Xml. – dom.dbx: recoge nodos en un archivo paginado y asocia de nodos a los nodos reales. – elements.dbx: se compone de los indices de los elementos y sus atributos. – words.dbx: registro de palabras que se usa para busquedas en todo el texto. Todos estos indices estan basados en B+-trees, este sistema se basa en la idea de organizar los elementos, sus atributos correspondientes y las palabras clave en colecciones en lugar de hacerlo mediante el documento. La jerarquica que lleva a elementos comunes ( serian los diferentes pasos por etiquetas gerarquicas por las que tenemos que pasar) o mas bien de la misma familia es unico; el conjunto de todas estas rutas de acceso a los datos se almacena en elements.dbx. En el collections.dbx tendremos almacenada la estructura del documento,gracias a el podremos movernos con facilidad por la estructura gerarquica de los datos. Ademas durante su creacion a cada coleccion de datos le asigna un identificador unico. El dom.dbx representa el componente principal Exist ya que en el almacenaremos todas las colecciones de datos. En si solo es un fichero estrutrurado por nodos. La estructura tendria mas o menos este aspecto: Por ultimo, el elemento que nos queda es el fichero word.dbx. Este fichero no es mas que un indice inverso de palabras que nos ayuda a conseguir las rutas de las palabras en los textos Xml. Gracias a el las busquedas en la base de datos son mas rapida. Para guardar los datos Exist como cualquier otra base de datos nativaXml tiene como estandar de acceso a los datos el lenguaje Xpath. Ademas de ser compatible con otros lenguajes derivados del mismo como Xquery. Pero esto no es todo, Exist gracias a su estructura peculiar de ficheros que estructuran los datos de los documentos XML utiliza un lenguaje que podriamos definir como experimenta; este nuevo lenguaje no es mas que una extension de Xpath que intenta subsanar las carencias que tiene este frente a las nuevas necesidades. 6.EXIST VS DBXML En este apartado veremos las diferentes caracteristicas entre EXIST y DBXML, con ello intentaremos presentar las posibles diferencias existentes entre ellas: Exist DBXml Lengua de desarrollo: Java Lengua de desarrollo: Desconocido Plataformas donde trabaja: Plataforma no definida aunque ha sido resesteado en WinXP y Red Hat Linux Plataformas donde trabaja: Plataforma no definida aunque ha sido testeado en WinXP y Red Hat Linux Formato de almacenamiento: Formato de almacenamiento: almacena los datos mediante B+-trees y archivos se almacenan los datos mediante paginados. ficheros indesados los nodos de los documentos se almacenan en un los ficheros y sus anexos van comprimidos DOM (DocumentObject Model) persistente. juntos y se guardan en directorio apropiado guardan en directorio apropiado los datos son almacenados en:Webapp/WEBINF/data respecto al directorio raiz de Exist. De cada documento se almacena: wcollections.dbx-->los datos sin mas wdom.dbx-->DOM persistente welements.dbx-->indice de elementos wwords.dbx-->Indice de palabras(datos) Soporte de ficheros en binario: no tiene soporte para ellos Soporte de ficheros en binario: los soporta pero solo puede tener ficheros binarios o ficheros Xml Estandars Xml con los que trabajan: -XPath/Xquery -Xupdate -Xinclude/Xpointers -API: XML:DB Estandars Xml con los que trabajan: -XPath/Xquery -Xupdate -Allows full-text query -API: Java/C++ API’s -No supported: Xpointers,XQL,Xquery Caracteristicas de la BD's sistema de autorizacion: usa un sistema de permisos por niveles para el acceso a los documentos similar al que usa Unix resto de caracteristicas desconocidas Caracteristicas de la BD's sistema de autorizacion: sistema de autorizacion por niveles usa la base de datos Berkeley para la concurrencia, realizar las transacciones, recuperación y replicado Exist Interface de usuario incorpora una interface grafica DBXml Interface de usuario No incorpora ninguna interface grafica Conclusiones XML es un “lenguaje” para definir lenguajes de etiquetas. XML se está expandiendo mucho gracias a Internet, pues para ese uso fue creado. WWW lo estandarizó para el intercambio de documentos. El código se encuentra fácilmente en inernet.