There are different approaches to moving your existing applications to
.NET COBOL code.
Starting from scratch and rewriting existing procedural applications to
.NET 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
.NET 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
.NET COBOL wrapper class - you can preserve your procedural module and write a wrapper class in
.NET 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
.NET COBOL 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
.NET COBOL 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
.NET COBOL, Java, or C# to write the front-end application (for example, a User Interface or a Web service).