Choix techniques
Ce projet a été conçu pour migrer les données d’une GED à une autre en conservant les métadonnées associées.
Découvrez à quoi sert ce service sur cet article.
Sommaire
Technologies choisies
Usage
Nous avons fait le choix d’une solution basée sur des logiciels libres robustes Apache Airflow1 et Apache Kafka2. Nous avons souhaité rendre ce logiciel paramétrable en fonction des besoins de manière simple et efficace pour que chacun gagne en productivité. Notre solution permet d’interrompre le processus sans perdre ce qui a déjà été traité et peut adapter son rapport temps/charge pour ne pas impacter un serveur de production tout en travaillant en tâche de fond.
Construction du logiciel
Extraction
Avec Airflow1, un outil très utilisé dans le monde l’IA, nous assurons le suivi de la migration des données. Pour garantir une stabilité sur les traitements, nous utilisons un fichier pivot en JSON[^Json], qui décrit le document à migrer. Ce fichier pivot regroupe la source du document, les métadonnées et le chemin de destination souhaité. Le format pivot est décrit avec JSON Schema, pour être indépendant de la cible et de la source. Notre solution peut s’adapter à n’importe quelle source de données, que ce soit une API REST, une interface WebDAV, un serveur de fichier ou même scraper un site internet, etc.
Transformation
On va extraire les métadonnées de cette source et ensuite :
- il faut définir une règle de mapping vers notre modèle de données source,
- il nous faut une règle pour définir le chemin de destination de ces nouvelles données.
Avec ces informations, nous écrivons un code qui va générer un fichier JSON (qu’on appelle le fichier pivot). Il va décrire l’objet dans son ensemble, sa source et les métadonnées de destination. Ensuite, ce fichier au format pivot, on va l’envoyer à nos injecteurs et l’injection est automatique.
Chargement (load)
L’injection passe par une file Kafka2 qui va recevoir les informations et les injecter vers le serveur de réception selon les pré-requis du client (impact sur la production, ressources serveurs disponibles, reprise de données ou injection au fil de l’eau, etc.).
L’application sur Alfresco
Sur Alfresco spécifiquement, les métadonnées d’un serveur non maintenu seront converties pour respecter les bonnes pratiques d’une arborescence Alfresco. Cette solution permet de garder la date de création du fichier là où les autres méthodes copient les informations et indiquent une création au moment de la copie.
Consultez notre cas d’usage Cas d’usage : Pristy Connect reprise de données entre deux Alfresco pour en savoir plus.
En savoir plus
Articles connexes
- Notre service de reprise de donnée
- Cas d’usage : Pristy Connect reprise de données entre deux Alfresco
Définitions en rapport avec l'article
- ETL
- c’est le nom générique des outils pour faire de la reprise de données. Ça veut dire Extract-transform-load (extraction, transformation et chargement)
- JSON Schema
- Alors que JSON est probablement le format le plus populaire pour l’échange de données, JSON Schema est le vocabulaire qui permet la cohérence, la validité et l’interopérabilité des données JSON à grande échelle.[^Json]
- Airflow1
- c’est une plate-forme de gestion de flux de travail open source 3
- Kafka2
- projet open source sous Apache License 2.0 : “logiciel de traitement de flux pour la collecte, le traitement, le stockage et l’analyse de données à grande échelle”. 4
Notes de pas de page
-
Apache, Apache Airflow, and the Apache Airflow logo are registered trademarks or trademarks of The Apache Software Foundation in the U.S. and/or other countries. ↩︎ ↩︎ ↩︎
-
Apache, Apache Kafka, and the Apache Kafka logo are registered trademarks or trademarks of The Apache Software Foundation in the U.S. and/or other countries. ↩︎ ↩︎ ↩︎
-
Source traduite du site web d’Apache Kafka : https://kafka.apache.org/powered-by ↩︎