Outils et méthodes de transformation de schéma [email protected] ISN.14.277 18 Novembre 2014 L’atelier du KEN INSPIRE sur les transformations de schéma • • • • Paris – Octobre 2013 Organisé par le KEN: Knowledge Exchange Network (Eurogeographics) Avec le support d’EuroSDR Objectifs: – présenter les différents outils et méthodes de transformation de schémas • Par les développeurs des outils • Ou par les utilisateurs – trouver des critères pertinents pour choisir les bons outils • Les présentations et les enregistrements filmés sont disponibles sur le site d’EuroGeographics http://www.eurogeographics.org/content/inspire-ken-eurosdr-workshop CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Géomédia pour INSPIRE XSLT - Stetl deegree Arc GIS pour INSPIRE Application schema for GeoServer HALE exoMS GeoConverter CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Talend Go Publisher La transformation de schéma est une histoire d’arbres et de tables Qu’est-ce qui vient en premier? L’arbre CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE ou la table ? Plusieurs sortes de modèles de données Monde réel Monde réel Métamodèle Métamodèle Schéma conceptuel Indépendant de la plate-forme Schéma conceptuel Schéma logique Transformation de schéma Schéma logique Schéma physique Données géo CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Dépendant de la plate-forme Transformation de données Schéma physique Données géo Au commencement était La table ou plutôt cette sorte de table! La plupart des données source ont un modèle logique basé sur une structure tabulaire (base de données relationnelles) CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE A la fin, les modèles INSPIRE Les modèles INSPIRE ont une structure hiérarchique CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE A la fin, les modèles INSPIRE La structure hiérarchique du modèle INSPIRE du thème “Dénominations géographiques” telle quelle apparaît dans l’interface de HALE (Humboldt Alignment Editor) CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE A la fin, les modèles INSPIRE Les attributs “atomiques” Les types de données (data types) Les classes d’objets (feature type) CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Des tables sources aux arbres cibles Méthode en une étape directement des tables source à la structure arborescente INSPIRE GML. CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Des tables sources aux arbres cibles Méthode en 2 étapes : faire les transformations dans un environnement de tables puis convertir dans la structure arborescente INSPIRE GML CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Des tables sources aux arbres cibles Méthode en 2 étapes : convertir dans une structure arborescente et faire les transformations dans un environnement XML/GML CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Méthode en une étape : exemple Go Publisher (Snowflake) Transformation de schéma Les données source sont dans une base de données. L’outil extrait le schéma de données Legacy Database Schema Reads database schema Set up transformation c configuration GO Publisher Desktop Reads ELF App Schemas Publishes L’outil exécute les règles de transformation sur les données source et fournit les données cible en GML 17 November, 2014 Validates against schemas L’utilisateur définit les règles de transformation de schéma L’outil importe le schéma cible (ex: INSPIRE) Interface Go Publisher c Schéma source Définition des transformations Schéma cible Transformations Créer des identifiants GML Grouper des données (dans un data type) L’outil offre des transformations simples Concaténer des attributs ou plus complexes (requêtes SQL) Créer des constantes Avantages de Go Publisher • La configuration des transformations est (relativement) facile et rapide • L’outil permet de valider au fur et à mesure (sur les données) Méthode en 2 étapes : faire les transformations dans un environnement de tables puis passer en GML Architecture - Méthodes potentielles - Phase 2 Applications clientes utilisant INSPIRE WFS/GML Web Feature Service (INSPIRE Download Service) Phase 1 Base de données de distribution Outils de la base de données Base de données de production Logiciel de transformation Phase 1 : transformations vers une base de distribution La base de données de distribution est une base “pseudo-INSPIRE” Base de données de distribution • Classe d’objets => table • Association => table • Data type => table • Multiples valeurs d’un attribut => table Permet de définir des transformations complexes Donne de bonnes performances. 25 June, 2013 Outils de la base de données Logiciel de transformation Base de données de production Phase 2 : transformer en GML Il faut fournir au WFS un fichier de configuration pour lui expliquer comment passer de la structure de tables à la structure hiérarchique INSPIRE. WFS Base de données source Phase 1 Base de données pseudoINSPIRE Phase 2 Méthode en 2 étapes : passer en GML + faire les transformations dans un environnement XML/GML Exemple avec XSLT Processus de transformation Role d’OGR OGR est un sous-ensemble de la bibliothèque de transformations open source GDAL (Geospatial Data Abstraction Library) • OGR effectue : • La transformation de coordonnées • La transformation de format • GML simple feature • géometrie simple (2D, interpolations linéaires) • Attributs simple (nombres, chaînes de caractères, dates, ....) • => GML dans un modèle logique similaire à celui des données source Role d’XSL(T) XSLT: Extensible Stylesheet Language for Transformation • XSLT effectue la transformation de modèle • transforme les concepts • implemente le modèle hiérarchique d’INSPIRE • XSLT prend en entrée et fournit en sortie des documents XML XSLT : principe Données source en XML/GML Données cible en GML Règles de transformation sous forme de code XSLT XSLT • Avantages – Langage bien établi (depuis 1999) – Beaucoup d’outils XSLT – Basé sur XML, même langage que les schéma source et cible • Inconvénients – Complexe – Pas d’interface utilisateurs – Peu adapté pour des gros documents (schémas) Quelques critères de sélection des outils et méthodes De la table à l’arbre Choisir une méthode qui permet de passer du modèle tabulaire des données source au modèle hiérarchique, arborescent d’INSPIRE. Des tables sources aux arbres cibles INSPIRE Méthode en 2 étapes: transformations dans un environnement de tables + passer en GML Méthode en 2 étapes: passer en GML + transformations dans un environnement XML/GML Go Publisher SGBD + WFS (GeoServer, deegree) XSLT HALE Arc GIS for INSPIRE Talend Altova Map Force GeoMedia for INSPIRE exoMS GeoConverter FME Méthode en une étape Geokettle n’a pas su résoudre le problème (expérience utilisateur) CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Transformation et services de téléchargement Transformation de schéma et services de téléchargement • La méthode de transformation de schéma doit être adaptée à la solution de téléchargement – Téléchargement par WFS ‒ Transformations en bases de données relationnelles + WFS ‒ Solutions intégrant WFS (exoWS, …..) ‒ ATOM feed: ‒ Transformations fournissant des fichiers GML CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Expressivité (richesse dans les opérations de transformation) Comparaison des approches Name Tools Domain Expressivity2 Verbosity3 Maturity4 XSLT 10+ Universal + Spatial 80% 11145 4 XQuery 10+ Universal + Spatial 96% 392 4 EDOAL/gOML 2 Universal + Spatial 92% 91 3 RIF 3 Universal 80% 4145 2 QVT/ATL 4+ Universal 76% 117 3 UML-T 1 Universal + Spatial 60% -.- 1 GeoKettle 1 Spatial 96% -.- 3 Talend 1 Universal + Spatial 92% -.- 3 FME 1 Spatial 100% 205 3 1 2 Research conducted in 2010-2011. Coverage of functions listed in [Beare 2010], Appendix 2 35 CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Altova Map Force n’est pas assez expressif (pas de transformations géométriques) Connaissance Classification des approches Name Abstraction Schema Paradigm(s) Language Primary Driver Primary Representation XSLT Logical XSD Declarative+ Instance Textual XQuery Logical XSD Procedural Instance Textual EDOAL/OML Conceptual OWL+* Declarative Schema Graphical RIF Conceptual * Declarative Instance Textual QVT/ATL Conceptual UML Both Schema Combined UML-T Conceptual UML Declarative Schema Graphical GeoKettle Logical Internal Procedural Instance Graphical Talend Logical Internal Procedural Instance Graphical FME Logical Internal Procedural Instance Graphical Une interface graphique est plus conviviale. CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Conclusions Méthodologie • Les étapes préparatoires sont importantes – Stratégie • Définir l’ambition : INSPIRE à minimum ou INSPIRE + (modèle étendu, …) ? • Définir le périmètre: quelles données pour quel thème? • Définir les priorités – Mise en oeuvre • Choix techniques : système de coordonnées, mode de téléchargement • Tables de correspondance – Plusieurs compétences (connaissance des données source, du modèle cible et du processus de transformation)=> plusieurs personnes – Étape à réaliser en détail => souvent longue CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE Conclusions • Niveau de difficulté des transformations pour INSPIRE – Schémas INSPIRE complexes => beaucoup de règles de transformations – Schémas INSPIRE conçus pour admettre les données existantes => peu de points bloquants • Il existe de nombreuses solutions techniques de transformations de schémas • La solution choisie doit tenir compte de la différence de modèle logique • Cette différence de modèle logique est aussi un problème pour l’utilisation des données INSPIRE – Les SIG actuels ne savent pas manipuler les structures hiérarchiques – Réflexions en cours pour proposer des modèles d’implémentation (modèles logiques) plus simples dérivés des modèles conceptuels INSPIRE • • Projet ELF (European Location Framework) Commission Européenne – MIG (Maintenance and Implementation Framework) CONNECTING YOU TO THE AUTHORITATIVE GEO-INFORMATION FRAMEWORK FOR EUROPE