Intégration de données Intégration de données (alain.bouju@univ-lr.fr) Alain Bouju (http://perso.univ-lr.fr/abouju) Exemple : intégration de données géographiques Ecole d'été Web Intelligence 2013 «Le Web des objets» 2-6/09/2013 Domaine des Hautannes Saint-Germain-Au-Mont-d'Or 1
Intégration de données Intégration de données 2
Intégration de données Intégration de données Gestion de données traditionnelle Bases de données homogènes (modèle/schéma uniques) Architecture centralisée ou distribuée, transparente au niveau logique 3
Intégration de données Intégration de données Évolution vers le "mélange" de données en provenance de plusieurs sources Sources d information nombreuses et variées SGBD relationnels/xml, pages Web HTML, tableurs, fichiers, applications, formulaires, services web, Interfaces d accès variées Langages d interrogation: SQL, XPath, XQuery, URL, Modèle de données: relationnel, XML, HTML, tableurs Protocoles de communication: JDBC, ODBC, SOAP, HTTP Interfaces d appel: ligne de commande, API, formulaire, interface graphique 4
Intégration de données Intégration de données Objectif général : utiliser ces données comme si elles constituaient une seule base de données homogène 5
Objectif Objectif Plus particulièrement, l intégration de données doit fournir : un accès (requêtes, éventuellement mises-à-jour) uniforme (comme si c était une seule BD homogène) à des sources (pas seulement des BD) multiples (déjà deux est un problème) autonomes (sans affecter leur comportement, indépendant des autres sources ou du système d intégration) hétérogènes (différents modèles de données, schémas) structurées (ou semi-structurées) 6
GiMoDIG GiMoDig L'objectif de ce projet européen était de fournir à un utilisateur mobile des données spatiales par l'intégration de données en temps réel et de la généralisation 7
OGC OGC Open Geospatial Consortium http://www.opengeospatial.org/ L'OGC est une organisation internationale à but non lucratif fondée en 1994. L'objectif est de promouvoir des standards ouverts dans le domaine de la géomatique. Il y a de nombreux membres : NASA, NOAA, Google, EPFL, MINES ParisTech, MIT, METEO-FRANCE, LiRiS, IRSTV, Esri,... 8
OGC OGC Quelques standards : GML Geography Markup Language WMS - Web Map Service WFS - Web Feature Service KML - Keyhole Markup Language SensorML - Sensor Model Language 9
Enjeux Enjeux Accès simple, rapide et efficace aux informations disponibles sur le web Texte/HTML, images, vidéo XML, fils RSS, cartes Le web caché Services web Commerce électronique: comparateurs de prix, intégration de magasins en ligne Diminuer les coûts de développement 10
Applications Applications Données d'entreprises Données Scientifiques Données Web 11
Caractéristiques des sources de données Caractéristiques des sources de données qui rendent l intégration de données difficile Distribution Autonomie Hétérogénéité 12
Distribution Distribution Les données sont stockées sur des supports répartis géographiquement Caractéristique importante: l échelle Avantages Disponibilité: ne tombent pas en panne en même temps Temps d accès: partage de la charge, parallélisme 13
Distribution Distribution Problèmes Les temps de communication Localisation des sources contenant les données pertinentes Hétérogénéité en termes de puissance de traitement et de charge Les sources peuvent être temporairement indisponibles 14
Autonomie Autonomie Conception : les sources décident de leur propre modèle de données, langage d interrogation, sémantique des données. Communication : les sources décident quand et comment répondre aux questions d autres sources 15
Autonomie Autonomie Exécution : les sources décident de l ordre d exécution des transactions locales ou des opérations externes Peu ou pas d informations fournies sur les détails internes d exécution Association des sources : connexion et déconnexion des sources partage de données et des fonctions 16
Hétérogénéité Hétérogénéité Concerne les données, les modèles, les langages, Système homogène : même logiciel gérant les données sur tous les sites même modèle de données / langage d accès même univers de discours / sémantique 17
Hétérogénéité Hétérogénéité Système hétérogène : qui n est pas homogène sur au moins un critère Divers niveaux et degrés d hétérogénéité Aussi: hétérogénéité de la puissance / des capacités de traitement des sites 18
Architecture générale d intégration Architecture générale d intégration Requêtes Réponses Modèle global Niveau d'intégration Données matérialisées Adaptateur1 Source1 Modèle S1... Adaptateuri Modèle Si Sourcei 19
Deux approches Deux approches Intégration matérialisée -> entrepôt de données Les données provenant des sources sont transformées et stockées sur un support spécifique (entrepôt de données). L interrogation s effectue comme sur une BD classique 20
Deux approches Deux approches Intégration virtuelle -> médiateur Les données restent dans les sources Les requêtes sont exprimées sur le schéma global, puis décomposées en sous-requêtes sur les sources Les résultats des sources sont combinés pour former le résultat final En pratique on peut avoir des architectures intermédiaires, entre ces deux extrêmes 21
Architecture d entrepôt Architecture d entrepôt Réponses Entrepôt Chargeur1 D1+...+Dn Chargeuri... Source1 Migration de Données Requêtes Sourcei 22
Architecture de médiation Architecture de médiation Réponses Médiateur Adaptateur1 Source1 Adaptateuri... Migration de Requêtes Requêtes Sourcei 23
Entrepôt ou médiateur? Entrepôt ou médiateur? Médiateur : accès direct aux sources approche «paresseuse», pas de matérialisation migration de requêtes vers les sources avantages : données toujours fraîches, plus facile d ajouter de nouvelles sources, plus grande échelle, distribution de l effort inconvénients : performances, traduction de requêtes, capacités différentes des sources 24
Entrepôt ou médiateur? Entrepôt ou médiateur? Entrepôt de données : accès efficace à une copie des données matérialisation des sources au niveau du modèle global migration de données vers l entrepôt avantages : performances, personnalisation des données (nettoyage, filtrage), versions inconvénients : données pas toujours fraîches, cohérence, gestion des mises-à-jour, gestion de gros volumes de données 25
Entrepôts de données Entrepôts de données L approche la plus populaire d intégration de données Gros avantage: performances Autre gros avantage: contrôle plus facile de l hétérogénéité des données Utilisation pour les systèmes décisionnels OLAP 26
Entrepôts de données Entrepôts de données Transformation de données pour alimenter l entrepôt Chargeurs = systèmes ETL («Extract, Transform, Load») Outils graphiques pour définir des flots de traitements/transformations Une fois le flot de traitement défini appliqué au contenu des sources 27
Talend Talend (logiciel open source) http://www.talend.com Produits Talend Open Studio for Data Integration (ETL) Talend Open Studio for Data Quality Talend Open Studio for Big Data... 28
Médiateurs Médiateurs Bien que moins utilisés en pratique, ils ont plus de potentiel Meilleur passage à l échelle Acceptent mieux les changements dynamiques (nouvelles sources) mieux adaptés à l intégration de sources web En entreprise: EII «Enterprise Information Integration» BEA Liquid Data (AquaLogic Data), IBM InfoSphere Federation Server, 29
Schémas d intégration Schémas d intégration Problèmes Intégration de schéma: comment définir un schéma (modèle) global d intégration à partir des schémas (modèles) des sources? Fusion de données: comment rendre compatibles, transformer les données en provenance des sources? Mappings/vue d intégration: comment décrire le lien entre le schéma global et les schémas des sources? 30
Schémas d intégration Schémas d intégration Modèle de données global Relationnel: mieux maîtrisé XML: plus riche et flexible Sémantique (ontologie): intégration sémantique Mixte 31
Intégration de schéma Intégration de schéma Le lien entre schéma global et schémas locaux est défini à travers un mapping (correspondance structurelle) Deux façons principales de définir ce lien Le schéma global en fonction des schémas locaux -> «global as view» Approche ascendante: on part des sources pour produire le schéma global Les schémas locaux en fonction du schéma global -> «local as view» Approche descendante: on fixe le schéma global et on décrit les sources par rapport à ce schéma fixé 32
Choix du modèle de données Choix du modèle de données L'adaptateur permet de réduire l'hétérogénéité des sources Degré de liberté supplémentaire qu'il faut utiliser pour simplifier l'intégration mais lorsqu'on définit l'adaptateur d'une source on ne sait pas d'avance dans quel(s) médiateur(s) elle sera utilisée 33
Choix du modèle de données Choix du modèle de données Idée: simplifier la fusion des données en adoptant un modèle de données structuré, général, flexible XML XML: format d'échange idéal bon aussi pour l'intégration Un adaptateur qui produit des données XML: Offre des données (semi-)structurées, donc plus "précises" que le texte ou HTML S'intègre plus facilement dans un médiateur/entrepôt quelconque 34
Mapping Mapping Mapping = correspondance entre le schéma global et les schémas des sources utilisé pour la traduction des requêtes et la structuration des résultats Diversité les schémas : relationnel, XML, orienté-objet, entitéassociation le mapping : couples d éléments correspondants, fonctions, contraintes, degrés de similarité 35
Mapping Mapping Objectifs contradictoires mapping complexe : précision, pouvoir d expression mapping simple : découverte automatique, composition, maintenance simplifiée Intégration : sources nombreuses, hétérogènes, ajouts de sources besoin de calcul (semi-)automatique du mapping un mapping simple, structuré est plus facile à maintenir solutions de compromis, privilégiant le mapping simple 36
Difficulté de définir le mapping Difficulté de définir le mapping En pratique la création du mapping prend > 50% de l effort d intégration! Il est important d'avoir des outils de génération (semi-)automatique mais la précision du mapping est très importante pour l intégration 37
Difficulté de définir le mapping Les difficultés Hétérogénéité des schémas et des modèles Les schémas ne captent jamais complètement la sémantique. Elle est partout, dans les données, les commentaires Il faut combiner plusieurs critères, proposer plusieurs variantes avec des degrés de confiance différents Technique générale: deux étapes Mise en correspondance d éléments individuels du schéma («matching») Utilisation des correspondances individuelles pour définir le mapping Union, jointure, composition, filtrage, agrégation, 38
Architectures distribuées Architectures distribuées Intégration de données architectures distribuées Les sources = serveurs de données, le médiateur = client Médiateur = serveur de données, l application = client Médiateur = architecture distribuée très simple Un client, plusieurs serveurs Les sources: seules des fonctionnalités d interrogation de données 39
Architectures distribuées Architectures distribuées En principe, on pourrait avoir: Des rôles mélangés client/serveur pour les sites -> architectures distribuées pair à pair Des sites qui offrent d autres services que l interrogation des données et qui collaborent -> applications réparties de gestion de données basés sur ces services 40
Applications réparties Applications réparties Applications réparties Accès à plusieurs ressources / applications individuelles Séparation entre «clients» et «serveurs» Architectures k-tiers 1-tier : centralisé 2-tiers: un serveur, plusieurs clients (client - serveur) 3-tiers: plusieurs serveurs, plusieurs clients (avec middleware) n-tiers: spécifique à la diffusion sur le web Ex: serveurs web avec architecture 3-tiers + clients web Clients n-tiers -> serveurs (n+1) - tiers 41
Communication Communication Application répartie -> communication entre les «tiers» qui réalisent des traitements Moyens de communication traditionnels Middleware RPC («Remote Procedure Call»): appel de fonctions à distance Moniteurs transactionnels («TP monitors»): bases de données «Object brokers»: RPC en orienté-objet (ex. CORBA, DCOM) Moniteurs d objets («object monitors»): «object broker» + «TP monitor» Middleware orienté-messages: asynchronisme, files d attente 42
Communication Communication EAI («Enterprise Application Integration») Communication entre systèmes plus hétérogènes (ex. entre systèmes 3-tiers) Ex: WebSphere MQ, BEA WebLogic Integration, webmethods, etc. Visent souvent aussi des aspects «workflow» (séquence de traitements) 43
Caractéristiques des services web Caractéristiques des services web Services web: évolution des architectures Architectures distribuées classiques -> web RPC, RMI, CORBA, DCOM -> HTTP, XML, services Web «homme-machine» -> web «machinemachine» 44
Avantages des services web Avantages des services web Adaptés à la communication sur le web Protocoles web bien connus et acceptés (HTTP, SMTP, ) Invocation à travers des pare-feux (à la différence de CORBA) 45
Services et données Services et données Gestion de données sur le web Web passif: chaque site fournit ses données sur demande Web actif: des applications indépendantes sur chaque site échangent des données à travers des services web 46
Capteurs Pour animaux Capteurs Pour animaux Capteur utilisant le système Argos Capteur utilisant le GPS + GSM http://www.smru.st-and.ac.uk/instrumentation/pageset.aspx?psr=274 47
Capteurs Pour animaux Capteurs Pour animaux 48
Capteurs RFID Radio-frequency identification Les balises RFID permettent une identification d'objet à partir d'un lecteur. Il y a trois types de balise RFID : Passive le lecteur fournit l'énergie pour le calcul et l'émission de la réponse Active il y a une source d'énergie dans la balise pour le calul et l'émission de la réponse Semi-passive il y a une source d'énergie pour le calcul mais c'est le lecteur qui fournit l'énergie pour la réponse 49
Mini Capteurs Quelques travaux sur les réseaux de capteurs Motes/Smartdust Capteurs a network of tiny wireless microelectromechanical systems http://robotics.eecs.berkeley.edu/~pister/smartdust/ http://sensorscope.epfl.ch (météo) 50
TinyOS TinyOS http://www.tinyos.net/ Berkeley Système d'exploitation pour les capteurs en réseau (sans fils) Il est de type évènementiel Il supporte par exemple : Atmel's Atmega128, imote2,... 51
Drones Capteur(s) Drones Capteur(s) Sensefly parrot http://www.sensefly.com/ Drone volant permettant Prises de vue et restitution en 3D Caméra 16 MP Image 3cm/pixel Elévation 5 cm 52
«Wave Glider» «Wave Glider» http://www.liquidr.com Robot pour l'océan Station météo, AIS, Vitesse relative 53
Robots Capteur(s) Robots Capteur(s) Nao aldebaran http://www.aldebaran-robotics.com/ Robot Capteurs : 2 caméras, 4 microphones, télémètre acoustique, 1 carte inertielle, 9 capteurs tactiles et 8 capteurs de pression. 54
ROS ROS Robot Operating System http://wiki.ros.org/ Système d'exploitation pour les robots Il est utilisé par exemple par NAO Facilite l'utilisation de nombreux capteurs en particulier dans le domaine de la robotique 55
GeoPKDD Geographic Privacy-aware Knowledge Discovery and Delivery http://www.geopkdd.eu Projet Européen : Dont l'objectif est l'étude des mouvements provenant de capteurs. L'étude des trajectoires à différents niveaux de détails. 56
MODAP MODAP Mobility, Data Mining, and Privacy http://www.modap.org Projet Européen : Dont l'objectif est dans la poursuite de GeoPKDD Avec en particulier les problèmes de «privacy» 57
North 52 52 North http://52north.org Projet de recherche qui est devenu une société Les objectifs sont le développement des : Sensor Web Enablement (SWE), Web Security and Geo-Rights Management Geo-Processing. 58
North 52 Sensor Web Sensor Web Une approche web des réseaux de capteurs : Avec les éléments suivants : Sensor Observation Service, Sensor Planning Service, Web Notification Service, Sensor Alert Service. 59
North 52 Sensor Observation (SOS) Sensor Observation (SOS) Sensor Observation Service a pour objectif la gestion de données provenant d'un ensemble de capteurs Avec en particulier les opérations suivantes : GetCapabilities, pour des informations sur le service GetObservation, pour des données et des observations de capteurs DescribeSensor, pour des informations sur les capteurs dans le langage Sensor Model Language (SensorML )... 60
North 52 Sensor Planning Service Sensor Planning Service 61
North 52 Web Notification Service Web Notification Service Le «Web Notification Service» fournit un système de notification pour des événements asynchrones (observation de phénomènes). 62
North 52 Security & Geo-Rights Management Security & Geo-Rights Management Pour les applications une gestion des droits et de la sécurité. WAS (Web Authentication Service): autorisation des utilisateurs et obtention d'un SAML (Security Assertions Markup Language) ticket WSS (Web Security Service): permet de restreindre l'utilisation de Service Web OGC WSC.Web (Web Security Client for the Web): Client facilitant l'utilisation de Services Web sécurisés 63
North 52 Geoprocessing Geoprocessing Pour proposer des services de traitements de l'information géographique Web Processing Service (WPS): pour effectuer des traitements sur des informations géographiques WPS-Udig Client: permet de faire des traitements en utilisant Udig. WPS Client API: une API pour effectuer des traitements en JAVA. 64
BPEL - Business Process Execution Language Business Process Execution Language Web Services Business Process Execution Language C'est un langage pour spécifier des processus basé sur des Services Web BPEL est un langage d'orchestration 65
Indexation de données capteur Modèle de données capteur «Indexation dans les bases de données capteurs temps réel» Guillaume Noël 66
Modèle de données capteurs Modèle de données capteur «Qualité des données capteurs pour les systèmes de surveillance de phénomènes environnementaux» Claudia Catalina GUTIERREZ RODRIGUEZ 67
Objets Mobiles Objets Mobiles (L3i-IRENAV) Stockage Entrepôt AIS (Automatic Identification System) Transpondeur Mode S 68
Preserve PRESERVE Plateforme sentinelle d'évaluation de la dégradation de l'environnement http://l3i-preserve.univ-lr.fr/preserveapilab/ Traitements Stockage Stockage Images Extraction Transformation Chargement Visualisation Entrepôt Temps réel, Médias Entrepôt Acquisition SGBD Amélioration des délais d intégration mobile Gestion des gros volumes de données (drone, robot, ) Interconnexion des données 69
Conclusion Conclusion Pour l'intégration flexible de données, dans le cas de sources distribuées sur le web format/modèle de données : XML moyen de communication : services web Architectures d'intégration très variées Entrepôt Médiateur Pair à pair Architecture répartie générale : fournisseur/consommateur de services 70
References http://georges.gardarin.free.fr/livre_xml.htm Architectures d'intégration de données Dan VODISLAV/Université de Cergy-Pontoise «Qualité des données capteurs pour les systèmes de surveillance de phénomènes environnementaux» http://liris.cnrs.fr/publis/?id=4746 «Indexation dans les bases de données capteurs temps réel» http://liris.cnrs.fr/publis/?id=2669 «Gestion de masses de données au sein de bases de données capteurs» Revue internationale de Géomatique 19, 2 (2009) pp.133150 71