35
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é

Embed Size (px)

Citation preview

Page 1: 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é

Page 2: 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

Page 3: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

3

XML

XML 1.0

Recommandation du W3C

du 10 Février 1998

eXtended Markup LanguageLangage de balisage extensible

Page 4: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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.

Page 5: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

5

Relations SGML/XML/HTML

Formats Normalisés de Documents Structurés (FNDS)

SGMLXML

HTML

HTML 5.0 = XHTML 1.0 => application XML

Page 6: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

6

Les composants d’XML

Document

• "valide" => norme + DTD

DTDInterne

Le document est dit :

• "bien formé" => norme du W3C

DTDExterne

et/ou

Page 7: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 8: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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>

Page 9: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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*)>

Page 10: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

10

Plan de la présentationDéfinition XML

Standards associés

Utilisations Potentielles InteropérabilitéLangages de requêtes XMLComparaison / SQLConclusions & Travaux futurs

Page 11: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 12: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

12

Plan de la présentationDéfinition XMLStandards associés

Utilisations Potentielles

InteropérabilitéLangages de requêtes XMLComparaison / SQLConclusions & Travaux futurs

Page 13: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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)

Page 14: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

14

Plan de la présentationDéfinition XMLStandards associésUtilisations Potentielles

Interopérabilité

Langages de requêtes XMLComparaison / SQLConclusions & Travaux futurs

Page 15: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 16: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

?

Page 17: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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 :

Page 18: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 19: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 20: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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.

Page 21: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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,

Page 22: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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, …)

Page 23: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 24: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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"

Page 25: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

25

Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilité

Langages de requêtes XML

Comparaison / SQLConclusions & Travaux futurs

Page 26: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 27: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 28: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

28

Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilitéLangages de requêtes XML

Comparaison / SQL

Conclusions & Travaux futurs

Page 29: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 30: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 31: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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

Page 32: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

32

Plan de la présentationDéfinition XMLStandards associésUtilisations PotentiellesInteropérabilitéLangages de requêtes XMLComparaison / SQL

Conclusions & Travaux futurs

Page 33: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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,

Page 34: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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é),

Page 35: 1 Langages de requêtes XML  Langage et Standards associés  Interopérabilité

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>