1 / 79

XML

XML. Nociones básicas para entender el “mundo XML”. Índice. Índice. Introducción a XML XML aplicado a bases de datos dbXML Exist dbXML vs. Exist Conclusiones. 1. Introducción a XML. ¿Qué es XML?. 1. Introducción a XML. Definición:

adin
Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Índice Índice • Introducción a XML • XML aplicado a bases de datos • dbXML • Exist • dbXML vs. Exist • Conclusiones Mikel Alonso & Cynthia Fresno

  3. 1. Introducción a XML

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

  5. 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

  6. 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

  7. ¿Para que se creó XML? 1. Introducción a 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

  8. Objetivos de desarrollo de XML 1. Introducción a XML • Debe ser sencillo utilizar XML en Internet: Los usuarios deben ser capaces de ver documentos XML como HTML. • Debe admitir una gran variedad de aplicaciones. • Debe ser compatible con SGML. • Debe ser fácil escribir programas que procesen documentos XML. • El número de características opcionales en XML debe mantenerse absolutamente mínimo, idealmente cero. Mikel Alonso & Cynthia Fresno

  9. 1. Introducción a XML • Los documentos XML deben ser humanamente legibles y razonablemente claros. • El diseño de XML debe de hacerse rápidamente. • El diseño de XML debe ser formal y conciso. (XML debe ser expresado en “EBNF”) • Los documentos XML deben de ser fáciles de crear. • Ser conciso es de mínima importancia en el marcaje de XML. Mikel Alonso & Cynthia Fresno

  10. ¿Cómo está definido XML? 1. Introducción a XML XML está definido por un número de especificaciones relacionadas: • Extensible markup language (XML): Define la sintaxis de XML. • XML Pointer Language (XPointer) y XML Linking Language (XLink): Define una manera estándar de representar uniones entre recursos. • Extensible Style Language (XSL): Define el lenguaje estándar de hojas de estilo para XML. Mikel Alonso & Cynthia Fresno

  11. Estructura de un documento XML 1. Introducción a 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

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

  13. Especificaciones de XML 1. Introducción a 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

  14. 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

  15. XML vs. HTML 1. Introducción a XML • 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

  16. XML vs. SGML 1. Introducción a XML 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

  17. 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

  18. ¿Cómo son los documentos XML? 1. Introducción a 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

  19. 2. Relacional vs. XML

  20. Introducción 2. Relacional vs. XML • 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

  21. Almacenamiento 2. Relacional vs. XML 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

  22. 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

  23. 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

  24. Búsqueda 2. Relacional vs. XML 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

  25. XQuery y XPath 2. Relacional vs. XML • 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. Mikel Alonso & Cynthia Fresno

  26. Procesamiento 2. Relacional vs. XML 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

  27. - 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

  28. Resumen de diferencias 2. Relacional vs. XML Mikel Alonso & Cynthia Fresno

  29. 3. XML APLICADO A BASES DE DATOS

  30. ¿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

  31. 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

  32. 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

  33. 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

  34. 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

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

  36. Soluciones para la estandarización de XML • 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

  37. 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

  38. Mikel Alonso & Cynthia Fresno

  39. 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

  40. 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

  41. 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

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

  43. 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

  44. 4.dbXML

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

  46. ¿Qué ofrece dbXML? 4. 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. Mikel Alonso & Cynthia Fresno

  47. 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

  48. Almacenamiento 4. dbXML • 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

  49. 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

  50. Seguridad en dbXML 4. 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. Mikel Alonso & Cynthia Fresno

More Related