ASNA Monarch Migration Suite
Migration Target Language: C# or RPG

ASNA Encore lets you choose the migration target best for your business

ASNA Encore RPG: One source, two migration paths, one executable

Overview: This article describes Monarch Core’s Encore RPG, its RPG migration component that enables migrating ILE RPG or RPG/400 to Encore RPG and then later to C#.

ASNA Encore RPG produces either a .NET Core binary or C#
Figure 1. ASNA Monarch is the only migration solution to migrate to C# or RPG

The original version of ASNA Monarch produced only ASNA Visual RPG (AVR) directly for IBM i RPG application migrations. (ASNA Visual RPG is our .NET Framework-based RPG development environment.) For many years, AVR was a desirable, strategic migration target. However, as time went on, we encountered many shops who needed Monarch to produce C#. We then provided a C# option to Monarch, but as add-on, it’s workflow wasn’t as smooth as it should be.

Monarch Core resolves that issue by being designed from the ground up to produce either Encore RPG or C#—and to make it trivial to later convert the Encore RPG to C#. All shops want their migration project to produce C#; but not all shops want C# immediately.

Monarch Core’s RPG Migration Agent produces either C# or Encore RPG. Encore RPG solves the challenge of producing either a C# or RPG-based migration result. If Encore RPG is selected as the initial target language, it can easily be converted to C# later. Figure 1 shows the three possible Monarch migration translation workflows.

Encore RPG is similar in syntax to Visual RPG. The big difference is that Encore RPG produces either a .NET Core executable or a corresponding C# project that targets .NET Core.

Multiple strategic platforms

Our migration prospects generally describe one of two migration needs to us:

  1. An RPG migration path. These shops have RPG programmers with several years left in their careers and will be the programmers charged with maintaining and enhancing the migrated application. For these shops with RPG programmers with 5, or 10, or 15 years remaining in their career, targeting RPG for the migration may indeed be strategic.
  2. A C# migration path. These shops are struggling with an RPG programming team that is retiring very soon. These businesses are worried that their business cannot persist without RPG programmers to maintain and enhance their estate RPG application. These businesses know that rewriting the RPG application from scratch is a non-starter (it would take years and cost way too much money). The best thing for these shops is to get that RPG application into its C# programmers hands as quickly as possible.

Regardless of how strongly a given shop feels about its migration path, the flexibility of targeting RPG initially provides substantial benefits for either ultimate migration path:

In either case, it’s important to remember that the RPG estate application isn’t documented (or if it is, those docs are old and out of date). All of the behaviors, the workarounds, and the anomalies (kind word for bugs!) are embedded in your RPG programmer’s heads. These RPG programmers are a highly valuable asset to have engaged in the application migration project. Using Encore RPG’s RPG migration path initially is a superb way to help get that knowledge passed off to the C# team. Once absorbed, it’s easy then to create a pure C# version.

The natural evolution of RPG

Encore RPG implements all ILE RPG and RPG/400 idioms. With either its RPG migration path or its C# migration path, Encore RPG is the natural evolution of RPG to .NET Core.

Encore RPG features:

ASNA Visual RPG (AVR) produces fat Windows clients and ASP.NET Webforms projects. It targets the original .NET Framework. While Encore RPG is syntactically very similar to Visual RPG, Encore RPG and Visual RPG are two separate products with two separate purposes. Encore RPG is exclusively for the Monarch Core application domain. There isn’t an upgrade path from Visual RPG to Encore RPG.

A new time, a new day

Although Monarch Core and Encore RPG both have some new code, many of their core facilities are ports from our mature and proven .NET Framework-based migration suite. With .NET Core under it, and C# easily available, Monarch Core is a superb, long-term solution for your business—no matter what your desired target migration language is.

We’re very proud of what we’ve done with Monarch Core. Integrating Encore RPG into Monarch gives managers never-available-before migration options. These options mitigate risk, facilitate effective interaction between your RPG and C# teams, and ensure that your business will never be without its line-of-business RPG application—even when it turns into C#!