Le modèle structurel
La démarche de conception du modèle structurel qu’ils proposent s’effectue en plusieurs étapes :
– Identifier les sources de données (structurées et semi-structurées) du dataweb,
– Utiliser le modèle entité-association (E-A) pour modéliser chaque source de données structurées, et XML pour chaque source de données semi-structurées [1],
– Traduire les modèles E-A obtenus à l’étape précédente en schémas relationnels,
– Obtenir pour chaque source, grâce à une technique de mapping (relationnel – XML) qui est détaillée dans [9], un schéma structurel représentant la structure logique de la base de données relationnelle en XML.
– Insérer dans une base de documents XML les données issues des bases de données relationnelles.
L’ensemble des schémas structurels issus des différentes sources de données structurées du dataweb, et les schémas des documents XML issus des sources de données semi structurées, forment le modèle structurel du dataweb. Pour illustrer simplement l’approche, nous avons utilisé Xweb pour réaliser le site web d’une centrale d’achat. Nous avons considéré deux sources de données :
– les informations sur les fournisseurs et les produits de la centrale d’achat Ndakarou khéweul, modélisées à l’aide du modèle E/A (données structurées) ;
– les informations relatives aux services web décrites dans un document texte, formalisées dans un document XML (données semi-structurées). Rappelons que les services web ne sont pas pris en compte dans l’approche proposée par Lo et Hocine.
Le modèle structurel du dataweb est donné ci-dessous :
<bd_centrale_achat>
<fournisseurs>
<fournisseur id= » »>
<nom/>
<adresse/>
<telephone/>
</fournisseur>
</fournisseurs>
<produits>
<produit id= » »>
<nom/>
<poids_unitaire/>
</produit>
</produits>
<ventes>
<vente fournisseur= » » produit= » »>
<prix_unitaire/>
<quantite/>
</vente>
</ventes>
<services_web>…</services_web>
</bd_centrale_achat>
Le problème de la transformation (ou mapping) des données issues de bases de données relationnelles en documents XML a donné lieu à quelques outils dont DB2XML [15], PLSXML [12] et XML-DBMS [3]. Ces trois systèmes sont des packages Java et ont adopté la même approche : ils utilisent une technique de mapping très simple basée sur le DOM (Document Object Model) [18]. Le problème des clés étrangères n’est pas abordé, ce qui implique une redondance d’informations dans le document obtenu. La structure de ce document est une structure d’arbre et non de graphe orienté comme celle que nous avons proposée (Fig. 2). XML autorise l’utilisation des types spéciaux d’attributs pour traduire la notion de graphe : un élément peut avoir un attribut de type ID dont la valeur fournit un identificateur unique qui peut être référencé par des attributs de type IDREF ou IDREFS à partir d’autres éléments. Notre modèle de données supporte les attributs IDREF(s) et permet donc de représenter les données XML par un graphe orienté et étiqueté : les attributs IDREF(s) implémentent les associations du modèle E/A.
Les types d’unités médiatiques et leur description en XML
Lo et Hocine[19] proposent huit types d’unités médiatiques : Xobjets, contextes navigationnels, index, menus, liens, textes, images et pages web.
Les Xobjets : un Xobjet est un extrait de la base de documents XML, obtenu à partir de l’application d’un filtre. Un filtre peut être engendré automatiquement à partir d’une vue définie en XML. A titre d’exemple, voici une vue permettant d’obtenir des Informations sur les produits des fournisseurs de la centrale d’achat Ndakarou khéweul :
<um id= »u2″ type= »Xobjet »>
<vue_filtre id= »f_produits_xobjet » type= »produit » definition= »bd_centrale_achat/produits/produit »>
<nom/>
<poids_unitaire/>
</vue_filtre>
</um>
Les éléments prédéfinis de l’objet vue_filtre sont : , . Ils permettent d’engendrer automatiquement une requête (appelée filtre) écrite en XSLT (eXtensible Style Language Transformation) [17], XSLT étant un langage permettant de transformer des documents XML en d’autres documents XML.
Nous donnons ci-dessous le code XSLT obtenu à partir de l’objet vue_filtre :
<xsl:stylesheet xmlns:xsl= »http://www.w3.org/1999/XSL/Transform » version= »1.0″>
<xsl:output method= »xml » indent= »yes »/>
<xsl:template match= »/ »>
<Xobjet>
<xsl:for-each select= »bd_centrale_achat/produits/produit « >
<produit>
<nom> <xsl:apply-templates select= »nom »/></nom>
<poids_unitaire> <xsl:apply-templates select= »poids_unitaire »/></poids_unitaire>
</produit>
</xsl:for-each>
</Xobjet>
</xsl:template>
</xsl:stylesheet >
Exemple de contexte simple : les fournisseurs de produits par nom. Un tel contexte permet d’obtenir plusieurs Xobjets représentant chacun la page d’un fournisseur de produits et un index donnant accès à chacun de ces Xobjets. On le décrit comme suit:
<um id= »fournisseurs » type= »contexte_simple »>
<vue_filtre id= »f_four_cont » type= »fournisseur »
definition= »bd_centrale_achat/fournisseurs/fournisseur »>
<info_index>
<index>nom</index>
<titre>fournisseurs</titre>
</info_index>
<nom />
<adresse />
<telephone />
</vue_filtre>
</um>
Les éléments prédéfinis de l’objet vue_filtre sont : , , et . Cette vue est ensuite traduite en un filtre XSLT dont l’application permet d’obtenir les divers Xobjets (ie les fournisseurs) et de construire l’index.
|
Table des matières
INTRODUCTION
PARTIE I : L’approche Xweb
1 Le modèle structurel
2 Le modèle médiatique
2.1 Les types d’unités médiatiques et leur description en XML
A Les Xobjets
B Les contextes navigationnels
B.1 Exemple de contexte simple : les fournisseurs de produits par nom
B.2 Exemple de contexte composé : les produits vendus par fournisseur
C Les index
D Les menus
E Les liens
F Les textes
G Les images
H Les unités pages
2.2 Les différentes étapes pour la construction de la base médiatique
3 Génération de la base médiatique
PARTIE II : Intégration de Services Web dans Xweb
I Les services web
1 Généralités
2 Etude du fonctionnement des services web
2.1 Fonctionnement général
2.2 Technologies utilisées
2.2.1 SOAP
2.2.2 WSDL
2.2.3 UDDI
3 Implémentation
3.1 JAX-RPC
3.2 JAXM
3.3 .NET
3.4 BEA Weblogic
3.5 Apache AXIS
II Intégration de services web dans Xweb
1 Unité médiatique de type service web
2 Extension de l’algorithme de génération d’U.M
3 Les différentes étapes de la procédure d’intégration de services web dans Xweb
PARTIE III : Application
1 Application à des données environnementales
2 Génération de la base médiatique
3 Accès à un service web
3.1Description d’une U.M. de type service web
3.2 Déploiement automatique d’une classe java
3.3 Utilisation d’un service web par un client
CONCLUSION
RÉFÉRENCES
ANNEXE
