French

Première partie d'une série de quatre articles.

La migration IMS vers SQL est décomposée en deux phases :

  • la première phase est la création de la nouvelle base de données (OracleDB2...) offrant les avantages du langage SQL, et la migration des données.
  • la deuxième phase est la transformation des programmes pour qu'ils utilisent la nouvelle base de données, sans en changer les fonctionnalités. 

Avant toute migration, il est important de bien connaître la structure de la base de données à migrer. Chez Rever, nous avons développé des outils permettant de retrouver la structure de la base de données IMS à partir des déclarations IMS (DBD) et des déclarations des enregistrements définis dans les programmes (copy COBOL ou include PL1).

En effet, les déclarations contenues dans les bases de données ne sont pas suffisantes pour avoir une image précise de la base de données IMS, car l'habitude en IMS est de ne pas déclarer la structure complète des enregistrements, mais uniquement les clés d'accès.

Lorsque la structure de l'ancienne base de données est connue, il est possible de concevoir la nouvelle base de données. Cette conception est supportée par l'outil DB-MAIN, mais nécessite des choix de la part de l'analyste afin d'obtenir une base de données SQL à la fois performante et suffisamment normalisée pour permettre les développements futurs.


 

Rever a développé des outils qui vont, automatiquement, effectuer la migration des données de l'ancienne vers la nouvelle base de données et ce en se basant sur leur structure respective.

Nous avons développé des « wrappers » ou « accesseurs de données » qui simulent les accès à l'ancienne base de données en utilisant la nouvelle DB.

Les « wrappers » simulent toutes les instructions DL1, y compris le format du record IMS, les codes de retour. Ce qui permet de limiter au maximum la modification des programmes existants, dans la plupart des cas aucune modification des programmes n'est nécessaire. Ce qui a comme intérêt majeur que les personnes responsables de la maintenance et de l'évolution des programmes ne doivent pas changer leurs habitudes de programmation, et que la logique des programmes n'est pas modifiée.

Ici aussi Rever a développé des outils qui génèrent les « wrappers » en se basant sur les structures des deux bases de données.

Notre démarche peut-être schématisée de la sorte :

migration de bases de données

Après migration, les programmes et la base de données peuvent rester sur l'ancienne machine ou être portés sur une nouvelle machine (avec un changement d'architecture). Une solution hybride peut aussi être envisagée, à savoir les programmes restent sur l'ancienne machine et la BD est créée sur une autre machine.

Dans la seconde partie de cet article, nous aborderons plus en détail la rétro-ingénierie de la structure de l'ancienne base de données et la conception de la nouvelle.

 

Lexique des acronymes :

  • IMS = Information Management System
  • SQL = Structured Query Language
  • Cobol = Common Business-Oriented Language
  • PL1 = Programming Language number 1
  • DBD = Database Description

En savoir plus ? DB-Main est un outil de modélisation et d'architecture de données. Historiquement développé au sein du laboratoire d'ingénierie des bases de données de l'UNamurRever continue à l'améliorer pour aider les développeurs et les analystes dans la plupart des processus d'ingénierie des données.

Mots clés: 

Auteur: 

Jean Henrard