MIGRATION DE BASE DE DONNÉES la méthode générale objets techniques sources (DDL, codes programmes, jcl,..) cartographie & modélisation source modèle base source reingénierie base cible structures base cible migration des données base cible chargée adaptation des programmes application migrée
CARTOGRAPHIE & MODÉLISATION cartographie - treillis de Galois
CARTOGRAPHIE & MODÉLISATION modélisation – modèle logique
CARTOGRAPHIE & MODÉLISATION modélisation – modèle sémantique
MODELISATION synthèse 1210 1509 1249 # attributs 110 128 73 # relations 105 112 # types d’entité modèle conceptuel modèle logique modèle physique
MIGRATION DE BASE DE DONNÉES la méthode générale objets techniques sources (DDL, codes programmes, jcl,..) cartographie & modélisation source modèle base source reingénierie base cible structures base cible migration des données base cible chargée adaptation des programmes application migrée
RE-INGÉNIERIE DE LA BASE DE DONNÉES modèle sémantique modèle relationnell design de la BD ajout d’une clé primaire à chaque table (bonne pratique) relations clés étrangères relations N-N table intermédiaire + clés étrangères redefines tables séparées + clés étrangères attributs composés décomposition attributs multivalués tables séparées + clés étrangères OU liste d’attributs traitement des noms : “-” “_”, mots réservés
RE-INGÉNIERIE DE LA BASE DE DONNÉES redefines
RE-INGÉNIERIE DE LA BASE DE DONNÉES transformations
RE-INGÉNIERIE DE LA BASE DE DONNÉES génération objets descriptifs base cible Standard SQL ou DB2 Oracle SQL Server MySQL PostgreSql …
RE-INGÉNIERIE DE LA BASE DE DONNÉES synthèse modèle physique modèle logique modèle sémantique modèle relationnel # type d’entités 112 112 105 147 # relations 73 128 110 144 (FK) # attributs 1249 1509 1210 1841
RE-INGÉNIERIE DE LA BASE DE DONNÉES mapping Les fonctions de tranformations de DB-MAIN maintiennent les liens au cours de l’évolution des modèles modèle logique source modèle physique source modèle relationnel cible
MIGRATION DE BASE DE DONNÉES la méthode générale objets techniques sources (DDL, codes programmes, jcl,..) cartographie & modélisation source modèle base source reingénierie base cible structures base cible migration des données base cible chargée adaptation des programmes application migrée
MIGRATION DES DONNÉES déchargement Création du modèle de déchargement : modèle physique DB-key “mvs” meta-propriété
MIGRATION DES DONNÉES déchargement Génération des composants traitements : PSB Jcl de compilation du PSB programmes COBOL de déchargement Jcl de compilation des programmes Jcl de création des fichiers et d’exécution
MIGRATION DES DONNÉES contrôle des données Génération des contrôles et de transformations des données : description des types d’enregistrements (attributs, longueur, format, …) programmes de contrôles de la conformité des données source par rapport au modèle cible (caractères null, …) programmes de transcodage pour la conversion EBCDIC vers ASCII, ajout EOL caractères, … scripts d’exécution ordonnançant la séquence des opérations
MIGRATION DES DONNÉES chargement des données Génération des composants pour le chargement de la base cible : fichier CTL pour l’utilitaire de chargement de DB2, SQL*Loader, … Shell scripts
MIGRATION DES DONNÉES validation de la migration – compteurs fonctionnels génération de programmes sur les environnements source et cible de « checksum »
MIGRATION DES DONNÉES validation de la migration – comparaison des contenus processus
MIGRATION DES DONNÉES validation de la migration – comparaison des contenus modèle commun
MIGRATION DES DONNÉES validation de la migration – comparaison des contenus
MIGRATION DES DONNÉES validation de la migration – comparaison des contenus
MIGRATION DE BASE DE DONNÉES la méthode générale objets techniques sources (DDL, codes programmes, jcl,..) cartographie & modélisation source modèle base source reingénierie base cible structures base cible migration des données base cible chargée adaptation des programmes application migrée
ADAPTATION DES PROGRAMMES génération des modules d’accès COBOL Program Relational DB IMS WRXXX.cob WRYYY.cob WRZZZ.cob Program’ Transformation FETCH CALL DELETE INSERT UPDATE CALL “CBLTDLI” USING … EXEC DLI … USING … modifications des “déclarations” des données et des fichiers insertion de “section” de codes générés remplacmeent des verbes DML sources par des appels aux modules d’accès
ADAPTATION DES PROGRAMMES génération des modules d’accès génération des modules d’accès (ici en C++) langage dépendant de l’environnement cible souhaité (cobol, java, …)
ADAPTATION DES PROGRAMMES génération des modules d’accès Certains verbes DML source ne sont pas pris en charge : ex: en IMS SSA non qualifié : (GU, GN, GNP sans nom de segment) PROCOPT parameter in the PSB en IDS2 FIND within AREA sans nom de record
ADAPTATION DES PROGRAMMES transformations des codes sources des programmes FIND FIRST USING ART-KEYB. … FIND NEXT RONTB WITHIN DUMMY-RONTB EVALUATE DB-STATUS WHEN "0000000" GET RONTB ... **ReVeR: FIND FIRST USING ART-KEYB MOVE 390000 TO REC-CALL-ID OF WR-LOG PERFORM WR-FFXU-ART-KEYB … **ReVeR: FIND NEXT RONTB WITHIN DUMMY-RONTB MOVE 37060000 TO REC-CALL-ID OF WR-LOG PERFORM WR-FNRW-RONTB-DUMMY-RONTB EVALUATE DB-STATUS WHEN "0000000" **ReVeR: GET RONTB MOVE 37070000 TO REC-CALL-ID OF WR-LOG PERFORM WR-GR-RONTB ...