Download Introducción a XML
Document related concepts
Transcript
XML Nociones básicas para entender el “mundo XML”. Índice Índice 1) 2) 3) 4) 5) 6) Introducción a XML XML aplicado a bases de datos dbXML Exist dbXML vs. Exist Conclusiones Mikel Alonso & Cynthia Fresno 2 1. Introducción a XML 1. Introducción a XML ¿Qué es XML? Definición: Lenguaje de metamarcado para documentos que contienen información estructurada Mikel Alonso & Cynthia Fresno 4 1. Introducción a XML Lenguaje de metamarcado: Mecanismo para identificar estructuras en un documento. Información estructurada: Consta de un contenido (palabras, imágenes…) y de el papel que “interpreta” este contenido. Casi todos los documentos tienen una estructura. Mikel Alonso & Cynthia Fresno 5 1. Introducción a XML ¿Qué es un documento? Para XML un documento no es sólo un “documento de texto propiamente dicho”. Pueden tener: gráficos vectoriales, transacciones e-comerciales, meta-datas de objetos, etc. Mikel Alonso & Cynthia Fresno 6 1. Introducción a XML ¿Para que se creó XML? Para que documentos ricamente estructurados se pudieran utilizar en Internet. Las únicas alternativas viables (SGML y HTML) no son adecuadas para este propósito: - HTML: Limitado por un grupo de semanticos, no proporciona información estructurada. - SGML: Proporciona una estructura arbitraria, pero dificil implementarlo sólo para una aplicación web. Mikel Alonso & Cynthia Fresno 7 1. Introducción a XML Objetivos de desarrollo de XML 1) Debe ser sencillo utilizar XML en Internet: Los usuarios deben ser capaces de ver documentos XML como HTML. 2) Debe admitir una gran variedad de aplicaciones. 3) Debe ser compatible con SGML. 4) Debe ser fácil escribir programas que procesen documentos XML. 5) El número de características opcionales en XML debe mantenerse absolutamente mínimo, idealmente cero.Mikel Alonso & Cynthia Fresno 8 1. Introducción a XML 6) Los documentos XML deben ser humanamente legibles y razonablemente claros. 7) El diseño de XML debe de hacerse rápidamente. 8) El diseño de XML debe ser formal y conciso. (XML debe ser expresado en “EBNF”) 9) Los documentos XML deben de ser fáciles de crear. 10) Ser conciso es de mínima importancia en el marcaje de XML. Mikel Alonso & Cynthia Fresno 9 1. Introducción a XML ¿Cómo está definido XML? XML está definido por un número de especificaciones relacionadas: 1) Extensible markup language (XML): Define la sintaxis de XML. 2) XML Pointer Language (XPointer) y XML Linking Language (XLink): Define una manera estándar de representar uniones entre recursos. 3) Extensible Style Language (XSL): Define el lenguaje estándar de hojas de estilo para XML. Mikel Alonso & Cynthia Fresno 10 1. Introducción a XML Estructura de un documento XML Un documento XML tiene dos estructuras: Una lógica y otra física. Físicamente: el documento está compuesto por entidades. - Una entidad puede hacer referencia a otra entidad. - Cada documento comienza con una entidad documento (raiz). Mikel Alonso & Cynthia Fresno 11 Logicamente: Documento compuesto por declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento. Mikel Alonso & Cynthia Fresno 12 1. Introducción a XML Especificaciones de XML DTD: Definición de tipo documento Archivo(s) que lleva una definición formal de un tipo de documento y especifica la estructura lógica de cada uno. Define los elementos de una pagina y sus atributos. DTD de XML opcional XSL: Define o implementa el lenguaje de estilo de los documentos escritos para XML. Permite modificar el aspecto de un documento. Mikel Alonso & Cynthia Fresno 13 1. Introducción a XML XXL: Define el modo de enlace entre los diferentes enlaces. Se considera subconjunto de HyTime. Sige algunas especificaciones de TEI. Este lenguaje tiene dos importantes componentes: XLink y XPointer. XUA: Estandarización de navegadores XML. En proceso de creación. Se aplicará a los navegadores, para que todos compartan las especificaciones XML. Mikel Alonso & Cynthia Fresno 14 1. Introducción a XML XML vs. HTML HTML: - Semántica de etiquetas y sistema de etiquetas fijos. - Cambios limitados por: Vendedores del navegador. Compatibilidad con antiguas versiones. • XML: - No especifica el sistema de etiquetas, así que no puede haber una semántica predefinida. - Semanticos XML: serán definidos por las aplicaciones que los procesan o por las hojas de estilo. Mikel Alonso & Cynthia Fresno 15 1. Introducción a XML XML vs. SGML SGML: Lenguaje generalizado estádar de etiquetas. Forma estándar e independiente de los vendedores, para mantener los depositos de la información estructurada. No funciona bien sirviendo documentos en internet. XML: Perfil de aplicación de SGML. Mikel Alonso & Cynthia Fresno 16 1. Introducción a XML Los sistemas totalmente ajustados a SGML deben poder leer documentos XML. Aun así, utilizar y leer documentos XML no requiere un sistema que entienda la totalidad de SGML. Mikel Alonso & Cynthia Fresno 17 1. Introducción a XML ¿Cómo son los documentos XML? Ejemplo: <?xml version="1.0"?> <oldjoke> <burns>Say<quote>goodnight</quote>, Gracie.</burns> <allen><quote>Goodnight, Gracie.</quote></allen> <applause/> </oldjoke> Mikel Alonso & Cynthia Fresno 18 2. Relacional vs. XML 2. Relacional vs. XML Introducción La diferencia principal entre las bases de datos relacionales y las XML: - Relacional: centrada en datos (almacena en sus campos datos atómicos). - XML: almacenan documentos XML (ni tiene campos, ni almacena datos atómicos.). Asi, vemos que las diferencias principales se darán en cuanto al ALMACENAMIENTO, la BÚSQUEDA, y el PROCESAMIENTO de dicha información. Mikel Alonso & Cynthia Fresno 20 2. Relacional vs. XML Almacenamiento RELACIONAL: Una BD relacional consiste en una colección de tablas que guardan sistemas particulares de datos. Las tablas pueden relacionarse entre si de diferentes maneras: - Dependencias funcionales: se crean cuando un atributo de una tabla se relaciona con el atributo de otras tablas. - Relación más simple: 1:1 - 1:n, n:1, n:n. Mikel Alonso & Cynthia Fresno 21 2. Relacional vs. XML Esta información almacenada en tablas está organizada lógicamente para poder cumplir los siguientes propósitos: - minimizar la duplicación. - reducir las anomalías en lo datos. - reforzar la integridad de los datos. Proceso de organización lógica: normalización (simplifica la manera en la que los datos están definidos y su organización). - Existen 5 formas de normalización: 1NF – 5NF. Mikel Alonso & Cynthia Fresno 22 2. Relacional vs. XML XML: Supuestamente una base de datos nativa de XML debería almacenar la información en formato XML. Pero en realidad lo que hace es que una base de datos de este tipo tiene repositorios “tipo XML”, en los que se almacenan los indices generados por cada documento XML almacenado. Mikel Alonso & Cynthia Fresno 23 2. Relacional vs. XML Búsqueda RELACIONAL: La mayoría de bases de datos relacionales utilizan SQL. XML: Utiliza XPath y XQuery. Algunas bases de datos permiten seleccionar los elementos que deben tener índice, otras indexan todo el documento. Problema: No permite realizar búsquedas muy complicadas (ej: ordenamiento y cross join). Mikel Alonso & Cynthia Fresno 24 2. Relacional vs. XML XQuery y XPath XQuery: Lenguaje diseñado para procesar datos XML. - No sólo ficheros en XML, también otro tipo de datos (incluidas las bases de datos), cuya estructura sea similar a XML. XQuery como “generalización” de XPath: pues XQuery utiliza las “expresiones path” de XPath. - Exceptuando algunas expresiones más ambiguas, todas las expresiones XPath lo son tambiénMikel deAlonso XQuery. & Cynthia Fresno 25 2. Relacional vs. XML Procesamiento RELACIONAL: Al igual que la búsqueda se hace con SQL. XML: No funciona muy bien debido a su estructura jerárquica. - Muchas bases de datos necesitan que el usuario recupere en documento XML entero, lo actualice con algún API y luego lo vuelva a almacenar todo el documento. Mikel Alonso & Cynthia Fresno 26 - Esto pasa porque no existe un lenguaje oficial para la actualización, inserción o eliminación de elementos en un documento XML. (hay un lenguaje de actualizaciones pero hay muchos gestores de bases de datos que no lo damiten, se llama XUpdate). Mikel Alonso & Cynthia Fresno 27 2. Relacional vs. XML Resumen de diferencias XML RDBMS Los datos en una estructura jerárquica Datos en tablas múltiples única. Los nodos tienen elementos y/o valores de atributo. Celdas con un único valor Los elementos pueden ser jerarquizados Valores celulares atómicos Los elementos están ordenados. Orden filas/columnas sin definir Los elementos pueden ser recursivos Poca aceptación para los elementos recursivos. Esquema opcional Esquema requerido Almacenamiento y recuperación directa de documentos XML. Joins necesarios a menudo para recuperar datos Mikel Alonso & Cynthia Fresno 28 3. XML APLICADO A BASES DE DATOS ¿Qué ofrece? Nuevas necesidades frente a la web Intercambio de datos Soluciones para la estandarización de XML 1. Fuentes de datos no XML 2. Fuentes de datos XML Problemas de integracion Mikel Alonso & Cynthia Fresno 30 Nuevas necesidades frente a la web Con la entrada y generalización del 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) Mikel Alonso & Cynthia Fresno 31 Pero el intercambio de información no es tan fácil: diferentes formatos de representación de información la conversión de todos los formatos de representación a uno único es inviable la transformación de uno a otro es costosa Mikel Alonso & Cynthia Fresno 32 Intercambio de datos 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 - bastas fuentes de información - diferentes formatos según empresa proveedora - su cambio es costoso Para solucionar este problema grave nació XML. Mikel Alonso & Cynthia Fresno 33 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 Mikel Alonso & Cynthia Fresno 34 Para resolver estos problemas de conversión (a XML) distinguimos varias soluciones Mikel Alonso & Cynthia Fresno 35 Soluciones para la estandarización de XML 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 Mikel Alonso & Cynthia Fresno 36 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 Finalmente se devuelve la solución en XML Mikel Alonso & Cynthia Fresno 37 Mikel Alonso & Cynthia Fresno 38 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 Mikel Alonso & Cynthia Fresno 39 2. FUENTES DE DATOS XML: Dentro de estas distinguimos dos familias: - 2.1 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. Mikel Alonso & Cynthia Fresno 40 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 Mikel Alonso & Cynthia Fresno 41 En esta tabla podemos ver un breve esbozo de sus caracteristicas Mikel Alonso & Cynthia Fresno 42 - 2.2 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 Mikel Alonso & Cynthia Fresno 43 4. dbXML 4. dbXML ¿Qué es dbXML? Idea principal: proporcionar una manera simple de almacenar y administrar grandes cantidades de documentos XML. Mikel Alonso & Cynthia Fresno 45 4. dbXML ¿Qué ofrece dbXML? Cumple la mayoría de los requisitos de las bases de datos XML nativas, entre ellos: Almacenamiento de colecciones de documentos XML. un motor de base de datos “multi-threaded” optimizado para datos XML. Almacenamiento de datos semiestructurados y carentes de esquema. Almacenamiento de documentos preanalizados y comprimidos. Mikel Alonso & Cynthia Fresno 46 4. dbXML Maquina XPath de búsqueda. Una colección de indices para mejorar el funcionamiento de la búsqueda. La implementación XUpdate de XML:DB para las actualizaciones. La implementación de Java API para de XML: DB para construir aplicaciones. Una completa variedad de herramientas de linea de comandos. Mikel Alonso & Cynthia Fresno 47 4. dbXML Almacenamiento Documentos almacenados en colecciones, donde cada documento individual está almacenado en una forma pre-analizada comprimida → Significativamente aumenta la velocidad cuando trabajamos con datos XML. La máquina dbXML está optimizada para el almacenaje de documentos que tengan como mucho 50K. Almacenaje en colecciones → herramienta sencilla para manipular y buscar documentos en forma de sistema. Mikel Alonso & Cynthia Fresno 48 4. dbXML RDBMS vs. dbXML: Diferencia principal: En dbXML el esquema de lo que se puede encontrar en no está fijo. - Se pueden mezclar documentos de esquemas completamente diferentes en la misma colección. Ejemplo: - Un catalogo de productos, donde cada producto necesita datos especializados. Mikel Alonso & Cynthia Fresno 49 4. dbXML Seguridad en dbXML dbXML tiene tres formas de encargarse la seguridad. - Sin seguridad. - Seguridad simple: nombre de usuario y “password” (definido en system.xml) - Seguridad por defecto defecto: Basado usuarios y roles. Mikel Alonso & Cynthia Fresno en 50 4. dbXML Sistema de Comandos: Existen tres relacionados con la seguridad. Usuarios: Los comandos relacionados con los usuarios permiten administrar los usuarios de las bases de datos. (crear, borrar, participación de roles y sistema de contraseñas) Roles: Los roles se asignan para poder entrar en las listas de control.(comandos relacionados: crear, borrar y participación de usuario). Mikel Alonso & Cynthia Fresno 51 Lista de control de acceso: Como se garantiza acceder a una base de datos. - Acceso garantizado a nivel de colecciones (ni recursivo, ni automático). - Crear una colección no garantiza al usuario poder acceder a la misma. - Acceder a una colección “padre” no implica poder acceder a la “colección hijo”. Mikel Alonso & Cynthia Fresno 52 4. dbXML Linea de comandos El servidor dbXML tiene un amplio número de herramientas de líneas de comando para poder desarrollar cualquier tipo de administración básica. Veremos unos ejemplos para hacernos una idea: (en todos los comandos myaddress.xml contiene un simple documento) <address id="1"> <name> <first>John</first> <last>Smith</last> </name> </address> Mikel Alonso & Cynthia Fresno 53 4. dbXML Crear una colección: dbxmladmin add_collection -c /db -n addresses Añadir un documento: dbxmladmin add_document -c /db/addresses -n myaddress -f myaddress.xml Eliminar un documento: dbxmladmin retrieve_document -d /db/addresses -n myaddress Mikel Alonso & Cynthia Fresno 54 4. dbXML Crear un índice en el atributo id: dbxmladmin add_indexer -c /db/addresses -n id_idx -p @id Ejecutar una búsqueda XPath: dbxmladmin xpath -c /db/addresses -q /address[@id = 1] • Patrón básico para ejecutar un comando dbxmladmin: - decir que operación se quiere ejecutar. - que contexto de colección debe ser ejecutado (-c switch). - y cualquier argumento especifico de la operación. Mikel Alonso & Cynthia Fresno 55 4. dbXML Desarrollando aplicaciones El verdadero valor de dbXML se ve cuando desarrolla aplicaciones hechas a medida. Para esto se utiliza el XML: DB API de Java. - Hecho para habilitar el desarrollo de las aplicaciones de las bases de datos de XML portables. XML: DB API es relativamente fácil de utilizar y da una gran flexibilidad para desarrollar aplicaciones . Mikel Alonso & Cynthia Fresno 56 5. EXIST XML NATIVE DB 5. Exist XML native DB Características básicas 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 Es una base de datos preparada para trabajar como: -proceso independiente del servidor -integrado en un server-engine -directamente integrada en una aplicacion Mikel Alonso & Cynthia Fresno 58 5. Exist XML native DB 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. Mikel Alonso & Cynthia Fresno 59 5. Exist XML native DB 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 Las aplicaciones java pueden acceder medianteel API XML:DB interfaz común para el acceso a bases de datos nativasXML Mikel Alonso & Cynthia Fresno 60 5. Exist XML native DB Indices y organización de datos Exist utiliza cuatro ficheros de indices diferentes para almacenar documentos de 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. Mikel Alonso & Cynthia Fresno 61 5. Exist XML native DB 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. Mikel Alonso & Cynthia Fresno 62 5. Exist XML native DB 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. Mikel Alonso & Cynthia Fresno 63 5. Exist XML native DB 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: Mikel Alonso & Cynthia Fresno 64 5. Exist XML native DB 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. Mikel Alonso & Cynthia Fresno 65 5. Exist XML native DB Acceso a los datos Exist como cualquier otra badse de datos nativaXml tiene como estandar de acceso a los datos el lenguaje Xpath. Adfemas 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 experimental. Mikel Alonso & Cynthia Fresno 66 5. Exist XML native DB Este nuevo lenguaje no es mas que una extension de Xpath que intenta subsanar las carencias que tiene este frente a las nuevas necesidades. Mikel Alonso & Cynthia Fresno 67 5. Exist XML native DB Exist en acción Para ver la eficiencia de EXIST presentamos una serie de pruebas. Para realizar las pruebas se a elegido un conjunto de datos constituido por una 39.15 MB XML.Los dato integran 5000 documentos tomados de una base de datos de película. Las pruebas se efectuaros sobre una maquina con microprocesador AMD Athlon 4 de 1400 MHZ y memoria de 256 MB,con un sistema operativo Linux (Mandrake Linux 8.2) Mikel Alonso & Cynthia Fresno 68 5. Exist XML native DB Las pruebas consisten en: 1. Comparar el tiempo de respuesta de varios sistemas basados en xml frente a consultas sobre los mismos datos. Los sistemas elegidos son: el propio Exist trabajando Xpath estandar, Exist usando su Xpath especifico, otra base de datos Xml nativa (Apache’s Xindice) y un motor de preguntas Xpath externo(Jasen). Mikel Alonso & Cynthia Fresno 69 5. Exist XML native DB XPath Query eXist eXist +extensions /movie[.//genre='Drama']//credit [@role='directors'] 3.44 /movie[genres/genre='Western']/title 0.79 /movie[languages/language= 'English']/title 1.45 /movie[.//credit/@charactername= 'Receptionist'] 3.12 /movie[contains(.//comment, 'predictable')] 2.79 /movie[.//credit='Gable, Clark'] 4.47 /movie[.//languages/language='English'] /title[starts-with(.,'42 nd Street')] 1.63 /movie[languages/language='English' and cred-its/credit='Sinatra, Frank'] 5.16 Xindice Jaxen 1.14 0.23 10.62 1.39 21.86 7.58 0.97 34.18 8.50 0.21 27.04 51.48 0.20 0.35 25.75 0.38 31.49 33.72 0.32 17.47 32.64 0.58 0.11 13.26 Mikel Alonso & Cynthia Fresno 70 5. Exist XML native DB 2. La segundra prueba consiste en ver como reacciona Exist frente al incremento del volumen de datos, de esta manera veremos la escalabilidad que tiene Exist. Para realizar la prueba vamos a dividir los datos iniciales (39.15 MB) subgrupos de de 5MB cada uno,de esta manera iremos añadiendo tamaño a la fuente de datos y veremos como responde Exist. Como en el caso anterior proberemos el experimento sobre Exist usando Xpath estandar y sobre su Xpath especifico . Mikel Alonso & Cynthia Fresno 71 5. Exist XML native DB Mikel Alonso & Cynthia Fresno 72 5. Exist XML native DB Comentarios Aunque hoy en dia Exist es una herramienta utilizada en inumerables proyectos, todavia necesita resolver algunos aspectos importantes. Los defectos mas importantes de Exist que se busca subsanar son: - la velocidad de indesado de nombres - las exigencias de almacenaje Mikel Alonso & Cynthia Fresno 73 5. Exist XML native DB Otro problema importante es el uso de Xupdate(estandar de XML:DB para la actuaizacion de partes distintas de un documento)no es una herramienta apropiada para las necesidades de una actualizacion mas avanzada. Mikel Alonso & Cynthia Fresno 74 6. EXIST VS DBXML 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 DBXML EXIST Lengua de desarrollo: Lengua de desarrollo: Java Aplicaciones: Java Resto: código propio Plataformas donde trabaja: Plataformas donde trabaja: Plataforma no definida aunque ha sido resesteado en WinXP y Red Hat Linux Plataforma no definida aunque ha sido testeado en WinXP y Red Hat Linux Mikel Alonso & Cynthia Fresno 76 Formato de almacenamiento: Formato de almacenamiento: almacena los datos mediante B+-trees y archivos paginados. se almacenan los datos mediante ficheros indesados los nodos de los documentos se almacenan en un DOM (Document Object Model) persistente. guardan en directorio apropiado los ficheros y sus anexos van comprimidos juntos y se guardan en directorio apropiado los datos son almacenados en: Webapp/WEB-INF/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) Mikel Alonso & Cynthia Fresno 77 Soporte de ficheros en binario Soporte de ficheros en binario no tiene soporte para ellos los soporta pero solo puede tener ficheros binarios o ficheros Xml Estandars Xml con los que trabajan Estandars Xml con los que trabajan -XPath/Xquery -Xupdate -Xinclude/Xpointers -API: XML:DB -XPath/Xquery -Xupdate -Allows full-text query -API: Java/C++ API’s -No supported: Xpointers,XQL,Xquery Caracteristicas de la BD's 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 sistema de autorizacion: sistema de autorizacion por niveles usa la base de datos Berkeley para la concurrencia, realizar las transacciones, recuperación y replicado Interface de usuario Interface de usuario incorpora una interface grafica No incorpora ninguna interface grafica Mikel Alonso & Cynthia Fresno 78 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. Mikel Alonso & Cynthia Fresno 79