XML Nociones básicas para entender el “mundo XML”.

1 XML Nociones básicas para entender el “mundo XML”. ...
Author: Emygdia Salas
0 downloads 0 Views

1 XML Nociones básicas para entender el “mundo XML”.

2 Mikel Alonso & Cynthia Fresno2 Índice 1)Introducción a XML 2)XML aplicado a bases de datos 3)dbXML 4)Exist 5)dbXML vs. Exist 6)Conclusiones Índice

3 1. Introducción a XML

4 Mikel Alonso & Cynthia Fresno4 ¿Qué es XML?  Definición: Lenguaje de metamarcado para documentos que contienen información estructurada 1. Introducción a XML

5 Mikel Alonso & Cynthia Fresno5 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. 1. Introducción a XML

6 Mikel Alonso & Cynthia Fresno6 ¿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. 1. Introducción a XML

7 Mikel Alonso & Cynthia Fresno7 ¿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. 1. Introducción a XML

8 Mikel Alonso & Cynthia Fresno8 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. 1. Introducción a XML

9 Mikel Alonso & Cynthia Fresno9 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. 1. Introducción a XML

10 Mikel Alonso & Cynthia Fresno10 ¿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. 1. Introducción a XML

11 Mikel Alonso & Cynthia Fresno11 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). 1. Introducción a XML

12 Mikel Alonso & Cynthia Fresno12  Logicamente: Documento compuesto por declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento.

13 Mikel Alonso & Cynthia Fresno13 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. 1. Introducción a XML

14 Mikel Alonso & Cynthia Fresno14 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. 1. Introducción a XML

15 Mikel Alonso & Cynthia Fresno15 XML vs. HTML  HTML: - Semántica de etiquetas y sistema de etiquetas fijos. - Cambios limitados por:  Vendedores del navegador.  Compatibilidad con antiguas versiones. XML: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. 1. Introducción a XML

16 Mikel Alonso & Cynthia Fresno16 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. 1. Introducción a XML

17 Mikel Alonso & Cynthia Fresno17  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. 1. Introducción a XML

18 Mikel Alonso & Cynthia Fresno18 ¿Cómo son los documentos XML? Ejemplo: Say goodnight, Gracie. Goodnight, Gracie. 1. Introducción a XML

19 2. Relacional vs. XML

20 Mikel Alonso & Cynthia Fresno20 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. 2. Relacional vs. XML

21 Mikel Alonso & Cynthia Fresno21 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 - Relación más simple: 1:1 - 1:n, n:1, n:n. 2. Relacional vs. XML

22 Mikel Alonso & Cynthia Fresno22  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. 2. Relacional vs. XML

23 Mikel Alonso & Cynthia Fresno23 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. 2. Relacional vs. XML

24 Mikel Alonso & Cynthia Fresno24 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). 2. Relacional vs. XML

25 Mikel Alonso & Cynthia Fresno25 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én de XQuery. 2. Relacional vs. XML

26 Mikel Alonso & Cynthia Fresno26 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. 2. Relacional vs. XML

27 Mikel Alonso & Cynthia Fresno27 - 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).

28 Mikel Alonso & Cynthia Fresno28 Resumen de diferencias XMLRDBMS Los datos en una estructura jerárquica única. Datos en tablas múltiples 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 2. Relacional vs. XML

29 3. XML APLICADO A BASES DE DATOS

30 Mikel Alonso & Cynthia Fresno30 ¿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

31 Mikel Alonso & Cynthia Fresno31 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)

32 Mikel Alonso & Cynthia Fresno32  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

33 Mikel Alonso & Cynthia Fresno33 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.

34 Mikel Alonso & Cynthia Fresno34  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

35 Mikel Alonso & Cynthia Fresno35  Para resolver estos problemas de conversión (a XML) distinguimos varias soluciones

36 Mikel Alonso & Cynthia Fresno36 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

37 Mikel Alonso & Cynthia Fresno37  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

38 Mikel Alonso & Cynthia Fresno38

39 Mikel Alonso & Cynthia Fresno39  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

40 Mikel Alonso & Cynthia Fresno40 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.

41 Mikel Alonso & Cynthia Fresno41  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

42 Mikel Alonso & Cynthia Fresno42  En esta tabla podemos ver un breve esbozo de sus caracteristicas

43 Mikel Alonso & Cynthia Fresno43 -2.2 Bases de datos nativas XML: Permiten el almacenamiento, consulta y actualización de información XMLPermiten el almacenamiento, consulta y actualización de información XML Su principal diferencia es el lenguaje de acceso que usan ( XPath, Xquery o ambos)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 XUpdatePor el contrario el lenguaje de actualizacion en general es el mismo XUpdate

44 4. dbXML

45 Mikel Alonso & Cynthia Fresno45 ¿Qué es dbXML?  Idea principal: proporcionar una manera simple de almacenar y administrar grandes cantidades de documentos XML. 4. dbXML

46 Mikel Alonso & Cynthia Fresno46 ¿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 pre- analizados y comprimidos. 4. dbXML

47 Mikel Alonso & Cynthia Fresno47  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. 4. dbXML

48 Mikel Alonso & Cynthia Fresno48 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. 4. dbXML

49 Mikel Alonso & Cynthia Fresno49 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. - Un catalogo de productos, donde cada producto necesita datos especializados. 4. dbXML

50 Mikel Alonso & Cynthia Fresno50 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 en usuarios y roles. 4. dbXML

51 Mikel Alonso & Cynthia Fresno51 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). 4. dbXML

52 Mikel Alonso & Cynthia Fresno52  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”.

53 Mikel Alonso & Cynthia Fresno53 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)   John Smith 4. dbXML

54 Mikel Alonso & Cynthia Fresno54  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 4. dbXML

55 Mikel Alonso & Cynthia Fresno55  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: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. 4. dbXML

56 Mikel Alonso & Cynthia Fresno56 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. 4. dbXML

57 5. EXIST XML NATIVE DB

58 Mikel Alonso & Cynthia Fresno58 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 5. Exist XML native DB

59 Mikel Alonso & Cynthia Fresno59  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. 5. Exist XML native DB

60 Mikel Alonso & Cynthia Fresno60  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 5. Exist XML native DB

61 Mikel Alonso & Cynthia Fresno61 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. 5. Exist XML native DB

62 Mikel Alonso & Cynthia Fresno62   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. 5. Exist XML native DB

63 Mikel Alonso & Cynthia Fresno63   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. 5. Exist XML native DB

64 Mikel Alonso & Cynthia Fresno64   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: 5. Exist XML native DB

65 Mikel Alonso & Cynthia Fresno65   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. 5. Exist XML native DB

66 Mikel Alonso & Cynthia Fresno66 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. 5. Exist XML native DB

67 Mikel Alonso & Cynthia Fresno67   Este nuevo lenguaje no es mas que una extension de Xpath que intenta subsanar las carencias que tiene este frente a las nuevas necesidades. 5. Exist XML native DB

68 Mikel Alonso & Cynthia Fresno68 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) 5. Exist XML native DB

69 Mikel Alonso & Cynthia Fresno69  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). 5. Exist XML native DB

70 Mikel Alonso & Cynthia Fresno70 XPath Query eXist eXist Xindice Jaxen +extensions /movie[.//genre='Drama']//credit [@role='directors'] 3.44 1.14 10.62 21.86 /movie[genres/genre='Western']/title 0.79 0.23 1.39 7.58 /movie[languages/language= 'English']/title 1.45 0.97 34.18 8.50 /movie[.//credit/@charactername=//credit/@charactername 'Receptionist'] 3.12 0.21 27.04 51.48 /movie[contains(.//comment, 'predictable')] 2.79 0.20 25.75 31.49 /movie[.//credit='Gable, Clark'] 4.47 0.35 0.38 33.72 /movie[.//languages/language='English'] /title[starts-with(.,'42 nd Street')] 1.63 0.32 17.47 32.64 /movie[languages/language='English' and cred-its/credit='Sinatra, Frank'] 5.16 0.58 0.11 13.26 5. Exist XML native DB

71 Mikel Alonso & Cynthia Fresno71 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. 5. Exist XML native DB

72 Mikel Alonso & Cynthia Fresno72 5. Exist XML native DB

73 Mikel Alonso & Cynthia Fresno73 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 5. Exist XML native DB

74 Mikel Alonso & Cynthia Fresno74  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. 5. Exist XML native DB

75 6. EXIST VS DBXML

76 Mikel Alonso & Cynthia Fresno76  En este apartado veremos las diferentes caracteristicas entre EXIST y DBXML  Con ello intentaremos presentar las posibles diferencias existentes entre ellas EXIST EXISTDBXML Lengua de desarrollo: Java Aplicaciones: Java Resto: código propio 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 6. Exist vs. dbXML

77 Mikel Alonso & Cynthia Fresno77 Formato de almacenamiento: almacena los datos mediante B+-trees y archivos paginados. los nodos de los documentos se almacenan en un DOM (Document los nodos de los documentos se almacenan en un DOM (Document Object Model) persistente. guardan en directorio apropiado Object Model) persistente. guardan en directorio apropiado los datos son almacenados en: los datos son almacenados en: Webapp/WEB-INF/data respecto al Webapp/WEB-INF/data respecto al directorio raiz de Exist. directorio raiz de Exist. de cada documento se almacena: de cada documento se almacena: wcollections.dbx-->los datos sin mas wcollections.dbx-->los datos sin mas wdom.dbx-->DOM persistente wdom.dbx-->DOM persistente welements.dbx-->indice de elementos welements.dbx-->indice de elementos wwords.dbx-->Indice de palabras(datos) wwords.dbx-->Indice de palabras(datos) Formato de almacenamiento: se almacenan los datos mediante ficheros indesados los ficheros y sus anexos van comprimidos juntos y se guardan en directorio apropiado

78 Mikel Alonso & Cynthia Fresno78 Soporte de ficheros en binario no tiene soporte para ellos Estandars Xml con los que trabajan -XPath/Xquery-Xupdate-Xinclude/Xpointers -API: XML:DB 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 Interface de usuario incorpora una interface grafica 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 -Allows full-text query -API: Java/C++ API’s -No supported: Xpointers,XQL,Xquery Xpointers,XQL,Xquery 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 Interface de usuario No incorpora ninguna interface grafica

79 Mikel Alonso & Cynthia Fresno79 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.