lift 1 d j = ( + + Architecture Modularité Déploiements
lift 2 plates-formes en 1 2 Se t Se Dat t Une architecture répondant à deux besoins : Elévation de la donnée Exploitation de la donnée publiée Des modules adaptés à chaque étape / usage Deux triple stores : Interne Public TS public TS interne Elévation Exploitation Données exploitées set set set Données brutes Exploitation Interconnexion Publication Conversion Sélection Externes set Internes
Architecture technique 3 Portabilité : Java HTML JSON JSONP N-Triples RDF/XML JSON-LD N3 TriG TriX Turtle SPARQL results Exploitabilité : JEE Accès : REST (JAX-RS) Modularité : Socle réduit : Framework Implémentation par défaut : Core Tout le reste est «pluggable» 100% open source API RDF : Sesame 2.x Unité de déploiement API REST (JAX-RS) Module Module Module Unité de déploiement Module Module Framework Core... SPARQL Endpoint (+ ACL) Triple Store Adapters File Store Adapters Sesame 2.x API Unité de déploiement Module DATALIFT Java 6+ / JEE 5+ Servlet container File systems N x Triple Store privé P x Triple Store public M x Triple Store dédié Entrepôts RDF : - Sesame 2.x, - OWLIM, - Virtuoso, - AllegroGraph, - Big Locaux ou GridFS
Modules d élévation Modules d import 4 CSV, fichiers RDF, SPARQL, bases de données SQL, XML, ShapeFile Transformation 2Ontology (à 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
Différents types de modules Transformation : ProjectModule UriBuilder Exploitation : «Module» UriPolicy / ResourceHandler AccessController Commun : SparqlEndpoint FileStoreFactory RepositoryFactory ResourceResolver 5 Module de transformation (espace projets) Construction des URI (default / camelcase) Tout web service exposé par lift Politique d URI et négociation de contenu (directe ou via redirection) Contrôle d accès aux données RDF (S4AC) SPARQL 1.1 en lecture seule (Flint & legacy) Stockage fichiers (local FS / MongoDB) Accès triple stores (Sesame / Virtuoso/ AllegroGraph) Web services par défaut : données RDF et statiques
Structure d un module 6 Un JAR = N modules Contient : 1. Classes Java 2. Ressources (pages, images ) 3. Librairies tierces (JAR) 4. Liste des modules, pour chaque type (Service Provider Java) Déployé dans un (des) répertoire(s) prédéfini(s) Chargé au démarrage 3 2a 4 1 2b
Exemple de module 7 Exploitation des données publiées Thesaurus W (SKOS)
Déploiements 8 Environnement monoposte : le Wrapper Script de lancement : Jetty + lift + Sesame (+ quelques modules) Mono-utilisateur Un environnement par utilisateur système (créé au 1 er 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)
Déploiements Environnement de travail 9 Configuration lift 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)
Déploiements Exemple de déploiement en production 10 Internet DMZ frontale DMZ données LAN interne Serveur HTTP Triple Store Serveurs lift (construction) Serveurs lift (publics)
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
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
Pour vos développements 13 http://www.datalift.org Une communauté, une association, des partenaires
Merci 14 A S S O C I A T I O N D A T A L I F T W W W. D A T A L I F T. O R G