Vous êtes sur la page 1sur 40

Juillet, 2010

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique UGB Sngal

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Table des matires


INTROCUTION ............................................................................................................ 2 I. PRESENTATION DU METALANGAGE XML................................................ 4 1. STRUCTURE DUN DOCUMENT XML ..................................................................... 4
1.1 1.2 1.3 1.4 1.5 1.6 La dclaration XML......................................................................................................................................... 5 Instructions de traitement, commentaires ........................................................................................................ 6 Le nud document ........................................................................................................................................... 6 Les lments ..................................................................................................................................................... 6 Les attributs ..................................................................................................................................................... 6 Les espaces de noms ........................................................................................................................................ 6 Document Type Dfinition (DTD) ................................................................................................................... 8 XML Schema .................................................................................................................................................... 9

2. 3. II. 1. 2.

LES MODELES DE DONNEES ................................................................................... 7


2.1 2.2

MANIPULATION ET INTERROGATION DE DOCUMENTS XML ............................. 10 XML ET LES BASES DE DONNEES......................................................................... 12 LES DIFFERENTS TYPES DAPPROCHE DE STOCKAGE DES DONNEES XML .. 12 ETUDES DE QUELQUES SYSTEMES DE STOCKAGE ............................................... 13
2.1 2.2 2.3 2.4 eXist ............................................................................................................................................................... 13 Oracle XMLDB .............................................................................................................................................. 13 Berkley DB XML (BDB XML) ....................................................................................................................... 14 MonetD/XQUERY .......................................................................................................................................... 14 Administration et scurit .............................................................................................................................. 15 Manipulations et intgrit des donnes (les dialectes XQUERY) .................................................................. 15 Benchmarking ................................................................................................................................................ 16

3.

VEILLE TECHNOLOGIQUE ................................................................................... 15


3.1 3.2 3.3

III. (ETUDE SUR) LA TRANSFORMATION DE DONNEES DUN MODELE RELATIONNEL VERS UN MODELE XML ................................................................................................ 19 1. DEFINITION DES REGLES DE TRANSFORMATION DUNE BASE RELATIONNELLE 20
1.1
1.1.1. 1.1.2.

Dfinition du fichier XSD .............................................................................................................................. 20


Cl primaire.................................................................................................................................................................21 Cl trangre ...............................................................................................................................................................21

2. DEFINITION DU FICHIER XML ............................................................................ 23 IV. CONCEPTION DU WRAPPER DB2XML TRANSFORM ......................................... 25 1. IMPLEMENTATION ............................................................................................... 25
1.1. 1.2. JDBC ............................................................................................................................................................. 25 JDOM ............................................................................................................................................................ 25

2. INTERFACE DU WRAPPER .................................................................................... 26 CONCLUSION ................................................................................................................. 28 BIBLIOGRAPHIE & WEBOGRAPHIE ................................................................. 29


El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 1

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

ANNEXE : UTILISATION DE EXIST .... ERROR! BOOKMARK NOT DEFINED.

Table des figures

Figure 1. Exemple d'un document XML superficies infestees.xml..5 Figure 2. xs : espace de noms de XMLSchema......7 Figure 3. Exemple de document bien form (contenant des erreurs).....7 Figure 4. Processus de validation dun document XML......8 Figure 5. DTD du document superficies infestees.xml.....9 Figure 6. Schema XML du document superficies infestees.xml.....10 Figure 7. XMark 110Kb (fichiers de petites tailles)...17 Figure 8. XMark 1.1Mb....17 Figure 9. XMark 11Mb ..17 Figure 10. Architecture du systme ..19 Figure 11. Structure xsd de la table etudiant ..21 Figure 12. Structure xsd de la base_etudiant ..22 Figure 13. Relation entre deux tables23 Figure 14. Format xsd des tables ..23 Figure 15. Structure xml de la base etudiant ..24 Figure 16. Interface de DB2XML Transform .26 Figure 17. Exportation dun fichier XML ...27 Figure 18. Fichiers agricolebd2010.xsd et agricolebd2010__bilan_2002_03.xml28 INTROCUTION

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

En juin 2004 a t initi luniversit Gaston Berger de Saint-Louis le projet SIC-Sngal (Systme dInformation et de Connaissances). Lobjectif de ce projet est de permettre lensemble des organismes intervenant dans la mise en valeur de la valle du fleuve Sngal de partager leurs donnes. Les premiers travaux raliss dans le cadre de ce projet ont permis la mise en place dun systme dintgration permettant de rsoudre les problmes lis lhtrogne smantique et structurelle des donnes. La premire phase du processus dintgration consiste faire migrer les donnes de chaque organisme participant au projet dans des entrepts de documents XML. Il s'agit en effet d'un passage oblig pour s'affranchir du mlange entre les donnes et de lutilisation qu'on souhaite leur donner. Ainsi, les donnes restent "propres" et peuvent facilement tre utilises dans plusieurs contextes diffrents, permettant tous les partenaires de disposer du mme format de reprsentation. Le langage XML, qui est devenu aujourd'hui un format universel de description de donnes, offre des opportunits intressantes pour permettre le dveloppement de nouvelle stratgies d'intgration au sein (et entre) les systmes dinformations.Le stockage des documents XML devient ainsi indispensable en vue d'une utilisation persistante . Les outils de stockage et les langages disponibles pour l'interrogation d'un corpus de documents XML sont dj nombreux, et des processus de normalisation sont en cours. Dans un contexte de forte volution, il serait intressant d'tudier et de mettre en place des solutions (techniques) de production de corpus XML partir de formats divers, mais aussi de voire les alternatives envisageables quant au stockage des documents XML, quelles stratgies peut-on adopter pour garantir la capacit d'volution et de rutilisation des composants d'une solution, lors de l'intgration d'un systme de stockage XML ? Lobjet du travail que nous prsentons dans ce rapport est dabord de faire une prsentation de XML, puis dtudier les solutions techniques existantes permettant le stockage de document XML afin den proposer une pour le systme du projet sic-Sngal. Ensuite de dvelopper un wrapper Bases de donnes- XML permettant la transformation de donnes issues dune base de donnes en documents XML.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

I.

Prsentation du mtalangage XML


Mtalangage permettant de gnrer des langages comme XHTML pour les pages Web, WML

pour les portables ou XMI pour reprsenter des modles UML, simplification de SGML, la recommandation [XML1] XML (eXtensibleMarkupLanguage) est le standard d'change propos par le W3C [W3C] (World Wide Web Consortium) comme lingua franca de l'Internet. Il permet

d'changer des informations marques par des balises dcrivant la structure smantique des contenus. Au plan historique, XML se situe dans la ligne de SGML, une norme publie par l'ISO en 1986 sous le nom de SGML (Standard GeneralizedMarkupLanguage ISO 8879) [ISO1], descendant elle-mme de GML (GeneralizedMarkupLanguage ). La norme SGML tait utilise depuis les annes 1980 dans le monde documentaire pour normaliser la faon de noter le balisage logique des documents (notamment dans le domaine de la documentation technique civile et militaire). [SGML1]. L'adjectif eXtensibleest l pour rappeler que XML n'est pas en fait un MarkupLanguage(un langage de balisage dj dfini) mais permet de crer de tels langages: un utilisateur ou une communaut sont libres de dfinir de nouveaux langages adapts leurs activits. La seule contrainte est de respecter les conventions spcifies par XML pour concevoir ces langages qui sont considrs comme des applications de XML [XML1]. Actuellement, il existe des centaines de langages XML diffrents qui sont utiliss sur le web, certains rsultant d'initiatives privs (entreprise, laboratoires etc.) d'autres ayant un statut plus officiel car promus par des organismes de normalisations comme le W3C, OASIS, ISO, etc. Nous pouvons donner comme exemple: XHTML (eXtensible HTML), une reformulation de HTML en langage XML le Framework RDF (ressource Description Framework), qui permet de crer des ensembles des

mtadonnes pour le web. DOCBOOK, pour l'dition, la TEI pour la cration de corpus littraire SVG, pour la description de graphiques vectoriels etc. Il existe actuellement deux versions de la recommandation XML (XML 1.0 et XML1.1), trs proches. XML1.1 est une actualisation de XML1.0 destine suivre les volutions d'Unicode. Au plan thorique, il s'agit d'une volution mineure (la possibilit d'utiliser de nouveaux caractres pour nommer les types d'lments et les attributs) [MMX1]. 1. Structure dun document XML

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

La recommandation XML dcrit la faon de reprsenter un document XML sous forme d'un objet textuel dont certains caractres servent reprsenter le balisage et d'autres constituent les donnes textuelles structures travers le balisage.

Figure 19. Exemple d'un document XML superficies infestees.xml

Le texte balis, qui doit tre interprt par des machines, doit tre crit rigoureusement en respectant un certain nombre de conventions qui fixent les constructions autorises (une grammaire de plus quatre-vingt rgles contenues dans la recommandation XML ([XML1] et [INFOSET 1]) pour dcrire ces contraintes. Cette grammaire utilise la notation des langages formels. Un document XML est donc bien form sil est constitu dun lment racine unique, ventuellement prcd dune entte, et incluant des lments (pouvant tre imbriqus), chaque lment tant correctement ouvert et ferm. Chaque document XML a une structure logique et une structure physique : - Physiquement, le document se compose dunits appeles entits. Une entit peut appeler dautres entits pour causer leur inclusion dans le document. Les entits sont des abrviations. Par exemple, si Extensible MarkupLanguage est dclar comme entit associe la notation xml, cette chane de caractres pourra tre abrge en &xml dans tout le document XML. Une entit peut aussi reprsenter un document XML externe tout entier. - Logiquement, le document se compose de dclarations, dlments, de commentaires, dappels de caractre et dinstructions de traitement, qui sont indiqus dans le document par du balisage explicite. [MLO1]

1.1 La dclaration XML


El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

La dclaration XML fournit un ensemble d'informations relatives au document dans son ensemble et utiles sa manipulation. Elle est toutefois facultative mais fortement conseille, indiquant la version d'XML et le codage utiliss. Si elle est prsente, elle est facilement reconnaissable car elle est situ l'entte du document et encadr par les dlimiteurs <?xmlet?>. Exemple : <?xml version= "1.0" encoding="ISO-8859-1"?> ou (minimum)<?xml version= "1.0" ?> 1.2 Instructions de traitement, commentaires On les trouve la suite de la dclaration XML, et servent associer une feuille de style CSS ou XSL au document XML. Exemple: <? xml-stylesheettype= "text/css" href="monstyle.css"?> Des commentaires peuvent tre insrs dans le document en utilisant les dlimiteurs <!--et-->. Exemple : <! -- Superficies infects sur St Louis -- >(cf. Figure1) 1.3 Le nud document Cest llment reprsentant la structure logique, le couple de balises qui nest contenu dans aucun autre couple. Un document XML est un arbre dont la racine est un nud document (Aussi, Un arbre dont la racine n'est pas nud document est appel un fragment XML.). 1.4 Les lments Les lments constituent les principaux composants logiques dun document XML. Ils ont des limites marques soit par des balises ouvrantes (exemple : <Region >) et fermantes (exemple : </Region >), soit, pour les lments vides, par une balise dlment vide (exemple: <Local/ >). 1.5 Les attributs Un attribut est un nom et une valeur, la valeur peut tre vide (<element attribut=""/>), mais pas nulle (<element attribut>). La rptition d'un attribut de mme nom sur le mme lment provoquera une erreur du processeur XML. L'ordre des attributs n'est pas significatif, et peut ne pas tre conserv dans certains traitements. Exemple :<Regionsname= "Dagana" >, est llment Regionsavec un attribut name qui a comme valeur Dagana. 1.6 Les espaces de noms Lespace de noms a tait introduit dans une perspective dinteroprabilit et defficacit, il est important de pouvoir utiliser dans un mme document des ensembles dlments et dattributs provenant de diffrentes origines (plusieurs documents). Il sagit dun mcanisme dindentification et de classification des balises par ajout dun prfixe dclar par un attribut de la forme xmlns : prfixe

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

= URI et utilis pour identifier la provenance de chaque balise ainsi prfix de la forme <prfixe : balise> ([BDServ1] et [MMX2]. Exemple :

Figure 20. xs : espace de noms de XMLSchema

2. Les modles de donnes La vrification du caractre bien form dun document constitue un premier niveau de contrle de la structure de ce document. Ce niveau de vrification est cependant insuffisant : il est en effet possible de crer des documents qui, quoique bien forms, nen sont pas moins inexploitables. Exemple :

Figure 3. Exemple de document bien form (contenant des erreurs)

Un document XML est valide sil est bien form et sil respecte les contraintes portant sur sa structure logique (quels lments peuvent apparaitre dans la structure, quelles relations peuvent exister entre ces lments), sur les couples attributs-valeurs qui peuvent tre associs aux lments, sur les contenus atomiques (types de valeurs ou textuelles autoriss) et les indications qui peuvent tre utilises. Pour modliser la structure gnrique laquelle on souhaite que les documents se conforment, on utilise des formalismes pour dfinir les types dlments ainsi que les relations autorises entre ces types. On utilise ensuite un processeur XML validant , pour vrifier que les documents ne contiennent que des lments appartenant ces types et ces lments apparaissent avec un nombre doccurrences et en des emplacements de la structure compatibles avec les dfinitions de types.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Figure 4. Processus de validation dun document XML

Nous prsentons ici les deux approches normalises qui ont t proposes par le: les DTD et les Schma XML (ou XML Schma). 2.1 Document Type Dfinition (DTD) La recommandation XML, dans la version 1.0 comme dans la version 1.1 contient la description dun formalisme grammatical nomm DTD (Document Type Dfinition). Ce formalisme (hrit de SGML) peut tre facultatif, mais est fortement recommand car il permet dexprimer les contraintes, expliques prcdemment, que doit respecter un document pour tre considr comme une instance valide dune classe particulire de documents XML. Une DTD est constitue des lments suivants : dclaration den-tte de DTD, dfinition dlments, dattributs et dentits XML. Dclaration de types dlments Dclaration de listes dattributs pouvant tre associ un type dlments Dclaration dentits Dclaration de notation

La dclaration den-tte de document DTD (insr dans le document xml quil rfrence) est de la forme : <!DOCTYPE lment racine SYSTEM "chemin/de/la/dtd"> Un lment XML est dfini par son nom et son modle de contenu. Le modle de contenu dun lment est une description simple des lments qui peuvent apparatre dans le contenu de llment courant, de lordre dans lequel ces lments peuvent ou doivent apparatre. On distingue plusieurs types de modles de contenu : Squences : il sagit dune liste des lments possibles, entre parenthses et spars par des virgules (,). Les lments doivent respecter lordre dans laquelle ils sont numrs. Choix : cest la possibilit que lun des lments soit prsent. Les lments sont dlimits par le connecteur |.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Indicateurs doccurrence : ils permettent de spcifier quelle frquence un lment doit (ou ne doit pas) apparatre dans un autre lment. Il existe trois indicateurs doccurrence : le caractre ? (0 ou 1 fois), le caractre * (0 ou n fois) et le caractre + (1 ou n fois).

Modles PCDATA : ils permettent de reprsenter les lments contenant des chanes de caractres. Chaque lment XML peut recevoir un ou plusieurs attributs ; ils sont dclars en une fois sous

la forme dune liste dattributs. Celle-ci joue plusieurs rles : - Elle dclare le nom des attributs permis, - Elle indique le type de chaque attribut : CDATA, ID, IDREF, IDREFS, - Elle peut dfinir des contraintes sur les attributs : valeur par dfaut attribut (#FIXED), valeur facultative dans le document XML (#IMPLIED), valeur obligatoire dans le document XML (#REQUIRED). Une DTD peut tre incluse dans le document XML (on lappelle le sous-ensemble de dclarations). Elle peut tre aussi stocke en dehors de lentit document et simplement rfrence, on utilise dans ce cas la dclaration dentte (cite plus haut). Voici une DTD pour le document XML ci-dessus :

Figure 5. DTD du document superficies infestees.xml

Bien que trs recommand comme moyen de validation de document XML, les DTD souffrent nanmoins de plusieurs limitations: Les DTD nutilisent pas une syntaxe XML. Il nest pas possible ainsi de les manipuler automatiquement avec des techniques XML. Les DTD ne permettent pas de typer les donnes de faon prcise Les DTD ne sont pas conus pour traiter des documents contenant des espaces de noms (DTD est antrieure la publication de la Namespaces recommendation) Etc. 2.2 XML Schema

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

XML Schma (publi depuis 2001 sous forme de plusieurs recommandations [XSCH1]) est une version amliore de DTD. Ils (les schmas XML) remplacent les DTD car intgrent une plus grande varit de types de donnes (boolens, entiers etc.. .) et renferment : la notion dhritage entre lments : les lments peuvent hriter du contenu et des attributs dun autre lment les espaces de noms : ils permettent de spcifier dans un document XML des lments de mmes noms provenant dautres documents XML diffrents. les indicateurs doccurrences des lments peuvent tre des nombre positifs. Etc.

Voici le schma XML quivalent la DTD prcdente :

Figure 6. Schema XML du document superficies infestees.xml

Un autre avantage des XML Schma par rapport aux DTD, est que leur syntaxe est aussi en XML .Cela permet de les manipuler comme des documents XML, et bnficier ainsi des outils existants. 3. Manipulation et Interrogation de documents XML Les techniques de la documentation structure tant de plus en plus utilises, il sest fait ressentir le besoin dinteragir directement avec le contenu des documents XML.Plusieurs standards ont t dfinis par le W3C pour complter la norme XML. Les plus importants sont ([BDServ2] &[XCE1]):

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

10

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

- La spcification XSL (Extensible StylesheetLanguage) : compose de deux parties : XSL-FO (XSL-FormatingObjects, un vocabulaire XML pour spcifier des instructions de formatage) et XSLT (XSLTransformations, un langage pour transformer un document XML en un autre). - XPath (XML PathLanguage): la recommandation pour naviguer dans un document XML. XQuery (XML Query) : langage standard de requte. - Xlink : pour la dfinition dhyperliens pour les documents XML. - APIs : en charge de linterprtation et du traitement des documents XML grce aux parseurs (XMLDB, JAXP, JAXB DOM, SAX, CASTOR XML etc)

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

11

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

II.

XML et les bases de donnes

Les documents XML utiliss au sein des systmes dinformations peuvent avoir une dure de vie qui stend au-del du traitement ponctuel auquel ils peuvent tre soumis (une priode de vie dun document peut ainsi varie du temps dune transaction plusieurs annes). Il devient donc ncessaire de stocker les documents XML reus. Il est possible de les stocker dans des hirarchies de rpertoires au sein dun systme de fichiers traditionnel. Mais un certain volume, se pose des problmes en termes de gestion et de requtes. Il est donc indispensable, pour une gestion persistante de ces donnes, dutiliser une base de donnes.

1. Les diffrents types dapproche de stockage des donnes XML


Stocker des documents XML directement en bases d donnes ou produire des documents XML directement depuis des bases de donnes prsentent de nombreux avantages : Grer la persistance, le partage et la scurit des documents XML Extraire directement les donnes en base (langages de requte, XForms du W3C) Echanger des donnes entre systmes dinformations ayant des vues diffrentes sur ces donnes (suivant des DTD ou des schmas convenus) Dveloppement de systmes dinterrogations multibases Etc.

Le choix du stockage dun ensemble de documents XML peut se faire suivant : i) Ne pas travailler directement avec un modle de donnes XML et choisir de manipuler les donnes dans le modle propre la base. Par exemple sil sagit dun stockage en base relationnelle, cela revient enregistrer le document XML dans une ou plusieurs tables relationnelles [ROB1]. On obtient ce type de reprsentation grce aux techniques comme DOM ou SAX. ii) On peut aussi stocker les documents XML dans une base classique (relationnelle, relationnelleobjet), mais ninteragir avec cette base qu travers une interface (middleware XML). Cela permet de travailler su ces documents comme sils taient grs dans une base de donnes XML. iii) La troisime approche consiste garder le document en entier en base et de lui adjoindre des acclrateurs daccs rapide (index). On parle de bases XML natives. Elles prservent la structure physique des documents (lments, attributs, entits, ...), permettent de stocker des documents sans dclaration pralable du schma des documents. Laccs aux documents se fait

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

12

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

partir des API spcifiques XML (Xpath, XQuery). Les bases de donnes XML natives permettent la cration de collections (assimilables des dossiers dans un systme de fichier).

2. Etudes de quelques systmes de stockage


Les bases de donnes tudies ici sont : eXist initi par Wolfgang Meier Oracle XMLDB Berkeley DB XML dOracle. MonetDB/XQUERY de l'institut de recherche nerlandais Centrum

Wiskunde&Informatica(CWI) 2.1 eXist eXist (version 1.4, licence GNU/GPL) est un SGBD XML native multiplateformes (Windows,Unix,Mac).Elle a t cre en 2000 par Wolfgang Meier, sur la base d'articles scientifiques dcrivant des algorithmes performants d'accs aux donnes. eXist est crit en Java. D'abord conu pour l'accs aux documents (Document-centric), la base de donnes XML native se spcialise progressivement dans l'accs aux donnes ( Data-centric ). eXist implmente l'API Java XML:DB (et dveloppe actuellement le support de l'API XQJ.), les standards XML XQUERY 1.0, Xpath 1.0 et 2.0, et XQUERYFT. Pour la ralisation des mises jour, eXist fait appel XUPDATE, et une extension d'XQUERY en cours de mise en conformit avec XQUF. 2.2 Oracle XMLDB XML DB est le nom de la technologie dOracle qui permet de grer du contenu XML en base (stockage, mises jour et extractions). Alors que la plupart des SGBD natifs XML ne permettent que la persistance, XML DB offre en plus de nombreuses fonctionnalits (contrle des transactions, intgrit des donnes, rplication et indexation) [ORA1]: Un type de donnes XML qui est utilis pour stocker et grer du contenu XML (XMLType). Il possde un certain nombre de fonctions permettant de crer, extraire et indexer des donnes XML stockes dans le SGBD Oracle. En tant que nouveau type de donnes, XMLType peut tre utilis comme type pour les colonnes dans des tables et des vues ainsi que dans des procdures stockes PL/SQL (mode de stockage CLOB, LOB ou BinaryXML). Avec le type XMLType et ses capacits, nous disposons de toutes les possibilits d'une base de donnes relationnelle tout en travaillant avec des donnes sous format XML
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 13

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

La possibilit d'enregistrer un schma (et validation) conforme au W3C dans la base de donnes Oracle.

Supporte la recommandation Xpath du W3C et le standard ISO-ANSI SQL/XML Accs distant via FTP, HTTP ou WebDAV, SOAP Dispose de plusieurs APIs (Java, C, PL/SQL) de dveloppement d'applications qui comprend des fonctions intgres, indexation, navigation et de soutien.

Le driver JDBC. 2.3 Berkeley DB XML (BDB XML) Berkeley DB XML est une base de donnes open source native , construit au-dessus de la

clbre base de donnes Berkeley DB (BDB) : c'est une base de donnes intgre (embarque /Embedded database).[BXML1]. Une base de donnes intgre (embarque) fonctionne dans un autre programme. Ce n'est pas un serveur autonome (comme Oracle, DB2, ou eXist). Beaucoup de bases de donnes relationnelles et XML natives fonctionnent en mode client-serveur. Cest--dire que tout s'excute comme une application autonome (le serveur de base) et de nombreux clients peuvent s'y connecter. Un lien est alors tabli entre eux en utilisant des protocoles (http, FTP), des drivers (JDBC, ODBC), etc. Au contraire dans une base de donnes intgre comme BDB XML, ce n'est pas le cas, les clients et le serveur tournent tous deux dans le mme espace d'adressage (machine), et ils sont en fait le mme programme. Cependant il est de la responsabilit du programmeur d'invoquer la bonne API pour la base de donnes. Il faut noter que BDB XML est conforme aux standards du W3C (XML, XML Namespaces, Xpath, Xquery, XQUF, etc.). 2.4 MonetD/XQUERY MonetDB est un systme de gestion de bases de donnes open source, dvelopp depuis plusieurs annes au CWI. Il est bas sur des projets de recherche et de bases de donnes (recherches orientes Datawhare house, Datamining etc.) [MON1]. MonetDB prend en charge plusieurs requtes comme ANSI SQL-2003 et W3C XQuery avec des possibilits de mises jour, en plus de son langage propritaire MonetDBAssemblyLanguage (MAL). MonetDB / XQuery est construit sur le moteur MonetDB (Mserver). Les fonctionnalits XQuery sont fournies par le module d'extension pathfinder, qui contient le compilateur Xquery. Il est compos de quatre (4) principaux modules qui sont: MonetDB: le moteur MonetDB (Mserver, commun aux autres BD Monet) MonetDB4: linterprteur algbrique des requtes (version 4)

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

14

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Clients: lutilitaire mclient, et sa bibliothque MAPI (Interface Administration GUI). XQuery: le compilateur Pathfinder avec son propre langage de requte (bas sur PF/Tijah).

3. Veille Technologique
Ici, nous tudions quelques bases de donnes XML suivant les approches cites plus haut. Cette tude qui se veut comparative est base sur les critres suivant : Possibilits offertes en termes dexploitation (dfinition et manipulation des donnes, contrles dintgrit etc.) Performances, persistance, scurit 3.1 Administration et scurit Par administration et scurit, nous faisons rfrence aux outils mis en place pour faciliter, hirarchiser et prioriser les oprations sur les donnes (lajout, la mise jour, la suppression) au sein de ces systmes. Ce qui est un facteur trs important pour les classer : Actuellement, MonetDB / XQuery manque de systme d'authentification approprie. L'accs la base de donnes est tout ou rien: soit une personne y a accs, soit non. En plus cest un accs sans droits d'administration (mots de passe, le protocole SSL n'est pas encore disponible). Tous les utilisateurs peuvent effectuer des modifications, supprimer des documents, etc. Autrement dit, il n'y a pas de notion de droits d'utilisateur restreint (tout le monde est administrateur). Oracle XMLDB est complet cot administration, ceci du fait quil utilise les outils dadministration de la suite Oracle (multiutilisateurs avec des droits dadministrations diffrents, terminal, interface web) avec une prise en mise facile. Berkeley XMLDB ne dispose aussi que dun terminal comme interface dadministration et il n'y a pas de notion de droits d'utilisateur restreint. eXist peut tre administr via trois interfaces (terminal, navigateur web, interface graphique) trs conviviales et facile de prise en main. Il est aussi multiutilisateur avec chacun ses droits daccs au systme. 3.2 Manipulations et intgrit des donnes (les dialectes XQUERY) Pour la consultation des ressources stockes dans les bases de donnes XML, les diffrentes solutions implmentent des standards W3C, ainsi que des technologies d'accs et de modification propres. Les standards les plus couramment implments sont XPath 1.0 et XQuery 1.0, suivis de XPath 2.0 : MonetDB /Xquery intgre des extensions du standard Xquery pour la gestion des documents (ceci du fait que le standard Xquery ne donne aucune spcification ce propos [MON2]) : les
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 15

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

fonctionnalits de XQuery sont fournies par le module d'extension pathfinder. Il permet la plupart des oprations CRUD, mais ne travaille pas au niveau schma (aucune validation de schma, si il existe, nest fait. Seulement une vrification est fait pour voir si le document est bien form) Oracle XMLDB supporte la recommandation Xpath du W3C et le standard ISO-ANSI SQL/XML et offre la possibilit d'enregistrer un schma (et validation) conforme au W3C dans la base de donnes Oracle. Berkeley DBXML est conforme aux standards du W3C (XML, XML Namespaces, Xpath, Xquery, XQUF, etc.) et dautres fonctionnalits, en dehors des standards existant, y sont intgres et permettent une gestion efficace des donnes XML. BDB XML permet la validation de schma XML sur un ensemble de documents qui sont dans un mme conteneur. [BXML2]. eXist est rput pour son langage de requtes XQuery car daprs le XQTS (XQuery Test Suite), son efficacit est valu 99.4%. En plus XUPATE qui est du XQuery pour la mise jour des documents XML admet des extensions en conformit avec XQUF (XQuery Update Facility) qui permet de faciliter la mise jour sur de grands volumes de donnes. Il permet la validation des documents XML (grce leurs schmas). 3.3 Benchmarking Un autre critre trs important pour tudier ces diffrents systmes est de mesurer et de comparer leurs performances (benchmarking), suivant leur temps de rponse aux requtes mises et leur capacit de stockage. Plusieurs benchmarks sont proposs pour cela (TopX, Xmark, XBench...). Les rsultats suivants ont t obtenus grce une tude faite avec Xmark (comparaison de MonetDB/XQUERY avec eXist et Berkeley DBXML, disponible sur le site

MonetDBhttp://monetdb.cwi.nl/XQuery/Benchmark/XMark/index.html): les conclusions montrent dans lensemble que MonetDB/QUERY est lgrement plus performant que les autres (surtout sur les fichiers de donnes dpassant 110Mb). Nanmoins, ces rsultats montrent aussi que tous ces systmes ont des temps de rponses acceptables (<= 1s pour la plupart des requtes excutes). Nous prsentons ici ces rsultats (les requtes sont notes de 1 20), suivant la solution XMark utilise :

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

16

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes
0,2 0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0

Secondes

XMark 110 KB
MonetDB/XQ uery

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Requetes

Figure 7. XMark 110Kb (fichiers de petites tailles)

10

Secondes

8 6 4 2 0

XMark 1.1Mb
MXQ BDB EXT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Requetes

Figure 8. XMark 1.1Mb

Secondes

1500 1000 500 0

XMark 11Mb
MXQ BDB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Requetes

Figure 9. XMark 11Mb

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

17

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Cependant, aucune tude de benchmarking na t trouve dans nos recherches concernant Oracle XMLDB (du moins pas publi officiellement), ceci du fait que ce dernier est propritaire (commercial). Nous pouvons aussi ajouter comme critre le mode dorganisation des fichiers au sein de ces systmes. Pour cela, seul eXist a une organisation plus structure (collections de collections), alors que les autres ne sorganisent quau premier niveau seulement (collections de documents). Sous oracle XMLDB, lorganisation se fait sous forme de tables. Lavantage dune telle organisation sous eXist permet par exemple dinterroger des documents appartenant des collections diffrentes au sein dune mme requte. A lissu de cette tude, nous prconisons lutilisation deXist comme support logiciel pour le stockage des documents XML gnrs lors de la premire phase du processus dintgration du projet sic-Sngal. Nous donnerons en annexe une brve prsentation de lutilisation deXist.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

18

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

III. (Etude sur) La transformation de donnes dun modle relationnel vers un modle XML
Notre tude sur la transformation de donnes dun modle relationnel (une base de donnes SQL) vers un modle XML (fichiers de type XML) se divise en deux grandes parties : Dabord il sagit de faire une analyse de lensemble de la structure du modle relationnel (le schma source de la BD) afin den tirer un schma XML refltant la structure de la base (une reprsentation plus ou moins intgrale). Ensuite nous allons extraire les donnes de la base suivant une structure bien dfinie, respectant au mieux le schma prcdemment obtenu. A lissu de notre tude, notre architecture fonctionnelle se prsente comme suit :

Figure 10. Architecture du systme

Le systme a trois principaux composants : La base de donnes relationnelle : o se trouvent les donnes extraire (sous forme de tables) La DB2XML Transform : qui est le module dextraction, le cur de notre systme. A laide de cette interface, nous interrogeons dabord (1) la base de donnes concerne sous
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 19

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

forme de requtes SQL. Le rsultat obtenu est constitu en premier lieu des mtadonnes1 de la base(les diffrentes tables existantes, les types des attributs, les liens existantes entre les tables). Ceci nous permettra dlaborer un schma XML qui constituera de mtaschma XML pour les diffrentes tables gnrer. Un deuxime bloc de rsultat sera obtenu et sera constitu des donnes rellement enregistres sur les tables.Nous procdons ensuite la transformation des rsultats prcdemment obtenu en fichiers .XSD et .XML(2) Fichiers XML et XSD : cest le rsultat prvu (3) lors de la gnration complte de la base de donnes. Les fichiers XML sont la gnration de chaque table et le fichier XSD est la structure gnrale de toute base et aussi le schma validant tous les fichiers XML gnrs. Notre choix sest port sur le formalisme de validation XSD (plutt que DTD) pour sa capacit reprsenter tout type de donnes. Il permet notamment de contrler de faon stricte le contenu pouvant apparaitre dans les documents XML.

1. Dfinition des rgles de transformation dune base relationnelle


Les rgles de construction dfinies pour traduire les donnes de la base tiennent compte de laspect statique et dynamique de sa structure. Laspect statique concerne la structure et donc la dfinition des tables de la base (modle conceptuel des donnes). La partie dynamique concerne les contraintes dintgrit (cls primaires et cls trangres). 1.1 Dfinition du fichier XSD Chaque table de la base est de type complexe XSD (<xsd : complexType >) reprsentant la structure globale de la table. Les attributs qui la composent seront de trois types: Les attributs non cl : chaque attribut de ce type est traduit en un lment <xsd : element> dont le type est un des types de base (xsd : string) Les attributs cls primaires : l(les) attribut(s) de la table portant ce type dintgrit rfrentielle est un moyen technique de dterminer sans ambigut une instance du concept. Ainsi chaque attribut faisant partie de la cl primaire est traduit par un attribut sur le type complexe correspondant la table (<xsd : attribute >). Il est compos aussi de son type et du champ use = required pour mieux prciser son tat unique au sein du concept. Exemple : Dfinition de la table sup_infestees_2002_03

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

20

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Figure 11. Structure xsd de la table etudiant

Aprs avoir interprt chaque table, nous allons dfinir le complexType de la base de donnes qui sera constitu dlments dont le type est lun des types tables dfinis plus haut et des relations existantes entre elles. Un lment de type Table sera comme suit : minOccurs=0 <xsd : element name= nom element type= type_Table maxOccurs=unbounded > Les options minOccurs et maxOccurs permettent de dfinir la possibilit de prsence de linstance de la table dans un fichier XML (zro ou plusieurs fois). Dans chaque lment table sera dfini les concepts de cl primaire et de cl secondaire : 1.1.1. Cl primaire La cl primaire sera dfinie par llment xsd : key qui aura autres lments fils : Xsd : selector et lexpression xpath utilise , rcupre le nom de la table concerne par cette cl. xsd:field et lexpression xpath utilise ensuite dfinit le nom de lattribut qui doit tre cl (obligatoirement identique au nom de xsd : attribute du complexType de la table). 1.1.2. Cl trangre Les schmas XML permettent un contrle rfrentiel de nature similaire ce qui existe dans le monde des bases de donnes relationnelles. Une cl trangre dfinit le fait quun attribut a1 dune table A1 soit une rfrence (ou est rfrenc) dans une table A2, par son attribut cl primaire a2. La gnration rsultante dune cl trangre sera ladjonction de la balise <xsd :keyref>. Cet attribut permet la cration dune rfrence une cl existante (dans le mme schma). Il y aura aussi les deux lments fils xsd : selector et xsd : field. Une illustration de dfinition dune base nous donnera :
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 21

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Figure 12. Structure xsd de la base_etudiant Remarques : Quelques problmes lis la gnration des cls secondaires. Dans certains cas, lanalyse et dfinition dune structure dune BDpeut tre correcte en ce sens quelle respecte (au mieux) les intgrits rfrentielles de la base, mais elle ne le sera pas du point de vue XSD . Nous en montrons ci-dessous une illustration : Soit les deux tables suivantes :

Figure 13. Relation entre deux tables

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

22

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

La gnration dun fichier xsd dune telle structure donnerait :

Figure 14. Format xsd des tables Une telle structure xsd a lair correct, mais lors de la validation, gnrera une erreur. Car la cl FK_A2 est rfrence par la cl PK_A1 or la premire est de cardinalit1 1 (ne concerne quun seul attribut @a2) et la deuxime de cardinalit 2 (@a1 et @b1). Une cl (en xsd) ne rfrence une autre cl que si leurs cardinalits sont gales. 2. Dfinition du fichier XML Pour traduire notre base de donnes, nous avons choisi de gnrer un fichier XML par table. Ceci dans le souci de plus de modularit et permettra de ne pas charger les fichiers. Le schma XML gnr sera commun tous les fichiers. Ainsi, dans un fichier XML, la racine sera le nom de la base de donnes et ses lments fils les lignes de la table. Dans ces derniers, les sous-lments seront les colonnes et l(les) attributs sera la cl primaire de la table. Exemple :

La notion de cardinalit indique ici le nombre de champs (xsd :field) dans la cl 23

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Figure 15. Structure xml de la base etudiant Une tude sur la manire de transformer des donnes vers le format XML nous a permis de trouver un procd efficace qui nous permet dextraire non seulement les donnes dun base de donnes relationnelles mais aussi les proprits (intgrit) concernant ces donnes. Ceci nous permet donc de proposer une solution applicative qui permettra dautomatiser les traitements dextraction des donnes dans une base de donnes de type relationnelle.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

24

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

IV. Conception du Wrapper DB2XML Transform


1. Implmentation
Pour dvelopper notre application, nous avons utilis principalement deux Apis de Java : lapi JDBC et JDOM : 1.1. JDBC

La technologie JDBC (Java DataBaseConnectivity) est une API fournie avec Java (depuis sa version 1.1) permettant de se connecter des bases de donnes, c'est--dire que JDBC constitue un ensemble de classes permettant de dvelopper des applications capables de se connecter des serveurs de bases de donnes (SGBD). [JDBC01] L'API JDBC a t dveloppe de telle faon permettre un programme de se connecter n'importe quelle base de donnes en utilisant la mme syntaxe, c'est-dire que l'API JDBC est indpendante du SGBD. De plus, JDBC bnficie des avantages de Java, dont la portabilit du code, ce qui lui vaut en plus d'tre indpendant de la base de donnes d'tre indpendant de la plate-forme sur laquelle elle s'excute. [IBD01]. 1.2. JDOM

JDOM2 est une API du langage Java dveloppe indpendamment de Sun Microsystems. Elle permet de manipuler des donnes XML plus simplement qu'avec les API classiques. Son utilisation est pratique pour tout dveloppeur Java et repose sur les API XML de Sun (SAX, DOM) [JDOM01]. Il propose les fonctionnalits suivantes : - Lecture de fichiers XML partir de fichiers, arbres DOM, flux SAX (en ralit, JDOM ne fournit qu'une reprsentation sous forme d'objets Java, mais ce n'est pas un analyseur syntaxique. Il en utilise un, comme Xercespar exemple, pour la lecture de flux XML). - Cration de document XML. - Exportation d'arbre XMLJDOM sous la forme de fichier, arbre DOM, flux SAX. - Transformation XSLT. - Support de XPath1.0 ( travers la brique logicielle Jaxen).

2JDOM

prsente de grandes similitudes avec le DOM en ce sens qu'il reprsente un Document XML via une structure arborescente. Cependant, il s'en distingue parce que JDOM est spcifiquement conu pour JAVA (A ce propos, il convient de noter que contrairement ce qui est parfois crit, le J de JDOM ne renvoie pas Java, et que JDOM suit la nomenclature NAA not an abreviation de Sun: JDOM veut ainsi dire JDOM et rien d'autre).

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

25

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

2. Interface du Wrapper
Suivant notre architecture (systme), nous avons pu diviser notre application principale en trois sous-interfaces, ceci dans le but de plus de modularit, mais aussi de confectionner des mini-Apis capables dtre rutiliss ou enrichis plus tard. Nous avons : - Le package dbConnexion : qui est linterface reli aux bases de donnes relationnelles. Il permet ainsi deffectuer tous les traitements sur la base de donnes (rcuprations de donnes et de mtadonnes, oprations de CRUD).Il contient en son sein la classe ConnexionJDBC. - Le package xmlWrapper : il fournit les classes de cration des fichiers XML et XSD aprs rcupration pralable des donnes (par la classe ConnexionJDBC). Nous avons les classes XMLTransform(pour ldition des fichiers XML) et XSDTransform(pour les fichiers XSD). - Le package interfaceGUI : avec la classe DBConnectInterface qui permet les actions affichage graphique pour une utilisation plus conviviale de notre interface.

Figure 16. Interface de DB2XML Transform Linterface comprend une partie de connexion la base de donnes et une autre partie dextraction de donnes de la base (soit dune table ou de toute la base). Donnons une illustration, nous voudrions rcuprer sous format XML la tablebilan_2002_03. Alors, aprsconnexion, nous choisissons dans le champ des tables la valeur bilan_2002_03, puis nous

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

26

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

cliquons surGenerer Table. Alors une fentre nous demande de choisir lemplacement o nous voudrions enregistrer les fichiers qui vont tre gnrs.

Figure 17. Exportation dun fichier XML Aprs avoir accept, une boite de dialogue saffichera pour dire que lexportation a russi (ou non). Et les fichiers (agricolebd2010.xsd et agricolebd2010__bilan_2002_03.xml) sont ainsi gnrs et peuvent tre utiliss.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

27

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Figure 18. Fichiers agricolebd2010.xsd et agricolebd2010__bilan_2002_03.xml

Conclusion
Lessor de ldition lectronique entraine, aujourdhui, la production croissante dinformations qui nont pas (toujours) une structure fixe et aussi pas clairement dfinie ( pages HTML, documents bureautiques, bases de donnes .). La gestion de ces diffrentes sources dinformations prsente un enjeu essentiel pour tendre vers une structuration progressive (uniforme) de linformation disponible. XML est au cur de ces volutions importantes par les possibilits quil offre en termes danalyse, de transformation et de recherche grce aux techniques combines comme SAX,DOM,XSLT (au sein des Apis), XQuery, bases de donnes XML. Ces outils permettraient, par exemple, une uniformisation des diffrentes ressources disponibles au sein de plusieurs systmes applicatifs (en loccurrence les bases de donnes relationnelles) pour que ces derniers puissent communiquer dans un mme format.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

28

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Ce mmoire nous a permis ainsi dtre au contact dune panoplie de solutions et techniques intervenants dans la structuration et la manipulation des donnes au sein dun systme dinformation. Cependant quelques problmes ont t rencontrs notamment dans la manire de trouver une solution trs efficace dextraction des donnes (ainsi que de leurs contraintes dintgrit) au sein dune base de donnes relationnelle.Problmes pouvant faire lobjet dune tude de recherche beaucoup plus approfondie. Ces techniques pourraient avoir aussi un avenir certains notamment dans les volutions de larchitecture du web et la faon de concevoir les systmes dinformations (conserver des services avec SOA3, changer des mtadonnes avec RDF4, OWL5 etc.)[MMX3].

BIBLIOGRAPHIE & WEBOGRAPHIE


[BDServ1] Georges Gardarin, XML, Des bases de donnes aux services Web : Reprsentation des documents, p. 76, DUNOD, Paris 2002. [BDServ2] Georges Gardarin, XML, Des bases de donnes aux services Web : Les feuilles de Styles XSL, p. 117, DUNOD, Paris 2002. [BXML1] Open Source Database Special Feature: An Introduction to Berkeley DB XML, http://au.sys-con.com/node/164567 [IBD01] Chris J. Date, Introduction aux Bases de donnes 7e dition, p. 94-95, Vuibert, Paris 2000 [INFOSET 1] Xml Information Set, 2nd Edition : W3C Recommendation, Fevrier 2004 http://www.w3.org/TR/xml-infoset

3 4

SOA: Service Oriented Architecture RDF: Resource Description Framework 5 OWL: Web Ontology Language
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 29

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

[JDBC01] Introduction JDBC, http://www.commentcamarche.net/contents/jdbc/jdbcintro.php3

[JDOM01] Manipuler des donnes XML avec Java et JDOM,


http://cynober.developpez.com/tutoriel/ java/xml/jdom/ - http://www.jdom.org [MON2] MonetDB/Xquery, xqrymanual.pdf ,http://monetdb.cwi.nl [MLO1] Moussa Lo, DATAWEB BASES SUR XML : MODELISATION ET RECHERCHE DINFORMATIONS PERTINENTES , p.26, 2002 [MLO2] Moussa Lo, DATAWEB BASES SUR XML : MODELISATION ET RECHERCHE DINFORMATIONS PERTINENTES : Les APIs pour XML p.37-38, 2002 [MMX1] Franois rle, Modlisation et Manipulation de documents XML , p. 41 - 51, Herms Sciences, Janvier 2005. [MMX2] Franois rle, Modlisation et Manipulation de documents XML : Analyse automatique du balisage, p. 32-38, p.41-58, Herms Sciences, Janvier 2005. [MMX3] Franois rle, Modlisation et Manipulation de documents XML : XML et larchitecture Web, p. 278- 305, Herms Sciences, Janvier 2005. [ISO1] International Organization for Standardization http://www.iso.org [ORA1]Oracle XML DB Developer's Guide 10g Release 1 [ORA2] Christian SOUTOU, XML avec Oracle , [ORA3] Oracle XML DB overview http://www2002.org/CDROM/alternate/V5.pdf FAQ Oracle et XML http://www.orafaq.com/faqxml.htm [ROB1] Ronald Bourret, XML and Databases, www.rpbourret.com/xml/XMLAndDatabases.htm [SGML1]http://www.sgmlsource.com/history/roots [W3C] World Wide Web Consortium http://www.w3.org/ [XCE1] Alexandre Brillant, XML Cours et exercices : Publication de documents XML, p. 105161, Groupe Eyrolles, 2007 [XDM1] W3C, Fernandez M., Malhotra A., Mash J.,MartonN,Walsh N. Xquery1.0 an Xpath2.0 Data Model (2nd edition): W3C Working Draft , W3C, 21 Avril 2009. http://www.w3.org/TR/xpathdatamodel [XSCH1]XML Schema Part1 &XML Schema Part1 (respectivement http://www.w3.org/TR/xmlschema-1 - http://www.w3.org/TR/xmlschema-2), W3C Recommendation, Octobre 2004 [XML1] Une recommandation tant le nom servant dsigner les textes normatifs publis par le W3C. Http://www.w3.org/TR/2000/REC-xml-20001006.

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

30

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

ANNEXE : UTILISATION DE EXIST


eXist implmente l'API Java XML:DB (et dveloppe actuellement le support de l'API XQJ.), les standards XML XQUERY 1.0, Xpath 1.0 et 2.0, et XQUERYFT. Pour la ralisation des mises jour, eXist fait appel XUPDATE, et une extension d'XQUERY en cours de mise en conformit avec XQUF. Elle fonctionne aussi bien en mode serveur qu'en mode embarqu. En mode serveur Il dispose par ailleurs de trois modes d'administration, un client java, une administration en ligne de commande, et une interface web. Lancement de eXist

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

31

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Aprs avoir install eXist on peut le lancer partir du fichier eXistDatabase Startup dans le menu dmarrer ou sur le bureau. Si eXist est bien lance et que tout se passe bien, on devrait avoir cette fentre DOS lcran :

On voit bien cette fentre console apparaitre lcran, ne la fermer surtout pas .On peut dmarrer eXist en tant que service windows pour ne pas le lancer manuellement.

Interface client java :


2 3 4 5 6 7 8 9 10

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

32

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Barre des menues et des fonctions

Ressources (collections et documents xml) cres

Shell

1. Aller vers la collection parent /db qui contient tous les autres collections 2. Rafraichir la vue des collections 3. Crer une collection 4. Charger un ou plusieurs fichiers dans la base de donnes 5. Supprimer les fichiers ou collections slectionnes 6. Editer les permissions sur les ressources slectionnes 7. Crer une sauvegarde de la base de donnes 8. Restaurer la base de donnes depuis une sauvegarde 9. Grer les utilisateurs 10. Interroger la base de donnes avec XQuery Elle est subdivise en trois parties : - En haut une barre des menus et des fonctions, -En bas le Shell de linterface, -et au milieu la liste des collections ou documents xml existants, Par dfaut sous eXist il ya une collection racine /db qui contient tous les collections ou documents crs. Il ya une hirarchisation des collections (on peut aussi crer des collections de collections).Dans notre cas on cre une collection du nom dagricolebd2010et on y charge les fichiers xml gnrs par notre application avec leur schma xml pour leur validation. On interroger la base partir de la boite de dialogue QueryDialog accessible dans menu outils.
b a
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 33

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Barre doutils

Zone texte pour crire une requte

Rsultat dune requte

a. b. c. d. e. f. g. h.

Lire une requte partir dun script Enregistrer un fichier script Ecrire le rsultat dune requte dans un fichier xml copier slection couper slection coller slection compiler une requte excuter une requte

Quelques requtes via la boite de dialogue XQuery dans outils:


Requte 1

Cette requte affiche les rgions de nom Dagana.

Requte 2

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

34

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Cette requte donne les sup_infestees_2002_03 de la rgion de Dagana. Requte 3

Cette requte donne les bilans dont la sup_infestee dpasse 10000. Requte 4

Cette requte donne les bilans dont la sup_infestee dpasse 7000 et la sup_prospectee est infrieur 15000. Requte 5

Cette requte donne llment niebe des sup_infestees_2002_03 de la rgion de Dagana. Requte 6
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 35

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Cette requte donne la valeur de llment niebe des sup_infestees_2002_03 de la rgion de Dagana. Mise jour : Les extensions de XQuery pour les mises jour sont les suivantes : insert, replace, value, rename, delete. 1. insert update insertexpr( into | following | preceding )exprSingle La requte ci-dessus permet dinsrer expr dans exprSingle - loption into permet de faire linsertion avant la balise fermante de llment exprSingle -loption following permet de faire linsertion tout juste aprs llment exprSingle -loption preceding permet de faire linsertion tout juste avant llment exprSingle

On affiche le contenu du nud Rgion Dagana :

Llment test est bien dans la rgion de Dagana.

2. delete :

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

36

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

update delete expr supprime llment expr.

Cette requte supprime llment test insr prcdemment.

Llment test insr dans la rgion de Dagana est bien supprim. 3-replace : update replace expr with exprSingle : remplace llment exprpar exprSingle.

Cette requte remplace llment niebeavec son contenu de sup_infestee_2002_03 de la rgion de Dagana par <niebe>3000</niebe>.

. La requte suivante vrifie que la valeur de llment niebe de sup_infestee_2002_03 de la rgion de Dagana est bien 3000.

4-value :
El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 37

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

update value expr with exprSingle : modifie la valeur de tous les nuds expr par exprSingle .

Cette requte change la valeur de llment niebe de sup_infestee_2002_03de la rgion de Dagana par 300.

On voit bien la valeur de niebe est 300. 5-rename: update rename expr as exprSingle :renomme tout les nuds expr par exprSingle .

Cette change le nom de llment niebe de sup_infestee_2002_03de la rgion de Dagana par niebe_1.On remarque bien que llment niebe est devenu niebe_1.

Validation dun document XML :


El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis 38

Gnration et exploitation dune base de donnes XML partir de sources de formats htrognes

Il existe deux types validations dun document XML pour eXist-db : La validation implicite (par dition du fichier conf.xml qui se trouve dans le dossier dinstallation deXist). Elle seffectue en affectant lattribut mode de llment validation lun des valeurs suivantes : auto, yes ou no : yes , tous les documents XML subirons un processus de validation (mais si la DTD ou le XML-Schma nest pas conforme au document XML correspondant, ce document XML ne sera pas accept). no , tout document XML bien form est accept. auto (qui est la configuration par dfaut) , si le document XML fait rfrence une DTD ou un XML-Schma , cette situation correspond au cas ou lattribut mode est gal yes , sinon le cas ou lattribut mode vaut no . La validation explicitepar lutilisation des fonctions dextensions de XQuery savoir JAXP,JAXV, Jingetc . (cf. http://localhost:8080/exist/validation.xml du serveur eXist-db).

El Hadji Baffa Sy& Ismaila Abdoulaye Ndiaye Maitrise Informatique 2010 UGB/Saint Louis

39

Vous aimerez peut-être aussi