There are different approaches to moving your existing applications to managed code.
Starting from scratch and rewriting existing procedural applications to managed COBOL is not recommended as it might be time-consuming
and costly (and would mean more testing and more risk).
You can modernize your existing application without having to rewrite it. This is a safer approach and with it you preserve
the existing procedural module that works well and create new managed parts that will reuse it. You have the flexibility of
choosing the front-end application that will interact with the procedural module – a Web interface to access the functionality
online, or a modern user interface to access the functionality on a tablet screen. As a result, your application will include
a mixture of procedural and of Object-Oriented (OO) COBOL.
You could:
- Use a managed COBOL wrapper class - you can preserve your procedural module and write a wrapper class in managed COBOL around
it. Other managed languages can communicate directly with the wrapper class using OO syntax, The wrapper class, in turn, communicates
with the procedural module.
- Use ILSMARTLINKAGE - you can recompile the existing procedural code to managed code using the ILSMARTLINKAGE Compiler directive
which exposes the linkage section data and creates the interfaces that other managed languages can interact with.
The following model shows what the architecture of your modernized application might look like:
With this model you:
- Preserve the business logic - your existing procedural application uses data IO modules to access the data provided as data
files or Relational Database Management System (RDBMS). You keep the business logic unchanged.
- Use a new managed code front-end - you create an OO COBOL wrapper around the business logic or use Run Units to allow the
front-end to talk to the business logic. You can use managed languages such as managed COBOL, Java, or C# to write the front-end
application (for example, a User Interface or a Web service).