1 Langages de requêtes XML Langage et Standards associés Interopérabilité.
-
Upload
valentin-ramos -
Category
Documents
-
view
108 -
download
2
Transcript of 1 Langages de requêtes XML Langage et Standards associés Interopérabilité.
1
Langages de requêtes XML
Langage et Standards associés Interopérabilité
2
Plan de la présentation
Définition XMLStandards associésUtilisations Potentielles InteropérabilitéLangages de requêtes XMLComparaison / SQLConclusions & Travaux futurs
3
XML
XML 1.0
Recommandation du W3C
du 10 Février 1998
eXtended Markup LanguageLangage de balisage extensible
4
Objectifs d’XML (W3C)
Conception rapide d’applications.
Les documents XML doivent être : faciles à créer, gérable par un langage de requête, lisibles, clairs, auto-descriptif, traités par des programmes facile à écrire.
5
Relations SGML/XML/HTML
Formats Normalisés de Documents Structurés (FNDS)
SGMLXML
HTML
HTML 5.0 = XHTML 1.0 => application XML
6
Les composants d’XML
Document
• "valide" => norme + DTD
DTDInterne
Le document est dit :
• "bien formé" => norme du W3C
DTDExterne
et/ou
7
Document XML
<?xml version="1.0" encoding="UTF-8" standalone="no">
<!-- commentaire -->
<memo>
</memo>
<auteur> … </auteur>
<dest> … </dest>
<sujet> … </sujet>
<corps> … </corps>
Prologue
RacineEléments
<!DOCTYPE memo SYSTEM "memo.dtd">
Commentaire
DTD
8
Exemple Balisage XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Pas de commentaire -->
<!DOCTYPE memo SYSTEM "memo.dtd">
<memo>
<auteur><nom>SIMON J-Claude</nom></auteur>
<dest><nom>YETONGNON Kokou</nom></dest>
<cc><nom>NICOLLE Christophe</nom></cc>
<cc><nom>Equipe LE2I</nom></cc>
<sujet>Invitation</sujet>
<corps><par>Veuillez noter que le 30 juin 2000</par></corps>
</memo>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Pas de commentaire -->
<!DOCTYPE memo SYSTEM "memo.dtd">
<memo>
<auteur><nom>SIMON J-Claude</nom></auteur>
<dest><nom>YETONGNON Kokou</nom></dest>
<cc><nom>NICOLLE Christophe</nom></cc>
<cc><nom>Equipe LE2I</nom></cc>
<sujet>Invitation</sujet>
<corps><par>Veuillez noter que le 30 juin 2000</par></corps>
</memo>
9
DTD du memo
Sans signe => obligatoire
? => 1 seul optionnel | => ou exclusif,
+ => obligatoire 1 ou plus * => optionnel 0 ou plus
<!ELEMENT memo ((auteur, (date?), sujet, dest, (cc*)), corps)>
<!ELEMENT (auteur) (nom+)>
<!ELEMENT (dest) (nom+)>
<!ELEMENT (cc) (nom+)>
<!ELEMENT corps (par*)>
<!ELEMENT memo ((auteur, (date?), sujet, dest, (cc*)), corps)>
<!ELEMENT (auteur) (nom+)>
<!ELEMENT (dest) (nom+)>
<!ELEMENT (cc) (nom+)>
<!ELEMENT corps (par*)>
10
Plan de la présentationDéfinition XML
Standards associés
Utilisations Potentielles InteropérabilitéLangages de requêtes XMLComparaison / SQLConclusions & Travaux futurs
11
Standards liés à XML
XSL
XLink
XPointer
Namespaces
DOM 1et 2
Liens
Style
Balisage
API
SGMLHTML
DSSSL
TEI
HyTime
CSS1 et 2
Script ECMAScript
Noms
XML
Balise <A>
HTML
ND ND
ND
ND
ND = Non défini
12
Plan de la présentationDéfinition XMLStandards associés
Utilisations Potentielles
InteropérabilitéLangages de requêtes XMLComparaison / SQLConclusions & Travaux futurs
13
Utilisation potentielle d’XML
Gestion Électronique de Documents (GED)
Gestion Électronique de Documents (GED)
Commerce électroniqueCommerce électronique
Personnalisation de la relation Client
Personnalisation de la relation Client
XML
Coopération de systèmesd’information hétérogènes
Coopération de systèmesd’information hétérogènes
Extranet Extranet
Echange de Données Informatisé (EDI)
Echange de Données Informatisé (EDI)
14
Plan de la présentationDéfinition XMLStandards associésUtilisations Potentielles
Interopérabilité
Langages de requêtes XMLComparaison / SQLConclusions & Travaux futurs
15
Interopérabilité
Coopération de systèmes d’information hétérogènes=> interopérabilité
Interopérabilité : Interfaçage d'applications de natures différentes sans
connaître : les formats les types de données
16
Interopérabilité
Echange de données entre des bases de données hétérogènes
Problème : Comment échanger les données ?
=> Traduction entre les bases.
BD x BD y
?
17
Techniques de Traduction
une traduction directe
une traduction par un intermédiaire un modèle un langage
Il y a 2 sortes de traduction :
18
Traduction Directe
Modèle 1
Modèle 4Modèle 3
Modèle 2
Problème :Nb traducteurs = n x (n-1) => (nb=12)
Pas viable pour Internet=> Nb bases de données exponentiel
19
Traduction par un intermédiaire
Modèle 1
Modèle 4Modèle 3
Modèle 2
Intermédiaire
Problème :Choix de l'intermédiaire
Nb traducteurs = 2 x n = (nb=8)=> Internet
20
Choix de l'intermédiaire
Le modèle de l'intermédiaire peut être :1. minimal,2. maximal,3. méta,
Problèmes : minimal : perte sémantique lors de la traduction maximal : pas extensible => Internet (nb BD) méta : représentation ?
structure, sémantique, architecture.
21
Critère du choix (intermédiaire)
Représentation : structure => manipulable et extensible sémantique => pas d'ambiguïté, ...
Définition extensible des concepts,
Généraliste => propre au niveau méta,
Ouvert => propre système Internet,
22
XML = intermédiaire ?
Représentation : Structure : notion de grammaire (DTD) Sémantique : définition de balises communes (namespace)
Extensible : ajout possible de nouveau balisage,
Généraliste : c'est un méta-langage (WML,MathML...)
Ouvert : XML définit pour l'échange de données sur web Développement de nombreuses interface
entre les SGBD – XML (IBM, Oracle, …)
23
Fonctionnement interopérabilité
Application A Application B
Interface XML
Conversion vers/depuis XMLTransformation
Conversion vers/depuis XMLTransformation
Communication
Parseur Reconnaît éléments
ParseurReconnaîtélémentsApplication
règles
24
XML = intermédiaire
Communication entre bases de données : XML (pivot).
Conversion et transformation des données : XML (traduction).
Application des règles => langages de requêtes XML.
Traduction : Relationnel <=> Base de Données Semi-Structurée XML. SQL <=> langages de requêtes XML.
Base de Données Semi-Structurée => monde "Base de données"
25
Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilité
Langages de requêtes XML
Comparaison / SQLConclusions & Travaux futurs
26
Langages de requêtes XML
4 langages XML : XQL,YATL, Lorel, XML-QL.
10 requêtes types sur une Base de DonnéesSemi-Structurée XML
Comparaison / SQL sur ces 10 requêtes(DTD + BDS-S XML=> schéma relationnel).
27
Langages de requêtes XML
XQL, extension syntaxe XSL, soumission au W3C de Texcel, webMethods, Microsoft, septembre 98
YATL, groupe Verso de l'INRIA.
Lorel, extension de OQL, de l'université de Stanford
XML-QL, soumission au W3C de AT&T et INRIA, l'université de Washington, septembre 98
28
Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilitéLangages de requêtes XML
Comparaison / SQL
Conclusions & Travaux futurs
29
Langages de requêtes XML
<!ELEMENT bib (book*)><!ELEMENT book (title, (author+ | editor+), publisher, price)><!ATTLIST book year CDATA #REQUIRED ><!ELEMENT author (last, first)><!ELEMENT editor (last, first, affiliation)><!ELEMENT title (#PCDATA)><!ELEMENT last (#PCDATA)><!ELEMENT first (#PCDATA)><!ELEMENT affiliation (#PCDATA)><!ELEMENT publisher (#PCDATA)><!ELEMENT price (#PCDATA)>
<!ELEMENT bib (book*)><!ELEMENT book (title, (author+ | editor+), publisher, price)><!ATTLIST book year CDATA #REQUIRED ><!ELEMENT author (last, first)><!ELEMENT editor (last, first, affiliation)><!ELEMENT title (#PCDATA)><!ELEMENT last (#PCDATA)><!ELEMENT first (#PCDATA)><!ELEMENT affiliation (#PCDATA)><!ELEMENT publisher (#PCDATA)><!ELEMENT price (#PCDATA)>
DTD Base de Données Semi-Structurée XML
DTD Base de Données Semi-Structurée XML
Editor (NumEditor, LastEditor, FirstEditor, Affiliation),Book (NumBook, Title, Publisher, Price, Year),Author (NumAuthor, LastAuthor, FirstAuthor),Publish (NumEditor#, NumBook#),Write (NumBook#, NumAuthor#),
Editor (NumEditor, LastEditor, FirstEditor, Affiliation),Book (NumBook, Title, Publisher, Price, Year),Author (NumAuthor, LastAuthor, FirstAuthor),Publish (NumEditor#, NumBook#),Write (NumBook#, NumAuthor#),
Schéma relationnelSchéma relationnel
30
Comparaison / SQL
OUIOUIOUIOUIOUIOUIOUIOUIOUINON
YATLOUIOUIOUIOUIOUIOUIOUIOUIOUIOUI
XMLQLOUIOUIOUIOUIOUIOUIOUIOUIOUIOUI
LorelOUIOUIOUIOUIOUIOUINONOUINONNON
SQL
Conclusions : YATL, Lorel, XML-QL
Langages de requêtes XML / SQL
Sélection et extractionAplatissement de la structurePréservation de la structureChangement structure par imbricationChangement structure par groupementCombinaison points d'émissionIndexageTriVariables balisesExpression régulières de chemin
123456789
10
OUINONNONNON
XQLOUINONOUINONNONOUI
31
Choix du langage
Lorel
Base Lore=> base propriétaire
Sources disponibles
Syntaxe "SQL"
XML-QL
Sans base
Sources disponibles
Future norme W3C
Choix => XML-QL
YATL
Base YAT=> base propriétaire
Sources non disponibles
32
Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilitéLangages de requêtes XMLComparaison / SQL
Conclusions & Travaux futurs
33
Conclusions & Travaux futurs
Présentation XML et standards associés.
XML = modèle pivot entre bases de données hétérogènes.
=> langages de requêtes XML pour manipulerdes bases de données semi-structurée XML
Choix XML-QL : Pas intégré à une base de données, Sources disponibles (Java => multi-plate-formes), Future norme W3C,
34
Conclusions & Travaux futurs
SGBDR <=> Bases Données S-S XML <=> SGBDR
Langages de requêtes XML <=> SQL.
SGBDR <=> Bases Données S-S XML <=> SGBDOO.
Traduction de requêtes entre OQL et SQL.
Utilisation des XML-Schémas au lieu des DTDDTD (pas typée) => schéma relationnel (typé),
35
Requête : Sélection et extraction CONSTRUCT <bib> { WHERE <bib> <book year=$y> <title>$t</title> <publisher> <name>Addison-Wesley</name> </publisher> </book> </bib> IN "www.bn.com/bib.xml", $y > 1991 CONSTRUCT <book year=$y> <title>$t</title> </book> } </bib>