4.3. Services métiers¶
Les services métiers sont présentés dans les sections suivantes ; pour chaque service, est indiqué son nom commun (en français), ainsi que le nom de service correspondant (en anglais, basé sur les usages OAIS).
4.3.1. API externes (ingest-external et access-external)¶
Rôle :
Contraintes techniques :
- Authentification forte requise de la part des clients
- WAF
Données gérées :
- Pour
ingest-external
: SIP dans le sas d’entrée (conservés uniquement pendant leur analyse antivirus)
4.3.2. Moteur d’entrée (ingest-internal)¶
Rôle :
Fonctions :
- Upload HTTP de fichiers au format SEDA
- Persistance du SEDA dans
workspace
- Lancement des workflows de traitements liés à l’entrée dans
processing
Données gérées :
- Aucune
4.3.3. Moteur d’accès (access-internal)¶
Rôle :
- Permettre l’accès aux données du système VITAM
Fonction :
- Exposition des fonctions de recherche d’archives offertes par
metadata
- Exposition des fonctions de parcours de journaux offertes par
logbook
- Exposition des fonctions d’admnistration métier du système offertes par
functional-administration
Données gérées :
- Aucune
4.3.4. Gestion des droits & accès (security-internal)¶
Rôle :
- Gérer le référentiel d’authentification des applications
Fonctions :
- Gestion des certificats d’accès des applications (SIA)
- Gestion des certificats personnels
- Gestion des endpoints nécessitant le contrôle des certificats personnels
Données gérées :
4.3.5. Moteur d’exécution (processing)¶
Rôle :
- Exécution massive de processus métiers complexes
- Utilisé notamment lors du versement et de la préservation
Fonctions :
- Découpage en micro tâches de processus métier (en fonction d’un référentiel)
- Supervision de l’état d’exécution de chaque « job »
- Reprise sur incident
- Traçabilité de l’ensemble des actions effectuées
Contraintes techniques :
- Grand nombre de tâches
- La durée d’exécution d’un ensemble de tâches peut être longue (ex: une campagne de transformation de document peut durer plusieurs semaines, voire plusieurs mois)
- Possibilité de devoir gérer des objets lourds ; cela implique notamment l’usage de l’espace de travail pour passer des informations entre tâches, et des optimisations (colocalisations ou copies directes) permettant de limiter les contraintes sur le réseau.
Données gérées :
- Etat des workflows en cours d’exécution
4.3.6. Espace de travail (workspace)¶
Rôle :
- Fourniture d’un espace pour l’échange de fichiers (et faire un appel par pointeur lors des appels entre composants) entre les différents composants de VITAM
Fonctions :
- Utilisation du moteur de stockage dans un mode minimal (opérations CREATE, READ, DELETE sur 1 seule offre de stockage)
Contraintes techniques :
- Être résilient à une panne simple
Données gérées :
- Données temporaires en cours de traitement
4.3.7. Worker (worker)¶
Rôle :
- Effectuer les traitements de masse sur les archives & paquets d’archive (SIP / …)
Fonction :
- Déclenchement des opérations sur requête du moteur d’exécution
- Gestion d’un cache local des éléments traités, en interaction avec l’espace de travail
Données gérées :
- Aucune ; il s’agit d’un composant de traitement pur
4.3.8. Moteur de données (metadata)¶
Rôle :
- Stocker de manière requêtable et rapide les métadonnées des objets (également stockées mais de manière pérenne dans l’offre de stockage)
Fonctions :
- Fournit une API agrégeant et abstrayant une technologie de base de données et un moteur d’indexation
Données gérées :
- Métadonnées et structures des archives : Archive Units, Object Group
4.3.9. Moteur de journalisation (logbook)¶
Rôle :
- Gérer les journaux métiers à fort besoin d’intégrité et potentiellement à valeur probante : journal du cycle de vie, journal métier (SAE/opérations + écritures)
Fonctions :
- Gestion des journaux (ajout, lecture)
- Sécurisation des journaux (timer systemd)
Contraintes techniques :
- Besoin fort de fiabilité
Données gérées :
- Journaux de cycle de vie (JCV)
- Journaux d’opérations (JOP)
- Eléments de preuve issus de la sécurisation des journaux précédents
4.3.10. Gestion des référentiels (functional-administration)¶
Rôle :
- Gérer les réfentiels métier de la plate-forme
Fonctions :
- Gestion des référentiels métier VITAM
Données gérées :
Référentiels techniques et métiers :
- Formats
- Règles de gestion
- Contrats (d’entrée, d’accès)
- Contextes
- Profils
- Arbre de positionnement
- …
4.3.11. Moteur de stockage (storage)¶
Rôle :
- Stockage des données (Métadonnées, Objets Numériques et journaux SAE et de l’archive)
Fonctions :
- Utilisation de stratégie de stockage (abstraction par rapport aux offres de stockage sous-jacentes)
- Gestion des différentes offres de stockage
Données gérées :
- Journaux d’écriture
- Sécurisation des journaux d’écriture
4.3.12. Offre de stockage par défaut (storage-offer-default)¶
Rôle :
- Fournir une offre de stockage par défaut permettant la persistance des données
Fonctions :
- Offre de stockage fournie par défaut
- Plusieurs modes de persistence sont supportés :
- sur système de fichiers local
- sur service de stockage objet compatible protocole Swift
- sur service de stockage objet compatible protocole S3
- sur bandes magnétiques (stockage dit froid)
- Log des écritures dans l’offre en permettant le rejeu
Données gérées :
- Tout ce qui doit être conservé à long terme (mais uniquement pour la gestion technique de ces données)
4.3.13. Interface de démonstration (ihm-demo)¶
Rôle :
Fonctions :
- Représentation des arborescences et des graphes
- Formulaires dynamiques
- Suivi des opérations
- Gestion des référentiels
Contraintes techniques :
- IHM intuitive (sans workflows métiers), accessible (au sens RGAA), responsive design
- Compatibilité avec les navigateurs actuels
- Pas d’applets/clients lourds
Données gérées :
- Aucune
4.3.14. Scheduler¶
Rôle :
- Exécution des tâches périodiquement
Fonctions :
- Planifier une tâche
- Supervision de l’état d’exécution de chaque « job »
- Reprise sur incident
Contraintes techniques :
- Toutes les horloges des instances doivent être synchronisés
Données gérées :
- Aucune
4.3.15. Connecteur générique¶
Rôle :
- Permettre aux applications tierces de s’intégrer plus facilement dans Vitam via une API constructive d’un SIP
Fonctions :
- Exposer des API de construction de SIP
Contraintes techniques :
- Référentiels techniques et métiers de VITAM à respecter (Formats, Règles de gestion, Contrats (d’entrée, d’accès), Contextes …)
Données gérées :
- Données temporaires qui devraient servir à construire un SIP ingérable par VITAM