First article in a four-part series.
The IMS to SQL migration is broken down into two phases :
- the first phase is the creation of the new database (Oracle, DB2...) that offers the advantages of the SQL language and the migration of the data.
- the second phase is the transformation of the application programs in order for them to use the new database, without changing the functionalities.
Before any migration, you have to know really well the structure of the database you need to migrate. Here at Rever, we have developed several tools which allow you to recover the structure of the IMS database from the IMS (DBD) declarations and from the declarations of the records defined in the programs (COBOL copies and PL1 includes).
The declarations contained in the DBD are indeed insufficient to have an accurate picture of the IMS database, usually in IMS you only declare the access keys and not the complete record.
Once the structure of the legacy database is known, it is then possible to design the new one. This design is supported by the DB-MAIN tool, but requires certain choices from the analyst in order to obtain a high-performance SQL database which is sufficiently standardized to enable future developments.
Rever has developed tools that will automatically execute the data migration from the legacy to the new database, based on their respective structures.
We created « wrappers » or « data accessors » which simulate access to the legacy database by using the new DB.
The « wrappers » simulate all the DL1 instructions, including the IMS record format and the return codes. This allows to minimize modifications of the existing programs, no programs modification is even needed, in most cases. The major interest of this is that the programs maintenance and evolution people don't have to change their programming habits, furthermore the programs' logic is not modified.
Rever has also developed tools that will generate « wrappers » using the structures of both databases.
Our approach may be illustrated as below :
After the migration is complete, the programs and database can stay on the former machine or they can be moved to a new machine (implying a modification of architecture). A hybrid solution can also be considered, namely the programs stay on the former machine and the DB is created on another one.
In the second part of this article, we will address the reverse engineering of the structure of the legacy database and the design of the new one.
- IMS = Information Management System
- SQL = Structured Query Language
- Cobol = Common Business-Oriented Language
- PL1 = Programming Language number 1
- DBD : Database Declaration
Find out more ? DB-Main is a data-modeling and data-architecture tool. Historically linked to the database engineering lab of the UNamur, Rever continues to improve the software in order to help developers and analysts in most data engineering processes.