Web    01net.       






Noms de domaine

Acheter votre nom de domaine


Achat & Vente

L'offre du jour


La Compil N°2 - 2005
Exclusif : les meilleurs téléchargements !
L'essentiel des logiciels pour équiper votre PC.
En Bonus : les 15 meilleurs utilitaires de l’Open Source.
Réservez aujourd'hui le
Top 100 N°2-2005
9,90 € au lieu de 12,70 € TTC.

cliquez ici

EN KIOSQUE
Au sommaire du n°12
Numéro Spécial sécurité : les suites de sécurité et les antispywares au banc d'essai, les antivirus en 10 questions clés, toutes nos explications et nos conseils pour choisir son firewall, les parades pour se protéger contre Phishing, pharming... Et toujours 10 pages de fiches pratiques. Sur les CD-Rom : plus de 100 nouveautés à découvrir, tous les outils pour créer sa musique et plus de 50 jeux de réflexion.

6€90
avec 2 CD-Rom inclus






matériels


CD-Rom








entreprise
Les développeurs pris dans les rouages de la rentabilité
trucs et astuces
Téléphonez moins cher avec Skype
conso
Téléviseur à écran plat : acheter ou attendre ?

Recevez gratuitement
chaque semaine les
nouveaux tests produits




MSN Desktop Search passe au crible les disques durs
La nouvelle Xbox se la joue sur MTV
Windows Mobile avance à petits pas

> toutes les news

4 SGBD pour traiter les données XML Laurent Maury

écrire à l'auteur imprimer
envoyer par mail
Cet article est extrait de : Décision Informatique

Seul hebdomadaire généraliste qui aide concrètement au choix et à la mise en œuvre opérationnelle, grâce à une information pragmatique et concrète.

Découvrez le magazine
Contactez la rédaction
Abonnez vous


[ STOCKAGE ET GESTION DE DONNÉES ]
4 SGBD pour traiter les données XML
L'utilisation croissante du langage XML dans de nombreux domaines fait naître de nouveaux besoins en matière de stockage et de gestion de données. Les éditeurs de SGBD adaptent leur offre pour répondre aux exigences du marché.

Laurent Maury , Décision Micro, le 22/10/2001 à 00h00

XML devient rapidement le standard incontesté des langages de description de contenu et d'interopérabilité applicative. Initialement perçu comme une simple évolution normalisée du langage HTML, XML permet de séparer clairement le contenu de sa présentation. Issu du célèbre langage de gestion de documents SGML, dont il simplifie la spécification, il offre comme son aîné la possibilité de valider la structure du contenu grâce à l'utilisation optionnelle des DTD (Document Type Definition). Cette souplesse a permis au langage et à ses dérivés (XSL, XPath, XQuery, MathML...) de s'imposer dans de nombreux domaines d'applications, dépassant ainsi les espérances initiales du W3C chargé de sa normalisation. XML se trouve dorénavant au coeur de l'architecture du système d'information : clients exploitant de manière native des structures XML, serveurs d'applications, systèmes d'échange de données entre applications (EAI), mise en oeuvre d'applications distribuées (Soap...) et naturellement systèmes de stockage et de manipulation de données.

Le développement d'architectures tout-XML réclame des fonctions adaptées pour un traitement efficace des documents XML et de leur contenu : recherche sélective, tri, comparaison de contenus, modification répétitive... Les éditeurs de SGBD se sont donc penchés sur le problème du stockage et de la manipulation des flux XML et ont tantôt choisi d'adapter leur moteur (IBM, Oracle, Microsoft...), tantôt préféré concevoir et développer un SGBD nativement XML (Software AG, X-Hive Corporation...). La première solution qui vient à l'esprit consiste à exploiter la puissance du modèle relationnel (ou mieux, relationnel-objet) en définissant un ensemble de tables permettant de modéliser la structure de chaque document XML et d'en stocker les différents composants de manière parcellaire. C'est la technique du " mapping ".

Étendre les fonctions à la gestion de données complexes

La complexité d'une telle opération dépend directement de la structure du document à enregistrer. Toutefois, le modèle relationnel ne se prête pas aisément à la représentation arborescente et hiérarchique caractéristique du langage XML. En particulier, les applications Internet produisent et manipulent de nombreux documents peu structurés ou dont la structure évolue dynamiquement, un véritable cauchemar pour les SGBDR. Enfin, la notion d'héritage, qui existe en XML, s'avère difficile à représenter à l'aide du modèle relationnel. Parmi les SGBDR, seul celui d'IBM propose une fonction permettant d'assister le travail du développeur lorsqu'une DTD associée au document à stocker est disponible.

Un SGBD permet de définir, de stocker et de manipuler rapidement de grands volumes de données. Ces dernières peuvent être de différents types (nombres, chaînes de caractères, etc.). L'essor des applications transactionnelles et le besoin croissant de disposer de structures d'informations complexes ont conduit les éditeurs de SGBD à étendre leurs fonctions à la gestion de données complexes : objets binaires de grande taille (Blob), objets binaires structurés (Clob), données multimédias... Pour stocker du contenu au format XML dans un SGBD, il est possible d'utiliser les Blob (Microsoft SQL Server n'offre d'ailleurs pas d'autre possibilité). Toutefois, le SGBD n'apporte dans ce cas aucune aide aux développeurs d'applications dans la manipulation des données XML ainsi stockées.

Il faut donc faire mieux que le mapping ou l'utilisation des Blob. Certains SGBDR (Oracle9i et DB2 UDB) disposent dorénavant d'un type de données " natif XML ". Naturellement, les logiciels qui gèrent le format natif permettent de définir des tables associant des données traditionnelles et du contenu XML. Mais là aussi, une fois l'information stockée, il s'agit de permettre aux développeurs de mettre en oeuvre des fonctions de recherche, de comparaison, de sélection complexe et de mise à jour sélective des données.

Définir des schémas XML pour pallier les limites des DTD

Certains SGBDR ont été dotés d'extensions provenant du modèle objet dont notamment les types de données et les fonctions définies par l'utilisateur (Oracle9i, DB2). À l'aide de ces dernières, il est possible de traiter efficacement le contenu de documents XML. Reste l'épineux problème des mises à jour fragmentaires. En effet, mettre à jour une partie seulement d'un document XML, même s'il est défini comme type XML, oblige à l'ouvrir et à le refermer dans sa globalité, ce qui est très pénalisant en termes de performances. À ce sujet, les éditeurs de SGBDR se réfugient derrière l'absence d'un langage de requête et de manipulation XML normalisé. Celui des SGBDR, SQL, n'est pas adapté à l'usage du langage XML. Les extensions objet et la conformité à la norme SQL3 pallient cette inadaptation chronique, mais au prix de définitions parfois très complexes.

Naturellement, les SGBD nativement XML disposent eux de puissantes fonctions de manipulation de données. Mais en l'absence d'un langage de requête normalisé, chaque système introduit ses méthodes et ses outils spécifiques. Tamino intègre, par exemple, une version très avancée de XQL et s'intéresse déjà au futur XMLQuery. De tels langages, conçus d'emblée pour la manipulation de données XML, confèrent à ces outils une grande efficacité pour des applications front office destinées à manipuler des documents complexes ou des données multimédias. Les SGBD nativement XML introduisent cependant une nouvelle contrainte : l'intégration avec l'existant et, en particulier, la gestion de transactions impliquant des SGBD hétérogènes. Cette contrainte limite l'utilisation de ces SGBD aux nouvelles applications qui ne nécessitent pas d'intégration transactionnelle avec le système d'information existant.

Voilà qui justifie pleinement les travaux actuellement conduits par le W3C, consacrés à la définition des schémas XML (future norme XSD). Ceux-ci devraient étendre le principe des DTD et en pallier les principales limites. Tout d'abord, contrairement aux DTD, les schémas XML devront respecter la syntaxe du langage. Mais surtout, ils permettront de " typer " fortement les données contenues dans un document XML. Dès lors, il sera plus aisé de définir des structures de stockage idoines, voire d'automatiser les opérations de mapping. Les schémas pourraient également réconcilier et standardiser les différentes méthodes de représentation des données XML : SGBD natifs XML, SGBDR dotés d'un type de données XML et modélisation relationnelle de la structure hiérarchique d'un document XML.

Si vous êtes pressé

Un SGBD compatible XML doit offrir trois fonctions principales : le stockage natif des documents XML, un langage d'interrogation capable de manipuler contenu et structure des documents, et un générateur de résultats des requêtes au format XML. Deux types d'offres sont disponibles sur le marché : les extensions XML des SGBDR et les serveurs XML. Parmi les premiers, Oracle9i et DB2 UDB d'IBM proposent sensiblement les mêmes possibilités : stockage natif global, enrichissements de SQL3 avec des fonctions proches de XQL, création d'index, résultats de requêtes en XML. Ces deux solutions sont recommandées car elles permettent d'approcher sérieusement le développement d'applications XML. Microsoft, avec SQL Server, reste très en retrait et ne peut rivaliser avec de tels concurrents. Tamino de Software AG est également recommandé. Serveur de données nativement XML, il répond idéalement aux besoins de développement d'applications front office évoluées.


Le périmètre du test

Tout juste né, le marché des systèmes de gestion de bases de données nativement XML est déjà menacé par les nouvelles fonctions introduites au coeur des SGBDR. Nous avons ainsi choisi de nous intéresser de près à la compatibilité XML émergeante de ces derniers. Les leaders ont été sélectionnés : IBM, Oracle et Microsoft. IDS, du fait de la récente acquisition d'Informix par IBM, n'a pas été sélectionné, ce qui n'enlève rien à l'intérêt de la solution. De même Sybase, compte tenu de la proximité du produit avec SQL Server de Microsoft, ne fait pas partie de notre sélection. Les logiciels retenus dans le cadre de ce banc d'essai représentant plus de 90 % des solutions exploitées sur le marché de la gestion de données.


Glossaire
DTD

Document Type Definition. Document (non XML) permettant de décrire les structures des documents XML. L'utilisation des DTD est facultative (validation sémantique). Elles permettent de valider un document XML bien formé. Les DTD peuvent être internes ou externes aux documents XML dont elles expriment la structure.

Schémas XML

En cours de définition par un groupe de travail du W3C, les schémas permettront comme les DTD de décrire la structure d'un document XML, mais avec une précision accrue, notamment au niveau du type des données contenues. contrairement aux DTD, les schémas respecterons par ailleurs la syntaxe du langage XML.

XSL

XML Styleshe et Language. Standard du W3C basé sur XML permettant de construire des feuilles de style. L'association d'une feuille de style à un document XML normalise la présentation des données.

XSLT

XML Styleshe et Language Transformation. Langage basé sur XML permettant de modifier la structure et le contenu d'un document XML par application de transformations élémentaires (langage de script).

SQL

Structured Query Language. Langage de requêtes caractéristiques des SGBDR.

SQL3

Extension de SQL permettant de manipuler des structures relationnelles-objet.

XQL

XML Query Language. Première tentative du W3C de normalisation d'un langage de requête destiné à manipuler des documents XML. XPath est un sous-ensemble de XQL. XQL n'est qu'une recommandation et pas encore une norme.

XPath

Standard du W3C permettant de naviguer au sein d'un document XML. XPath construit une représentation arborescente des documents. Il fournit un ensemble de fonctions permettant de parcourir l'arbre ainsi construit et d'appliquer sur ce dernier des critères de tests et des fonctions de recherche. XQL intègre XPath.

XMLQuery

Langage universel de requête (destiné à remplacer la proposition XQL et les divers dialectes associés) en cours de définition par un groupe de travail du W3C impliquant de nombreux acteurs. Cette future norme aura notamment pour objectif de réconcilier SQL et l'ensemble des dialectes actuellement voisins de XQL.








Pour s'abonner, consulter les archives et contacter les journalistes

Nous contacter | Charte de confiance | Voir notice légale


Tous droits réservés © 1999 - 2005 Groupe Tests - 01net.


Découvrez nos autres sites : CadresOnLine - Electronique.biz - Mesures.com - Caractere.net - Transaction.fr