Mise en place des flux entre applications

Comment industrialiser la gestion des flux applicatifs

LEVY Frédéric

Pour notre client Cerqual, nous avons conçu une méthodologie pour industrialiser les flux entre ses différents applicatifs métiers. Le principe reste applicable dans tous les contextes et peut être adapté à souhait. L'objectif était d'avoir un système de supervision unique de tous les flux applicatifs qui permette son administration, la gestion des erreurs, de conserver la traçabilité et de faire en sorte que dans la plupart des cas les utilisateurs fonctionnelles soient autonome sur la correction suite à anomalie.

Odoo image et bloc de texte

Les fonctions du système de gestion des flux

 

  1. Supervision des exécutions des différents flux

  2. Indépendance des sources applicatives

  3. Indépendance des destinations applicatives

  4. Traçabilité de l'informations

  5. Intégrité des informations

  6. Gestion des anomalies

  7. Résilience en cas d'incident réseaux

Dans ce contexte

Nous avons utiliser un ETL pour la gestion des flux, associé à une base de données Postgres pour stocker les différents flux.

Les applications métiers concernés étaient nombreuses, notamment Microsoft Dynamic's Nav, Carlamaestro, Everwin, Odoo, Cegid et d'autres moins connus.

Nous avons industrialisé plus de vingt flux applicatifs avec certains fonctionnant en temps réel et d'autres avec des fréquences plus espacées.


Odoo image et bloc de texte

Un principe simple et puissant

Pour chacun des flux nous avons trois traitements :

Extract : le traitement extrait les données de la source, soit directement en interrogeant la base de données source, soit par la mise à disposition des données sous forme de fichier par la source. Ce traitement va alors stocker ces données dans des tables « IN » spécifiques dans « l’usine à Flux ».

Transform : le traitement assure la conversion des données « IN » vers des données de type « OUT » prêtent pour être exportées vers la cible. Ce traitement permet également de filtrer les données à exporter en identifiant des anomalies qui seraient bloquantes pour l’application cible.

Load : le traitement exporte les données « OUT » vers l’application cible, cet export peut être soit directement vers une base de données soit via un fichier d’importation.