Définition d'un système générique de partage de données entre systèmes existants



Documents pareils
Intégration de données hétérogènes et réparties. Anne Doucet

Architectures d'intégration de données

Module BDR Master d Informatique (SAR)

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Information utiles. webpage : Google+ : digiusto/

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

UE 8 Systèmes d information de gestion Le programme

Cours Bases de données

THOT - Extraction de données et de schémas d un SGBD

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Présentation du module Base de données spatio-temporelles

Chapitre 1 : Introduction aux bases de données

et les Systèmes Multidimensionnels

Les Entrepôts de Données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Une méthode d apprentissage pour la composition de services web

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Introduction aux Bases de Données

PROSOP : un système de gestion de bases de données prosopographiques

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Bases de Données Avancées

Notes de cours : bases de données distribuées et repliquées

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Le langage SQL Rappels

Hervé Couturier EVP, SAP Technology Development

Module BD et sites WEB

Conception, architecture et urbanisation des systèmes d information

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Nom de l application

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Catalogue des formations Edition 2015

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Entrepôt de données 1. Introduction

Communiqué de Lancement

Introduction aux SGBDR

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Entreposage de données complexes pour la médecine d anticipation personnalisée

Systèmes d information et bases de données (niveau 1)

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

SQL Parser XML Xquery : Approche de détection des injections SQL

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Gestion de données réparties. Cours 1

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

TP Bases de données réparties

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Utiliser Access ou Excel pour gérer vos données

Introduction à la B.I. Avec SQL Server 2008

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Compte-rendu re union Campus AAR 3 mars 2015

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Bases de données avancées Introduction

SECTION 5 BANQUE DE PROJETS

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Présentation générale du projet data.bnf.fr

Les Architectures Orientées Services (SOA)

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Introduction aux concepts d ez Publish

Recherche bibliographique

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

BUSINESS INTELLIGENCE

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Business Intelligence

WHITE PAPER Une revue de solution par Talend & Infosense

Parcours en deuxième année

Windows Internet Name Service (WINS)

Bases de données et interfaces Génie logiciel

Business & High Technology

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Bases de données élémentaires Maude Manouvrier

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

La rencontre du Big Data et du Cloud

Administration Centrale : Opérations

SQL Server et Active Directory

Chapitre 9 : Informatique décisionnelle

aalto Collaborative Pour le gestionnaire,

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Chapitre 10. Architectures des systèmes de gestion de bases de données

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

CHAPITRE 1 ARCHITECTURE

Livre Blanc WebSphere Transcoding Publisher

Bases de données - Modèle relationnel

BES WEBDEVELOPER ACTIVITÉ RÔLE

UML et les Bases de Données

Transcription:

N d ordre 2005-ISAL-00125 Année 2005 Thèse Définition d'un système générique de partage de données entre systèmes existants Présentée devant L institut national des sciences appliquées de Lyon Pour obtenir Le grade de docteur Formation doctorale : Documents multimédia, Images et Systèmes d Information Communicants (DISIC) École doctorale : École doctorale Informatique et Information pour la société (EDIIS) Par Mohamed Salah BOUMEDIENE (Ingénieur) Soutenue le 17 Décembre 2005 devant la Commission d examen Jury MM. Rapporteur M. COLLARD Chef d unité à l ONERA (ONERA-DMSC) Directeur A. FLORY Professeur (INSA de Lyon) Examinateur M.HACID Professeur (Université Claude Bernard) Co-directrice F. LAFOREST Maître de conférences (INSA de Lyon) Rapporteur M. SIMONET HDR (Université Joseph Fourier Grenoble) Examinateur G. ZURFLUH Professeur (Université Toulouse II)

SOMMAIRE SOMMAIRE...i Table des figures...vi Liste des tableaux...viii Résumé...ix Abstract... x Chapitre I : Introduction... 1 1 Position du problème... 1 2 Contexte de la thèse : Le projet SICOM... 2 3 Objectif... 4 4 Organisation de la thèse... 4 Chapitre II : ETAT de l art... 7 1 Introduction... 8 2 Les différentes approches d intégration de bases de données... 9 2.1 Bases de données fédérées... 9 2.1.1 Les principaux systèmes fédérés... 9 2.1.1.1 Information Manifold... 9 2.1.1.2 InfoMaster... 10 2.1.1.3 L approche de Florescu... 10 2.1.1.4 GARLIC... 10 2.1.1.5 Intégrateur de données biologiques... 11 2.2 Les Médiateurs... 12 2.2.1 Classification des approches de médiation... 13 2.2.2 Les principaux systèmes de médiation... 14 2.2.2.1 E-XMLMEDIA... 14 2.2.2.2 MIX... 15 2.2.2.3 PICSEL... 16 2.2.2.4 SIMS... 17 2.2.2.5 OBSERVER... 18 2.2.2.6 DISCO... 19 2.2.2.7 TSIMMIS... 21 2.2.2.8 EDC... 23 2.2.2.9 MOMIS... 23 2.3 Conclusion... 24 3 Construction d une vue unifiée à partir de schémas de sources... 27 3.1 Introduction... 27 3.2 L'opération de «matching»... 27 3.3 Différents types de matching... 28 3.4 Les principales approches de matching... 30 3.4.1 TranScm... 30 3.4.2 LSD (Learning Source Descriptions for Data Integration)... 31 3.4.3 SemInt... 32 i

3.4.4 Vues globales... 33 3.4.5 ARTEMIS... 34 3.4.6 Cupid... 35 3.4.7 Clio (IBM Almaden et Univ. de Toronto)... 36 3.5 Conclusion... 36 4 Les ontologies... 38 4.1 Introduction... 38 4.2 Définition de l ontologie... 38 4.2.1 Définition philosophique... 38 4.2.2 Les ontologies dans le cadre de la science informatique... 39 4.3 Les ontologies en médecine... 39 4.3.1 Les principales ontologies médicales... 39 4.3.1.1 ON9... 39 4.3.1.2 GALEN... 40 4.3.2 UMLS... 40 4.3.3 Nautilus... 40 4.3.4 MED... 41 4.3.4.1 Ontologie du cancer du sein... 41 4.3.4.2 MENELAS... 42 4.4 Conclusion... 42 5 Contrôle de données... 43 5.1 Les différentes approches de contrôle de données... 43 5.1.1 L approche de Damiani... 43 5.1.2 L approche de Bertino... 43 5.1.3 La première approche de Gabillon... 44 5.1.4 La deuxième approche de Gabillon... 44 5.1.5 L approche de Michiharu... 45 5.2 Conclusion... 46 6 Le système DRUID... 47 6.1 Introduction... 47 6.2 Principe de DRUID... 47 6.3 Fonctionnement de DRUID... 48 6.3.1 Saisie des données... 48 6.3.2 Consultation des données... 49 6.4 L analyseur de DRUID... 50 7 Conclusion du chapitre... 51 Chapitre III : Création d une vue unifiée... 53 1 Introduction... 53 2 Vue unifiée... 55 2.1 Introduction... 55 2.2 Les ontologies... 57 2.2.1 L ontologie de structure... 57 2.2.2 L ontologie de valeurs... 58 2.3 Description XML d une base de données à l aide des ontologies.. 59 2.3.1 Le document XML décrivant la base de données... 59 ii

2.3.2 Règles de description... 61 2.3.3 Etape 1 : Description des relations... 63 2.3.4 Etape 2 : Description des attributs... 65 2.3.5 Etape 3 : Description des liens entre les relations... 66 2.3.6 Conclusion... 67 2.4 Le schéma médiateur... 68 2.4.1 Le document XML contenant le schéma médiateur... 68 2.4.2 Le document XML contenant les règles de mapping... 68 2.4.2.1 Les types des règles de mapping... 69 2.4.2.2 Les cardinalités de règles de mapping... 70 2.4.2.3 Fonction de conversion... 71 2.4.3 Règles de génération du schéma médiateur... 71 2.4.4 Génération du schéma médiateur... 74 2.4.4.1 Génération des relations du schéma médiateur... 75 2.4.4.2 Génération des attributs du schéma médiateur... 77 2.4.4.3 Insertion des clés primaires des relations du schéma médiateur... 78 2.4.4.4 Optimisation du schéma médiateur... 78 2.4.4.5 Traitement des liens entre les relations du schéma médiateur... 79 2.4.4.6 Conclusion... 80 2.5 Modification du schéma médiateur... 81 2.5.1 Processus d insertion... 81 2.5.1.1 Ajout d une relation dans un schéma source... 81 2.5.1.2 Ajout d un attribut dans une relation du schéma source... 82 2.5.1.3 Ajout d une clé primaire dans une relation du schéma source... 83 2.5.2 Processus de suppression... 84 2.5.2.1 Suppression d une relation dans un schéma source... 84 2.5.2.2 Suppression d un attribut dans un schéma source... 85 3 Conclusion du chapitre... 86 Chapitre IV : Médiation et protection... 88 1 Introduction... 89 2 Médiateur... 89 2.1 Introduction... 89 2.2 Architecture logicielle... 89 2.3 Traitement des requêtes... 91 2.3.1 Décomposition des requêtes... 91 2.3.2 Traduction de la requête... 91 2.3.3 Exécution d une requête... 91 2.3.4 Interaction médiateur ontologie de valeurs... 92 2.4 Algorithme de traitement de la requête... 93 2.5 Conclusion... 97 3 Contrôle de données... 98 3.1 Introduction... 98 iii

3.2 Utilisation de DRUID comme système d entrée pour le médiateur98 3.2.1 Saisie des données avec DRUID... 99 3.2.2 Consultation des données avec DRUID... 100 3.3 Génération des DTDs... 102 3.3.1 Génération des DTD SSD... 102 3.3.1.1 Présentation des DTDs SSD... 102 3.3.1.2 Le processus de génération des DTDs SSD... 104 3.3.1.3 L algorithme de génération des DTD SSD:... 106 3.3.2 Génération des DTD WSD... 109 3.3.2.1 Présentation des DTDs WSD... 109 3.3.2.2 Le processus de génération des DTDs WSD... 110 3.3.2.3 L algorithme de génération de la DTD WSD... 111 3.3.3 Filtrage des DTDs... 111 3.3.3.1 Problématique... 111 3.3.3.2 Proposition... 112 3.3.3.3 Algorithme de filtrage des DTDs... 113 3.3.4 Modification du document... 115 3.3.4.1 Filtrage d un document en consultation... 115 3.3.4.2 Algorithme de filtrage... 116 3.4 Conclusion... 118 4 Conclusion du chapitre... 119 Chapitre V : Prototypes... 120 1 Introduction... 121 2 Architecture globale... 122 2.1.1 Générateur de schéma médiateur... 123 2.1.2 Médiateur... 123 2.1.3 Contrôle de données... 123 2.1.4 DRUID... 124 3 Vue unifiée... 124 3.1 Introduction... 124 3.2 L ontologie de structure... 125 3.3 L ontologie de valeurs... 127 3.4 Présentation du prototype 1 : Descripteur de bases de données... 129 3.4.1 Diagramme des classes du descripteur de base de données.. 129 3.4.2 Diagramme de séquence du processus de description... 131 3.4.2.1 Description de la relation... 131 3.4.2.2 Description d un attribut... 132 3.4.3 Exemple: Description d une relation... 133 3.5 Présentation du prototype 2 : Générateur de schéma médiateur... 135 3.5.1 Diagramme des classes du générateur de schéma médiateur 135 3.5.2 Diagramme des séquences : Génération des relations... 137 3.5.3 Diagramme de séquence : Génération des attributs... 138 3.5.4 Exemple: Génération du schéma médiateur... 138 4 Médiateur... 141 4.1 Présentation du prototype 3 : Médiateur... 141 iv

4.2 Fonctionnement du prototype... 145 4.2.1 Règles des traitements des requêtes... 145 4.2.2 Traitement de l expression du FROM... 146 4.2.3 Traitement de l expression du SELECT... 147 4.2.4 Traitement de l expression du WHERE... 147 4.2.5 Traduction des requêtes... 148 4.3 Diagrammes des classes du médiateur... 149 4.4 Présentation des classes... 149 4.5 Diagramme de séquences... 150 5 Contrôle des données... 151 5.1 Introduction... 151 5.2 Présentation du prototype 4 : Génération et filtrage de DTDs... 152 5.3 Digrammes des classes... 153 5.4 Diagramme de séquences... 155 6 Conclusion... 155 CHAPITRE VI : CONCLUSION... 156 1 Contribution... 156 1.1 Schéma médiateur... 156 1.2 Saisie et Contrôle des données... 157 2 Perspectives... 157 2.1 Orienté-objet... 158 2.2 Utilisation du système dans un cadre professionnel... 158 2.3 Enrichir l ontologie... 158 2.4 Un système d apprentissage... 158 2.5 Interface de validation... 159 2.6 Interface d interrogation... 159 CHAPITRE VII : Bibliographie... 160 ANNEXES... 172 v

Table des figures Figure 1 : Les différents modules qui composent SICOM...3 Figure 2 : Architecture de GARLIC...11 Figure 3 : Architecture globale d un système de médiation...12 Figure 4 : Les deux types d'approches : LAV et GAV...13 Figure 5 : Architecture de PICSEL...17 Figure 6 : Architecture du médiateur OBSERVER...19 Figure 7 : Architecture de DISCO...20 Figure 8 : Architecture de TSIMMIS...22 Figure 9 : Architecture de Momis...24 Figure 10: Deux arbres de deux parties de bases de données...36 Figure 11: Fonctionnement de DRUID...49 Figure 12 : Architecture de notre système de médiation...54 Figure 13 : Le diagramme des classes de notre ontologie de structure...58 Figure 14 : DTD du document décrivant la base de données...59 Figure 15 : Document décrivant la base de données BD...61 Figure 16 : Processus de description de base de données...63 Figure 17 : Une partie de l'ontologie de structure...64 Figure 18 : DTD du schéma médiateur...68 Figure 19 : DTD du document des règles de mapping...69 Figure 20 : Document de règles de mapping...71 Figure 21 : Processus de génération de schéma médiateur...75 Figure 22 : Document XML contenant des règles de mapping...77 Figure 23 : Processus de modification du schéma médiateur (Insertion Relation)...82 Figure 24 : Processus de modification du schéma médiateur (Insertion Attribut)... 82 Figure 25 : Processus de modification du schéma médiateur (Suppression Relation)...84 Figure 26 : Architecture du médiateur...90 Figure 27 : DTD du document contenant les résultats...92 Figure 28 : Une partie de l'ontologie médicale...93 Figure 29 Les étapes suivies par un document avant la saisie de ses informations dans une base de données...99 Figure 30: Processus de saisie des informations avec le système...100 Figure 31 : Processus de consultation des données avec DRUID...101 Figure 32 : Les étapes de génération des DTDs...102 Figure 33 Exemple de schéma de base de données...103 Figure 34 Exemple d une DTD SSD...104 Figure 35 : Processus de génération des DTDs SSD...104 Figure 36 DTD ordonnée et non ordonnée...110 Figure 37 DTD WSD pour la saisie par un médecin d un document prescription... 110 Figure 38 : Processus de transformation d'une DTD SSD en une DTD WSD...110 vi

Figure 39 : Processus de filtrage des DTDs...112 Figure 40 : Filtrage d'un document en consultation...116 Figure 41 : Architecture globale du système...122 Figure 42 : Architecture du générateur de vue unifiée...125 Figure 43 : Une partie de notre ontologie de structure...126 Figure 44 : Schéma des classes de l ontologie de structure...127 Figure 45 : Schéma des classes du descripteur de bases de données...129 Figure 46 : Document XML décrivant la relation "Patient"...134 Figure 47 : Schéma des classes du générateur de schéma médiateur...135 Figure 48 : Document XML contenant le schéma médiateur...139 Figure 49 : Document XML contenant les règles de mapping...141 Figure 50: Architecture du médiateur...141 Figure 51 : Interface graphique permettant à l utilisateur de formuler sa requête... 142 Figure 52 : Résultats de l exécution des différentes requêtes...143 Figure 53 : Interface graphique permettant à l utilisateur de formuler sa requête... 144 Figure 54 : Résultats de l exécution des différentes requêtes...144 Figure 55 : Schéma des classes du médiateur...149 Figure 56 : L'architecture du prototype de contrôle de données...152 Figure 57 Exemple de génération d une DTD SSD...153 Figure 58 : Diagramme de classes du prototype...154 Figure 59 : Une partie de l ontologie du dossier médical...196 Figure 60 : Document XML décrivant la base de données BD1...207 Figure 61 : Document XML décrivant la base de données BD2...209 Figure 62 : Document XML contenant le schéma médiateur...252 Figure 63 : Document XML contenant les règles de mapping...256 vii

Liste des tableaux Tableau 1 : récapitulatif des systèmes de médiation...25 Tableau 2 : récapitulatif des systèmes de fédération...26 Tableau 3 : structure de deux schémas hétérogènes...28 Tableau 4 : Les différentes cardinalités du mapping...29 Tableau 5 : Tableau comparatif des différentes approches de matching...37 Tableau 6 : différentes approches de contrôle...46 Tableau 7 : Tableau présentant les différents types d hétérogénéités....56 Tableau 8 : Tableau présentant les différents types d hétérogénéités ainsi que leur résolution....87 Tableau 9 : Table reliant les concepts des deux ontologies...128 Tableau 10: Tableau contenant une partie du contenu de la relation Diagnostic de la base de données BD1...194 Tableau 11: : Tableau contenant une partie du contenu de la relation Patient de la base de données BD1...194 viii

Résumé Le travail de ma thèse s inscrit dans la problématique de l intégration de bases de données et de la confidentialité des données échangées. Le but est de résoudre les problèmes liés à la création des schémas médiateurs. Nous avons proposé une solution qui génère une vue unifiée de différentes bases de données en minimisant au maximum les interventions manuelles. Pour ce faire nous décrivons en premier chaque schéma à intégrer à l aide de termes issus d une ontologie. Cette description crée pour chaque base de données un document XML. Ces documents sont ensuite utilisés pour la création du schéma médiateur et des règles de correspondances. Afin d exploiter le schéma médiateur nous avons créé un médiateur qui permet aux utilisateurs d interroger les différentes bases de données via la vue unifiée. Afin d alléger le processus de saisie des données nous avons utilisé le système DRUID qui permet aux utilisateurs de saisir les données sous forme de documents qui seront ensuite traités pour alimenter les bases de données. Afin de gérer la confidentialité dans la saisie et la consultation des données nous avons proposé d utiliser des modèles de documents (DTD) pour chaque profil utilisateur, que ce soit pour les documents en écriture ou en lecture. Ces DTD sont générés automatiquement à partir du schéma de la base de données et modifiées ensuite pour chaque type d utilisateur à partir des droits sur la base de données. Notre solution a été appliquée dans le domaine médical en consultant un dossier médical réparti. Mots-clés : Intégration de bases de données, Médiateur, Schéma médiateur, Règles de mapping, XML, Ontologie, DTD, XML-schema, Echange de données, Partage d'information. ix

Abstract My thesis deals with the the database integration problems and the confidentiality of the exchanged data. My aim, however, is to solve the problems related to the mediator schema ceation. We proposed a solution which will generate a global view of the different databases by reducing, considerably, the manual interventions. To achieve this, we will describe, at the beginning, each schema using ontologic terms. This description will create for each database an XML file which will be used,then, for the creation of mediator schema and the matching rules. In order to process the mediator schema, we created a mediator that allows users to query the different databases trough the global view. To lighten the data input process, we used the DRUID system which allows users to input their data under the form of files which will be processed, then, to populate the databases. To handle the confidentiality of the data entry and access, however, we proposed the use of (DTD) documents models and files to each type of user s profil, whether, for writing or reading files. These DTD are generated, automatically, from the database schema and then modified, for each user type according to their rights on the database. Our solution was applied in the medical domain through the consulting of a distributed medical file. Keywords: database integration, mediator schema, mapping rules, ontology, DTD, XML- schema, data exchange, information sharing. x

Chapitre I : Introduction Chapitre I : Introduction... 1 1 Position du problème...1 2 Contexte de la thèse : Le projet SICOM... 2 3 Objectif... 4 4 Organisation de la thèse... 4 1 Position du problème La diversité des systèmes rend difficile leur communication, car ces systèmes peuvent concerner un même métier mais être bâtis avec des modèles différents. Leurs diversités sont classées dans deux types d hétérogénéités, l hétérogénéité sémantique et l hétérogénéité structurelle. La première concerne des relations et attributs ou nous pouvons avoir deux informations identiques qui portent des noms différents. Par exemple dans une première base de données un attribut est appelé «Nom» alors que dans la deuxième base de données le même attribut est appelé «libellé». Nous pouvons également avoir des données ayant les mêmes dénominations mais qu elles soient différentes dans leur contenu. Par exemple dans un premier schéma la relation «Diagnostic» contient les maladies d un patient alors que dans le deuxième schéma la même relation contient un dictionnaire de maladies. L hétérogénéité structurelle quant à elle, réside dans le fait qu une même information est modélisée de manière différente dans différents schémas de bases de données. Par exemple dans une première base de données d un magasin les informations sur les produits sont contenues dans une seule relation composée du code du produit, de son libellé et du nom du fournisseur. La deuxième modélise les informations des produits sur trois relations : la première contient les données sur le produit (sa quantité et son prix), la deuxième relation stocke les informations sur les fournisseurs alors que la troisième recense les clients du magasin. Les différences dans les modèles exposées ci-dessus rendent difficile le partage d information. A la fin des années 70, des recherches ont été effectuées dans ce domaine et ont donné naissance aux bases de données fédérées. Ces bases de données reposent sur un modèle pivot, créé manuellement et est utilisé pour interroger les différentes bases de données. Dans les années 90 les techniques à base de médiateurs [WIE 92] permettent l émergence de nouvelles architectures de médiation. Un médiateur est un outil qui permet aux utilisateurs d interroger différentes bases 1

de données hétérogènes. Il se repose sur une ontologie ou une vue unifiée [WIE 92], permettant ainsi à l utilisateur d avoir l impression qu il interroge une seule base de données. Nous en étudions sa structure dans le chapitre état de l art. Comme pour les bases de données fédérées, la création de la vue unifiée pose problème, car elle nécessite de multiples interventions des utilisateurs, ce qui la rend délicate. Par ailleurs une autre difficulté se pose dans les deux approches à savoir la modification ou l insertion de schémas de sources de données. Cette opération nécessite, dans la plupart du temps, une reconstruction du modèle pivot dans les bases de données fédérées ainsi que celle de la vue unifiée dans les médiateurs. Nous devons donc définir un système de médiation qui permet de résoudre cette problématique. La saisie des données reste toujours désagréable pour les utilisateurs. En effet l utilisateur voulant saisir ses données se retrouve devant des formulaires de cases à remplir et il est difficile de retrouver la souplesse des papiers. Afin de combiner la puissance des approches base de données et base documentaire nous proposons à l utilisateur de saisir et consulter ses informations en utilisant le système DRUID [BAD 03a], que nous rattacherons à notre système de médiation. DRUID permet à l utilisateur de saisir ses informations dans un document semi-structuré où chaque paragraphe de texte libre est balisé. Ce document est ensuite traité afin d en extraire les informations et de remplir la base de données. L utilisateur qui interroge la base de données à travers DRUID récupère les tuples résultats ainsi que le document qui a alimenté la base de données. Cette solution est certes performante pour la saisie et la consultation des données, mais il est difficile de contrôler les informations entrantes et sortantes. Ces données sont dans la plupart des cas confidentielles et il est difficile de contrôler l accès de chaque utilisateur. Cette problématique est résolue dans les SGBDR quand les données manipulées sont sous forme de tuples, mais elle devient plus compliquée quand on traite des documents. Nous devons donc gérer cette confidentialité, et ce en proposant un système qui permet de contrôler l accès des utilisateurs aux données selon leurs droits respectifs. 2 Contexte de la thèse : Le projet SICOM La problématique de l intégration des bases de données concerne bien évidemment le domaine médical où il est important de connaître le dossier médical d un patient, dossier qui est réparti sur plusieurs bases de données. C est dans ce contexte que le projet SICOM (Systèmes d Information COMmunicants pour la santé) est né. Son but est de créer et de 2

partager l information médicale dans le cadre des réseaux ville-hôpital (Hospitalisation A Domicile). L'hospitalisation à domicile (HAD) est une alternative à l'hospitalisation prolongée. Elle permet d'assurer au domicile du patient tous les soins médicaux et paramédicaux prescrits par un médecin (prise en charge globale). (1) Modèles adaptatifs d interfaces utilisateurs Outils pour la mobilité (11) Equipements communicants (6) BD médicale Alpha-num. (7) Gestion des alertes Gestion des (2) informations médicales réparties Visioconférence - (5) Système - d évaluation (3) BD Administr. BD multimédia Entrepôt Gestion administrateur (création des comptes, etc.) (8) Traçabilité Gestion des accès et de l historique (9) Système de communication (4) Confidentialité Authentification Cryptage (10) Figure 1 : Les différents modules qui composent SICOM La Figure 1 présente l architecture du projet SICOM, ce travail consiste à trouver une solution pour faire communiquer les systèmes d informations médicales réparties. En effet, le patient étant soigné dans plusieurs structures (domicile, médecin traitant, hôpital), son dossier est géré par différents systèmes et nous nous trouvons alors en présence d un dossier médical réparti. En télémédecine, l accès aux informations de la part de différents utilisateurs est le premier besoin à satisfaire. Ainsi, chaque pièce rédigée au sujet d un patient doit être disponible à tout professionnel de santé qui prend en charge ce dernier. Nous devons, de ce fait, fournir un point d accès à toutes ces pièces, et ce quel que soit leur auteur, leur localisation et leur type. Lorsque les données sont informatisées, la communication implique une liaison entre les logiciels utilisés par les différents praticiens. Cette liaison concerne la transmission ou le partage de données entre les bases de données intégrées aux logiciels. Nous devons alors définir un système permettant d intégrer différentes bases de données 3

hétérogènes et présenter aux utilisateurs une interface lui permettant de récupérer les informations stockées sur les différents sites. 3 Objectif Le but de ce travail consiste à fournir un système d information, qui d une part facilitera aux utilisateurs la manipulation des informations et d autre part permettra aux différents systèmes placés dans différents sites d échanger les informations sans modification des systèmes existants. Il devra être facile à manipuler : l utilisateur ne sera pas obligé de passer par un formulaire pour saisir ses données, ni d apprendre un langage de requêtes pour interroger sa base de données, ni de changer de système pour communiquer avec les autres. Les directives de mes recherches ont donc concerné les deux points suivants : Intégration : Notre système devra permettre l intégration de différentes bases de données. Ce point constitue le centre de la problématique d interopérabilité de différentes sources. Pour ce faire, nous devons présenter une solution qui améliore l étape de création des schémas médiateurs. Ce schéma permettra aux utilisateurs d interroger des sources d'informations multiples, les libérant de ce fait de devoir identifier les sources appropriées et de combiner manuellement les informations provenant des différentes sources. Confidentialité : Le système est utilisé par différents types d utilisateurs. Les données stockées sont dans la plupart du temps confidentielles. Il est donc important de prendre en compte les droits d accès aux données à la fois dans la saisie et dans la consultation. Nous devons alors proposer un modèle de confidentialité permettant de filtrer les données selon les profils des utilisateurs et leurs droits d accès à la base de données. Ce modèle devra être créé le plus automatiquement possible. 4 Organisation de la thèse Chapitre 2 : ETAT de l art Dans le deuxième chapitre nous étudierons l état de l art où nous exposerons les différentes approches d intégration de bases de données. Elles regroupent deux types 4

d approches : les bases de données fédérées et les systèmes de médiations. Nous aborderons ensuite les différents systèmes de construction de vues unifiées à partir de schémas de sources de données existantes. Le troisième point de notre recherche bibliographique concernera le contrôle des informations confidentielles. Nous enchaînerons par la présentation des ontologies médicales avant de terminer le chapitre par le système DRUID qui permet la saisie et la consultation de données sous forme de documents. Chapitre 3 : Création d une vue unifiée Le chapitre 3 abordera notre proposition à la problématique de notre thèse. Cette proposition est composée de deux parties. La première nous permet de décrire chaque base de données à intégrer afin de résoudre les hétérogénéités entre les différents schémas. La deuxième utilise ces descriptions afin de générer la vue unifiée. Nous exposerons ensuite comment les modifications des schémas sources influencent celles du schéma médiateur. Chapitre 4 : Médiation et protection Dans ce chapitre nous montrerons comment la vue unifiée est exploitée. Pour ce faire nous avons conçu un médiateur qui utilise cette vue et qui permet aux utilisateurs de formuler leurs requêtes sur l ensemble des bases de données sources. Nous montrons aussi la solution proposée afin de protéger les informations stockées dans ces bases de données et manipulées par les différents types d utilisateurs. Chapitre 5 : Prototype Ce chapitre a pour objectif de valider les propositions faites dans les chapitres 3 et 4. Nous avons développé plusieurs prototypes, chacun permettant de valider une partie de notre proposition. 5

6

Chapitre II : ETAT de l art Chapitre II : ETAT de l art...7 1 Introduction...8 2 Les différentes approches d intégration de bases de données...9 2.1 Bases de données fédérées...9 2.1.1 Les principaux systèmes fédérés...9 2.1.1.1 Information Manifold...9 2.1.1.2 InfoMaster...10 2.1.1.3 L approche de Florescu...10 2.1.1.4 GARLIC...10 2.1.1.5 Intégrateur de données biologiques...11 2.2 Les Médiateurs...12 2.2.1 Classification des approches de médiation...13 2.2.2 Les principaux systèmes de médiation...14 2.2.2.1 E-XMLMEDIA...14 2.2.2.2 MIX...15 2.2.2.3 PICSEL...16 2.2.2.4 SIMS...17 2.2.2.5 OBSERVER...18 2.2.2.6 DISCO...19 2.2.2.7 TSIMMIS...21 2.2.2.8 EDC...23 2.2.2.9 MOMIS...23 2.3 Conclusion...24 3 Construction d une vue unifiée à partir de schémas de sources...27 3.1 Introduction...27 3.2 L'opération de «matching»...27 3.3 Différents types de matching...28 3.4 Les principales approches de matching...30 3.4.1 TranScm...30 3.4.2 LSD (Learning Source Descriptions for Data Integration)...31 3.4.3 SemInt...32 3.4.4 Vues globales...33 3.4.5 ARTEMIS...34 3.4.6 Cupid...35 3.4.7 Clio (IBM Almaden et Univ. de Toronto)...36 3.5 Conclusion...36 4 Les ontologies...38 4.1 Introduction...38 4.2 Définition de l ontologie...38 4.2.1 Définition philosophique...38 4.2.2 Les ontologies dans le cadre de la science informatique...39 7

4.3 Les ontologies en médecine...39 4.3.1 Les principales ontologies médicales...39 4.3.1.1 ON9...39 4.3.1.2 GALEN...40 4.3.2 UMLS...40 4.3.3 Nautilus...40 4.3.4 MED...41 4.3.4.1 Ontologie du cancer du sein...41 4.3.4.2 MENELAS...42 4.4 Conclusion...42 5 Contrôle de données...43 5.1 Les différentes approches de contrôle de données...43 5.1.1 L approche de Damiani...43 5.1.2 L approche de Bertino...43 5.1.3 La première approche de Gabillon...44 5.1.4 La deuxième approche de Gabillon...44 5.1.5 L approche de Michiharu...45 5.2 Conclusion...46 6 Le système DRUID...47 6.1 Introduction...47 6.2 Principe de DRUID...47 6.3 Fonctionnement de DRUID...48 6.3.1 Saisie des données...48 6.3.2 Consultation des données...49 6.4 L analyseur de DRUID...50 7 Conclusion du chapitre...51 1 Introduction Notre sujet de thèse a été effectuée dans le cadre du projet SICOM et concerne la problématique de l intégration de bases de données. Avant de présenter notre solution, nous étudions dans ce chapitre l état de l art de l existant. Ce chapitre est composé de cinq parties : Intégration et interrogation de bases de données hétérogènes : présentation des systèmes de médiations et des bases de données fédérées, Construction d une vue unifiée à partir de schémas de sources de données existantes : présentation des approches de créations de schémas médiateur, Contrôle d accès aux informations confidentielles : présentation des approches de contrôle de données, 8

Etude des ontologies médicales existantes : présentation d une vue générale sur les ontologies médicales, Le système DRUID : Nous présenterons le système DRUID qui permet à l utilisateur de consulter les informations sous forme de documents. 2 Les différentes approches d intégration de bases de données Actuellement de nombreux systèmes communiquent entre eux en échangeant des informations. La plupart de ces systèmes sont hétérogènes, d où la difficulté de partager les informations. Deux types d approches essaient de résoudre cette problématique, les bases de données fédérées [SHE 90] et les médiateurs [WIE 92]. 2.1 Bases de données fédérées Les bases de données fédérées présentent aux utilisateurs une vue unique des données, implémentées sur plusieurs systèmes hétérogènes. Différents systèmes fédérés ont été développés, nous en présentons quelques-uns ci-dessous. 2.1.1 Les principaux systèmes fédérés 2.1.1.1 Information Manifold Information Manifold [IVE 99] [LEV 96] [LEV 95] est un system de décision logique pour intégrer des sources d'informations basées sur le Web, développé par AT&T en 1995/96. Il présente à l'utilisateur une vue globale unique, appelé World View, sur laquelle il formule ses requêtes. Cette vue est une collection de relations virtuelles et de classes qui décrivent le contenu des sources d'informations. Son modèle de données est relationnel, augmenté avec les hiérarchies de classes. Chaque fois qu un utilisateur accède au système il identifie les sources pertinentes et exécute sur elles ses sous-requêtes. Une fois les requêtes exécutées l'utilisateur est responsable de nettoyer l'information redondante. 9