Modernizing a Dialog System Application
When you are ready to modernize the application, you can do so gradually, using the interoperability techniques to keep the old and new code (the native and .NET COBOL code) working together.
Modernize Dialog System applications by migrating them to Enterprise Developer When you are ready to modernize the application, you can choose from a range of techniques. You have the flexibility to modernize as much or as little as you want in your own time. For example, you can replace one Dialog System dialog with a Windows Form or you can wrap a .NET WPF control as an ActiveX control and use that on a Dialog System dialog.
There are distinct advantages to modernizing gradually and using the interoperability techniques to keep the old and new code working together. Microsoft's recommendation is:
"The COM interoperability features of the .NET Framework are very powerful and, in nearly all cases, allow you to continue to use your existing code without migrating it to managed code. As you develop new parts of your application or reuse components of your application from newer managed code applications, in most cases you can simply call your existing components through the COM interoperability functionality provided by .NET."
There are a range of modernization techniques and a multitude of ways to adopt them. The technique to use depends on the application. You first need to understand the application, what it does, how it's structured, how it performs, and its limitations and benefits. You can then identify an area where you can improve things.
Some modernization techniques that you can use are:
- A Windows Forms form replacing a Dialog System dialog, where the form can contain .NET controls. See the Customer + .NET WinForm sample CustomerWinForm.sln.
- A Windows Forms control wrapped as an ActiveX control and used on a Dialog System dialog. See the Customer + .NET GridView User Control sample custgrid.sln.
- A WPF user control hosted by a Windows Forms user control, which is then exposed as ActiveX ready for use by Dialog System. See the Customer + .NET WPF GridView User Control sample CustGridWPF.sln
- A .NET code application interacting with Dialog System as native COBOL .dll. See the .NET COBOL Customer sample ManagedCustomer.sln.
Your Enterprise Developer solution is likely to have some native code projects and some .NET COBOL code projects. The native code projects will contain the original code, largely unchanged, and also the .NET COBOL code projects will contain the new modernized elements.