ENGIMA
description
Transcript of ENGIMA
Présentation de Enigma
• Enigma• Historique • Technologie • ETL : Extract-Transform-Load• Principe de fonctionnement• Logiciel libre
• Architecture• Routeur• Tâches• Modules (actions)• Enchaînement des modules• Lexique
• Référentiel• Définition du référentiel
Présentation de Enigma
Enigma > Historique
•2002 : Premier concept mis en œuvre pour le Guichet Unique de Boulogne sur mer•~ 8 ans
•2007 : Repris par Portail Pro , Egnima version 2.0•Extension des possibilités de transformations•Remise à jour du code source
•… 2010 : amélioration constante•version 3.3
Présentation de Enigma
Enigma > Technologie
• Microsoft Windows• Dot.Net ( à partir Windows XP / Windows Server 2008)• Langage VB.net (reprise du code source)• Installation simplifiée (programme encapsulé)• Léger ( < 50 Mo)• Desktop & Serveur• Configuration graphique
Présentation de Enigma
Enigma > ETL : Extract-Transform-Load
• ETL : Extract-Transform-Load
Wikipedia :
« Extract-Transform-Load » est connu sous le terme ETL, ou Extracto-Chargeur, (ou parfois : datapumping). Il s'agit d'une technologie informatique intergicielle (comprendre middleware) permettant d'effectuer des synchronisations massives d'information d'une base de donnéesvers une autre. Selon le contexte, on traduira par « alimentation », « extraction », « transformation », « constitution » ou « conversion », souvent combinés.
Présentation de Enigma
Enigma > Principe de fonctionnement
• ETL Enigma, concepts :
•Obtenir les données informatiques•Transformer les données• Transmettre les données transformés• Intégrer les données transformés•Automatiser•Planifier
• Traducteur programmable de données informatiques
Présentation de Enigma
Enigma > Libération du code
• Code en cours de libération sous GPLv2•Le logiciel est disponible (Libre & Gratuit)•Le code source est disponible et modifiable/extensible•Mise en place d’une communauté
Présentation de Enigma
• Enigma• Historique • Technologie• ETL : Extract-Transform-Load• Principe de fonctionnement• Logiciel libre
• Architecture • Routeur• Tâches• Modules (actions)• Enchaînement des modules• Lexique
• Référentiel• Définition du référentiel
Présentation de Enigma
Architecture > Routeur
• Enigma 2 états :•Arrêt : aucune activité, configuration possible•Marche : exécution du routeur
•Routeur : moteur d’exécution• Ordonnanceur• Exécute les tâches à intervalle régulier• Récupération et affichage des erreurs• Mono-tâche
Présentation de Enigma
Architecture > Tâches
Automatisation d’un ensemble de transformations de données informatiques
1.Groupe : Premier niveau (ex : référentiel BOMBARIDER)•Groupement de tâches sur une même thématique•~répertoire/classeur
2.Tâche : Second niveau (ex : Injection échéanciers standards)•Réalise un enchaînement d’actions (module) dans un ordre précis•Boucle d’exécution sur un intervalle de temps paramétré
3.Module : troisième niveau (ex : Connexion au serveur du portail)•Réalise une action provenant d’une bibliothèque•Paramétrage
Présentation de Enigma
Architecture > Les modules (= plugins)
•Bibliothèque :•Transmettre / Intégrer
•Exécution de commande arbitraire (DOS)•Connexion Bases de données (Mysql, Oracle, SqlServer)•Extraction Bases de données (au format XML)•Lecture/Ecriture fichiers (Local, FTP, HTTP(s))•Mails (Envoi/Réception)
•Transformation• CSV vers XML• EDI vers XML, XML vers EDI•Transformation XML
•Typologie :• Modules d’entrée, modules de sortie, modules de transformation•XML :•Format d’échange entre les modules•Outil graphique de mapping incorporé dans Enigma
Présentation de Enigma
Architecture > Enchaînement des modules
•Principe de cascade•Un module transmet les fichiers transformés au suivant
• tâche : intégration mail• Modules d’entrée
•Ex: réception d’un mail, lecture de la pièce jointe CSV•Module de transformation
•Ex : transformation du fichier CSV en XML (bdd)•Modules de sortie
•Ex : insertion dans une base de données à partir du XML
ModuleMail
ModuleCSV vers XML
ModuleInsertion Base de données
BDD
Présentation de Enigma
Architecture > Exploitation basée sur le module
•Gestion des erreurs•Un module ne passe au suivant que s’il y au moins un fichier à transmettre•Les actions des modules sont tracées et stockées (LOG)•Intégrité des données lors des traitements est géré par dot.net•Les types d’erreur possibles sont répertoriés•En cas d’erreur il y a possibilité de continuer et/ou de transmettre par mail l’erreur (Module ReportLog)
Présentation de Enigma
Architecture > Lexique
• Module• Traitement informatique (plugin, sous programme…)• Tâche• Ensemble de modules• Groupe (plusieurs possible)• Ensemble de tâches pour un usage particulier• ex : référentiel BT• Bibliothèque de modules• Ensemble disponible de modules sur étagère
Présentation de Enigma
• Enigma• Historique • Technologie• ETL : Extract-Transform-Load• Principe de fonctionnement• Logiciel libre
• Architecture• Routeur• Tâches• Les modules (actions) • Enchaînement des modules• Lexique
• Référentiel•Définition du référentiel
Présentation de Enigma
• Groupe de tâches prédéfinis• livré dans la version Enigma BOMBARDIER• Tâches préparés et préconfigurés• Paramétrage manuel sur les accès• Adaptable avec la bibliothèque de modules livrée avec l’application
Référentiel Bombardier > Définition
Présentation de Enigma
Référentiel Bombardier > Messages Standards
Connexion HTTP Sauvegarde réseau
• 7 messages mis à disposition par BT• Ex : ECHESTD/H en csv
•Préconfiguré:•Url : suprailnet•Type de fichier : ECHESTD/H
•Manuel:•Login•Password•Intervalle de vérification
•Configuration manuel
Commande DOS (Intégration XML
• Excel
Transformation XML • ERP
• Ou
Intégration Base de données
Suprailnet
Présentation de Enigma
Référentiel Bombardier > BL
Lecture fichier
• Source ERP
•Exportation BL
Conversion vers XML Transformation XML vers XML/BL
• Vérification par intervalle d’un fichier
Exportation Suprailnet
• Source Suprailnet
Suprailnet
•Génération BL • Vérification par intervalle d’un fichier
Transformation XML vers XML/BL
• Rejet / Acceptation• Rejet / Acceptation
Lecture fichier sur Suprailnet VérificationVérification
Dépôt du fichier dans un Dépôt du fichier dans un répertoire d’importationrépertoire d’importation
importation (module ?)
ERP#1
#1
#2