L`architecture de Datalift

publicité
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
Téléchargement