Datalift 1 dj = ( + + 09/04/2015 – Laurent BIHANIC Architecture Modularité Déploiements Datalift – 2 plates-formes en 1 2 TS public Exploitation de la donnée publiée Des modules adaptés à chaque étape / usage Deux triple stores : TS interne Exploitation Elévation de la donnée Données exploitées Data Data Set Set Data Set Exploitation Data Set Interconnexion Data Data Set Set Elévation Une architecture répondant à deux besoins : Data DataSeSet Data Data t Set Data DataSeSet Dat Set t Set Data Data Set Set Dataset Publication Dataset Conversion Dataset Sélection Interne Public Données brutes Externes 09/04/2015 – Laurent BIHANIC Dataset Internes Architecture technique SPARQL results Turtle TriX TriG N3 JSON-LD RDF/XML Module Unité de déploiement Module Module Framework SPARQL Endpoint (+ ACL) Core 100% open source Triple Store Adapters API RDF : Sesame 2.x File Store Adapters Sesame 2.x API File systems Locaux ou GridFS 09/04/2015 – Laurent BIHANIC Unité de déploiement Module Module Module Socle réduit : Framework Implémentation par défaut : Core Tout le reste est « pluggable » ... Nx Px Triple Store privé Triple Store public Mx Triple Store dédié DATALIFT Unité de déploiement Modularité : API REST (JAX-RS) Java 6+ / JEE 5+ Servlet container Exploitabilité : JEE Accès : REST (JAX-RS) N-Triples JSONP Portabilité : Java JSON HTML 3 Entrepôts RDF : - Sesame 2.x, - OWLIM, - Virtuoso, - AllegroGraph, - BigData Modules d’élévation 4 Modules d’import CSV, fichiers RDF, SPARQL, bases de données SQL, XML, ShapeFile… Transformation Data2Ontology (à base d’ontologies RDFS/OWL + LOV) Transformations RDF vers RDF (requêtes CONSTRUCT manuelles) Renommage des URI RDF Interconnexion Transformation des Strings en URIs Silk Interlinker Divers Simple Visualisation (dataviz) Publication Vers le triple store public, export fichiers RDF et CSV 09/04/2015 – Laurent BIHANIC Différents types de modules 5 Transformation : ProjectModule UriBuilder Module de transformation (espace projets) Construction des URI (default / camelcase) Exploitation : « Module » UriPolicy / ResourceHandler Tout web service exposé par Datalift Politique d’URI et négociation de contenu (directe ou via redirection) AccessController Contrôle d’accès aux données RDF (S4AC) Commun : SparqlEndpoint SPARQL 1.1 en lecture seule (Flint & legacy) FileStoreFactory Stockage fichiers (local FS / MongoDB) RepositoryFactory Accès triple stores (Sesame / Virtuoso/ AllegroGraph) ResourceResolver 09/04/2015 – Laurent BIHANIC Web services par défaut : données RDF et statiques Structure d’un module 6 Un JAR = N modules 2a 3 Contient : 1. Classes Java 2. Ressources (pages, images…) 3. Librairies tierces (JAR) 4. Liste des modules, pour chaque type (Service Provider Java) 4 1 2b Déployé dans un (des) répertoire(s) prédéfini(s) Chargé au démarrage 09/04/2015 – Laurent BIHANIC Exemple de module 7 Exploitation des données publiées Thesaurus W (SKOS) 09/04/2015 – Laurent BIHANIC Déploiements 8 Environnement monoposte : le Wrapper Script de lancement : Jetty + Datalift + Sesame (+ quelques modules) Mono-utilisateur Un environnement par utilisateur système (créé au 1er lancement) Serveur d’applications JEE (Tomcat, JBoss...) Fichier WAR (Web ARchive) + environnement de travail Triple stores locaux ou distants Multi-utilisateur (contrôle d’accès) 09/04/2015 – Laurent BIHANIC Déploiements 9 Environnement de travail Configuration Datalift Configuration des traces Librairies partagées (drivers) Modules propres à l’utilisateur Bases de données RDF Sesame Stockage fichiers interne, Public, et Fichiers sources des projets Applications web propres à l’utilisateur (e.g. admin. Sesame) 09/04/2015 – Laurent BIHANIC Déploiements 10 Exemple de déploiement en production Internet DMZ frontale Triple Store Serveur HTTP Serveurs Datalift (publics) 09/04/2015 – Laurent BIHANIC DMZ données LAN interne Serveurs Datalift (construction) Développements futurs 11 Historique des projets de transformation Ontologie PROV (http://www.w3.org/TR/prov-o/) Sauvegarde des paramètres de transformation Rejeu 09/04/2015 – Laurent BIHANIC Développements futurs 12 Découplage IHM – Web services Services scriptables (cURL / wget) Extraction de workflows paramétrables Chaînes de transformation complètes De la source à la publication Déclenchements externes Performances Portage sur Bullion S Transformations asynchrones & distribués 09/04/2015 – Laurent BIHANIC Pour vos développements http://www.datalift.org 13 Une communauté, une association, des partenaires 09/04/2015 – Laurent BIHANIC Merci 14 ASSOCIATION DATALIFT WWW.DATALIFT.ORG 09/04/2015 – Laurent BIHANIC