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

Preview:

Citation preview

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>

Recommended