• Aucun résultat trouvé

3.2.1 Taxonomie des domaines d’applications

Nous considérons que la manipulation de données par les systèmes interactifs (MDSI) se limite aux documents XML [W3C, 2006a] et aux bases de données. Par conséquent, les besoins des SI concernent l’interopérabilité entre les bases de données et les documents XML qu’ils manipulent ainsi que la création de présentations. Ces besoins relèvent des deux domaines de la manipulation de données présentés par la figure 3.1 : la translation et la transformation de schémas.

Une manipulation de données est dite translation de schémas lorsque la sémantique du ou des schémas sources est la même que celle du schéma cible. La translation de schémas permet l’interopérabilité entre des données exprimant un même concept mais de manière différente. Il est courant, en effet, que des données hétérogènes soient représentées dans différents formalismes (p.

Manipulation de données pour les SI Translation de schémas Transformation de schémas

Translation de données Intégration de données Création de présentations

Document XML Base de données

Fig. 3.1: Différents domaines d’application de la manipulation de données pour les SI

ex. schéma relationnel, DTD ou XML Schema) ou dans un formalisme identique mais de manière distincte. Notons que, bien qu’à l’origine la translation de schémas concernait essentiellement le domaine des bases de données, elle s’est étendue au domaine des documents et accentuée depuis l’avènement de l’XML comme l’illustre la figure 3.2a. La translation de schémas se divise en deux sous-domaines majeurs : la translation de données et l’intégration de données.

La translation de données, également appelée l’échange de données, est le problème visant à faire passer des données structurées d’un schéma source vers un schéma cible [Fagin et al., 2003; Abiteboul et al., 2002; Atzeni, 2006; Kolaitis, 2005]. La figure 3.2a présente un exemple de translation de données où le but est de créer un pont entre un document au format ODF (Open Document Format) et un autre au format OOXML (Office Open XML), ces documents définissant le même concept (la notion de document bureautique) différemment.

OpenOffice.org MicrosoftOffice

OOXML ODF

(a) La translation de données

base de données 1 base de données 2 base de données 3 (b) L’intégration de données

Fig. 3.2: Principe de la translation et de l’intégration de données

L’intégration de données vise à combiner des données résidant dans différentes sources afin

de fournir à l’utilisateur une vue unifiée et globale de ces données [Batini et al., 1986; Lenzerini, 2002]. La figure 3.2b illustre le principe de l’intégration de données avec un exemple : les sources (les bases de données 1 et 2) contiennent les données d’origine tandis que la cible (la base de données 3) fournit une vue regroupant tout ou partie des données sources.

3.2 Taxonomies

Une manipulation de données est dite transformation de schémas lorsque la sémantique du ou des schémas sources diffère de celle du schéma cible. La transformation de schémas peut être divisée en deux sous-domaines majeurs : l’intégration de données et la création de présentations.

L’intégration de données, présentée précédemment en tant que translation de données, peut

également être considérée comme de la transformation de schémas dans certains cas. En effet, si les schémas sources et le schéma cible ont la même sémantique, alors il s’agit d’une translation de schémas. Par exemple, la fusion de deux schémas définissant chacun le concept d’emploi du temps, en un schéma global ayant le même but, est un problème de translation. Par contre, la fusion d’un schéma spécifiant le concept d’emploi du temps avec un autre schéma définissant la scolarité d’étudiant, en un schéma global dédié à l’emploi du temps d’étudiants, est considérée comme de la transformation de schémas. Dans certains cas, la classification d’une intégration de données peut être subtile et dépend essentiellement du contexte et de la sémantique des schémas concernés.

L’autre sous-domaine majeur de la transformation de schémas est la création de

présenta-tions. Abiteboul (1999) présente les vues comme des outils permettant à des utilisateurs de voir

des données de différents points de vue. Cependant, dans le contexte des SI, de telles transfor-mations doivent être incrémentales pour mettre à jour l’interface dont les données sources ont été modifiées sans avoir à reconstruire l’ensemble de cette interface. Cet aspect sera détaillé dans la section 3.6.

3.2.2 Taxonomie des approches

La figure 3.3 synthétise notre classification des différents grands groupes d’approches de la MDSI qui ressortent de la littérature.

Approches de manipulation de données pour les SI

Basées sur les instances Basées sur les schémas Dirigées par les modèles (IDM)

Fig. 3.3: Classification des approches de la manipulation des données pour les SI

Les approches fondées sur les instances, c’est-à-dire sur les données elles-mêmes et non sur leur schéma, s’appliquent principalement à la manipulation de documents structurés. Cette tendance s’est accentuée depuis le consensus établissant XML comme le langage standard pour le stockage et l’organisation des données dans les documents textuels.

Par ailleurs, les approches fondées sur les schémas considèrent le schéma comme l’élément central de la manipulation. Ces approches s’appliquent aux bases de données, dont le schéma est généralement défini sous forme relationnelle, mais également aux documents structurés (schéma XML).

Enfin, tout comme celles fondées sur les schémas, les approches de l’ingénierie dirigée par

les modèles (IDM) ne sont pas centrées sur les données (ou modèles) mais sur leur schéma (ou

méta-modèle). La majorité des approches fondées sur les schémas peuvent ainsi être considérées comme étant fondées sur l’IDM. Notre classification sépare cependant ces deux types d’approches pour la raison suivante : les premières se limitent principalement aux bases de données et aux documents XML, et aux problèmes associés (p. ex. la fusion des bases de données). Les secondes

visent à répondre des problèmes différents, tels que le passage d’un espace technique à un autre et les transformations « modèle-vers-modèle », « modèle-vers-texte » et « texte-vers-modèle » (voir section 2.5).

Dans les trois sections suivantes, nous détaillons les groupes exposés dans la section 3.3 notamment en présentant les différents langages et cadres de travail existants.

3.2.3 Exemple illustratif

Pour illustrer les approches majeures présentées dans les sections 3.3, 3.4 et 3.5, un même exemple de manipulation de données est utilisé. La source et la cible de cette manipulation sont respectivement les documents XML et SVG des figures 3.4a et 3.4b. Cet exemple vise à créer une présentation graphique en SVG [W3C, 2003] à partir de données XML représentant un blog. Dans un souci de simplicité, les commentaires pouvant être attachés aux billets d’un blog ont été omis. <b l o g nom="mon B l o g "> < b i l l e t s > < b i l l e t num=" 1 "> < t i t r e>Mon p r e m i e r b i l l e t </ t i t r e> <c o n t e n u>C e c i e s t l e c o n t e n u de mon p r e m i e r b i l l e t . </ c o n t e n u> <d a t e>17−11−2008</ d a t e> <a u t e u r>Arnaud B .</ a u t e u r> </ b i l l e t > </ b i l l e t s > </ b l o g> (a) Un fichier XML < s : s v g x m l n s : s=" h t t p : //www. w3 . o r g / 2 0 0 0 / s v g "> < s : g f o n t −s i z e =" 24 " f i l l =" #000000 "> < s : t e x t x=" −280" y=" 20 " t e x t −a n c h o r=" m i d d l e " t r a n s f o r m=" r o t a t e ( −90) ">mon B l o g</ s : t e x t> < s : g i d=" 1 "> < s : r e c t y=" 30 " x=" 40 " f i l l ="#e 6 e 6 e 6 " s t r o k e=" #000000 " h e i g h t=" 180 " w i d t h=" 630 " /> < s : t e x t f o n t −w e i g h t=" b o l d " y=" 60 " x=" 60 ">Mon p r e m i e r b i l l e t </ s : t e x t> < s : t e x t y=" 125 " x=" 55 ">C e c i e s t l e c o n t e n u de mon p r e m i e r b i l l e t .</ s : t e x t>

< s : t e x t f o n t −s t y l e=" i t a l i c " t e x t −a n c h o r=" end " y=" 195 " x=" 620 ">Arnaud B . − 11−17−2008</ s : t e x t> </ s : g>

</ s : g> </ s : s v g>

(b) Exemple d’une présentation SVG

Fig. 3.4: Exemple du blog