Modernizing Legacy Systems: A Retargeting Case Study
This article describes a short case study of a legacy system modernization team involved in retargeting (or porting) a legacy Unisys application, both data and logic, to the Solaris platform while retaining the legacy system logic in COBOL.
An efficient, successful retargeting effort is one that involves as few changes to the original code as possible. Automating this step as much as possible reduces the risk of errors, but is not possible in all cases. Some changes to the code require analysis by an experienced programmer to determine the best conversion. These changes may involve elements unique to Unisys COBOL or logic relating to the DMS 2200 database access.
The target architecture for this effort is shown in Figure 1-1. The platform is a Sun E6500 running the Solaris v2.8 (UNIX) operating system. The GUI (graphical user interface) is being migrated to Java/HTML. The business logic will be implemented in Micro Focus COBOL, Java, and Java script using an Oracle 8 relational database. JDeveloper and Discover, along with other Oracle tools, are used to support the development effort. Oracle's Pro*COBOL pre-processor is required to interpret the SQL statements needed to access the Oracle database.
Figure 1-1 Target Platform architecture.
To port the legacy system from the Unisys mainframe, it is necessary to isolate, eliminate, and replace functionality that is currently performed by the Unisys operating system or other software packages only available on the Unisys platform.
Because time is a premium in porting the legacy code, several constraints are imposed on the retargeting. Changes to the legacy system are minimized, and the database schema is only changed as much as it is necessary to move from the DMS to a relational database.
Important questions remain, however, in the selection of a transaction manger, Java Servlet engine, HTTP server, and other components in the target environment. It is important to select components that are compatible with the modernized system to reduce the integration effort required in the componentization effort to follow.
The selection of these components has to be made with consideration of how this will impact the retargeting schedule. Delaying the system migration from OS 2200 to Solaris has an easily quantifiable cost in Unisys system maintenance. Using the wrong product may require an additional development phase between retargeting and componentization to prepare the legacy system for modernization. This will certainly increase costs and lengthen development schedules.
Components that support the componentization strategy without adding time to the retargeting schedule can be adopted with little consideration. Components that support the componentization strategy but require extra time to complete must be evaluated on a case-by-case basis. To select a component in this case requires a convincing argument that development costs saved in componentization exceed costs incurred in delayed fielding of the retargeted system.
A desired artifact of retargeting is to gain a greater understanding of the legacy system and to use this acquired knowledge to define the desired architecture of the future system. These benefits are lost, to some degree, if different individuals are involved in the retargeting and componentization efforts, although some of this knowledge, if properly recorded, can be successfully transferred.