Unidad 2. Tema 2.2 (XML)

Download Report

Transcript Unidad 2. Tema 2.2 (XML)

Tópicos avanzados de bases de
datos
Unidad 2. Bases de datos y tecnologías
Web.
2.2 XML (Extensible Markup Language).
2.2 XML (Extensible Markup Language)
• XML, siglas en inglés de Extensible Markup
Language (lenguaje de marcas extensible), es
un metalenguaje extensible de etiquetas
desarrollado por el World Wide Web
Consortium (W3C). Es una simplificación y
adaptación del SGML y permite definir la
gramática de lenguajes específicos (de la
misma manera que HTML es a su vez un
lenguaje definido por SGML).
2.2.1 Fundamentos de XML.
• XML no ha nacido sólo para su aplicación en
Internet, sino que se propone como un
estándar para el intercambio de información
estructurada entre diferentes plataformas. Se
puede usar en bases de datos, editores de
texto, hojas de cálculo y casi cualquier cosa
imaginable.
Ejemplo 1 de archivo XML.
Ejemplo 2 XML
Ejemplo 3 XML
Ejemplo 4 XML
•
<?xml version="1.0"?>
<!DOCTYPE compactdiscs SYSTEM "cds.dtd">
<compactdiscs>
<compactdisc>
<artist type="individual">Frank Sinatra</artist>
<title numberoftracks="4">InThe Wee Small Hours</title>
<tracks>
<track>In The Wee Small Hours</track>
<track>Mood Indigo</track>
<track>Glad To Be Unhappy</track>
<track>I Get Along Without You Very Well</track>
</tracks>
<price>12,99 dólares</price>
</compactdisc>
<compactdisc>
<artist type="band">The Offspring</artist>
<title numberoftracks="5">Americana</title>
<tracks>
<track>Welcome</track>
<track>Have You Ever</track>
<track>Staring At The Sun</track>
<track>Pretty Fly (For A White Guy)</track></tracks>
<price>12,99 dólares </price>
</compactdisc>
</compactdiscs>
Ventajas de XML
• Es extensible, lo que quiere decir que una vez
diseñado un lenguaje y puesto en producción, igual
es posible extenderlo con la adición de nuevas
etiquetas.
• El analizador es un componente estándar, no es
necesario crear un analizador específico para cada
lenguaje.
• Si un tercero decide usar un documento creado en
XML, es sencillo entender su estructura y procesarlo.
Mejora la compatibilidad entre aplicaciones.
Documentos XML bien formados
• Se llama documentos "bien formados" (del
inglés well formed) a los documentos que
cumplen con todas las definiciones básicas de
formato y pueden, por lo tanto, ser analizados
correctamente por cualquier analizador
sintáctico (parser) que cumpla con la norma.
Herramientas para trabajar con
documentos XML
• De hecho cualquier procesador de texto, que
sea capaz de producir archivos txt es capaz de
generar XML, aunque en los entornos de
desarrollo como Eclipse o Visual Studio, se
facilita, ya que reconoce los formatos y ayuda
a generar un XML bien formado.
2.2.2 Diseño de aplicaciones Web
usando XML.
• Como XML permite almacenar datos y es un
estándar. Este se esta usando para tener los
datos que requieren las aplicaciones Web y
generar contenido para las páginas. Entre
otras formas de uso.
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.
• Aplicaciones que intentan transferir una parte significativa de
la carga del proceso del servidor al cliente Web.
• 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.
Ejemplos concretos de uso de XML
en Web.
En VS, el archivo de configuración
del proyecto es un XML.
Ejemplo de uso de XML en Web
Monografía: Luz Elena Gaytán Palma.
Uso de HTML, Flash, BD y XML.
Ejemplo de uso de XML en Web
• Los Servicios Web usan el protocolo SOAP
(basado en XML), para la solicitud y obtención
de datos.
Concepto de Servicio Web
•
Un Servicio Web es una colección de protocolos y
estándares que sirven para intercambiar datos entre
aplicaciones. Distintas aplicaciones de software
desarrolladas en lenguajes de programación
diferentes, y ejecutadas sobre cualquier plataforma,
pueden utilizar los servicios web para intercambiar
datos en redes de ordenadores como Internet.
¿Por qué utilizar los Servicios Web XML?
Sitio de viajes
Northwind Traders
Seleccionar destino: Redmond
La previsión
meteorológica es:
Servicio Web XML
meteorológico
Lluvia
Internet
El tipo de cambio es:
$1.56
El billete de avión sólo cuesta:
$1,999.98
Servicio Web XML
precio del billete
Servicio Web XML
tipo de cambio
Base de datos de
precios de billetes
Interoperabilidad de los Servicios Web
2.2.3 Productos XML.
Teniendo como base a XML se han desarrollado otros
productos y tecnologías. Ejemplos:
Extensible Stylesheet Language (XSL)
• Es una familia de lenguajes que permiten describir como los
archivos codificados en xml serán formateados (para
mostrarlos) o transformados. Hay tres lenguajes en esta
familia: XSL Transformations (XSLT), XSL Formatting Objects
(XSL-FO)y XML Path Language.
Lenguaje de enlace XML (XLINK)
• XLink es una aplicación XML que intenta superar las
limitaciones que tienen los enlaces de hipertexto en HTML. Es
una especificación que todavía está en desarrollo.
Productos XML
Otras tecnologías
•
Hojas de estilo
– XSL-FO
– XSLT
– XLink
– XPointer
– XSL
– hojas de estilo en cascada (CSS)
– XLT (XML representation of Lexicons and Terminologies)
•
Programación
– JDOM
– SAX
– STAX
– VTD-XML
•
Consulta de datos
– XQuery
– Xpath
•
Seguridad
– Xades (XML Advanced Electronic Signatures )
Descripción de un producto XML
• XAdES sigla en inglés de XML Advanced Electronic Signatures
(Firma electrónica avanzada XML) es un conjunto de
extensiones a las recomendaciones XML-DSig haciéndolas
adecuadas para la firma electrónica avanzada.
• Mientras que XML-DSig es un entorno general para firmar
digitalmente documentos XML, XAdES especifica perfiles
precisos de XML-DSig para ser usados con firma electrónica
reconocida con el sentido de la directiva 1999/93/EC de la
Unión Europea. Un beneficio importante de XAdES es que los
documentos firmados electrónicamente pueden seguir siendo
válidos durante largos períodos, incluso en el caso de que los
algoritmos criptográficos subyacentes hayan sido rotos.
2.2.3.1 Middleware XML.
• Middleware XML 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.
Ejemplos de productos middleware.
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.NET
• Usa formato XML para representar internamente los
datos de los conjuntos de datos (Dataset).
• El “Dataset” hace los datos disponibles para la
aplicación.
2.2.3.2 Bases de datos XML.
También llamadas Bases de Datos XML-Enabled
• Este tipo de Bases de Datos (usualmente
relacionales) brindan la posibilidad de transferir
datos entre documentos XML y ellas mismas. 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.
Ejemplos de BD XML
2.2.3.3 Sistemas de Administración de
Contenidos (SAC).
• Sirven para almacenar, recuperar e integrar documentos XML.
Incluyen características como editores, controladores de
versiones y control de accesos a usuarios concurrentes.
• Ofrecen funcionalidades en el manejo de documentos, como
por ejemplo controlador de versiones.
• La mayoría de ellos pueden publicar XML en el Web, pero son
primariamente diseñados para administrar documentos
"basados en documentos".
Ejemplos de SAC.
2.2.3.4 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.
XQuery
• XQuery es un
lenguaje de consulta
diseñado para
consultar
colecciones de datos
XML.
• Es semánticamente
similar a SQL, pero
incluye algunas
capacidades de
programación.
Características de XQuery
• Proporciona los medios para extraer y manipular información de
documentos XML, o de cualquier fuente de datos que pueda ser
representada mediante XML, como por ejemplo Bases de Datos
Relacionales o documentos ofimáticos.
• Utiliza expresiones XPath para acceder a determinadas partes del
documento XML. Añade además unas expresiones similares a las usadas
en SQL, conocidas como expresiones FLWOR. Las expresiones FLWOR
toman su nombre de los 5 tipos de sentencias de las que pueden estar
compuestas: FOR, LET, WHERE, ORDER BY y RETURN.
• También incluye la posibilidad de construir nuevos documentos XML a
partir de los resultados de la consulta.
• El lenguaje se basa en el modelo en árbol de la información contenida en
el documento XML.