Germany flag +393 800 0864 Great Britain flag +34 902 365 787 Italy flag +393 800 0864 Japan flag +81 52 209 9195 Spain flag +34 902 365 787 US flag +1 800 289 2762 info@asna.com
ASNA Monarch Migration Suite
Migrate Your Synon-Generated Applications

ASNA Synon Escape® transforms legacy Synon-created applications into modern, effective assets

Synon Escape migrates your legacy Synon application to .NET
Synon Escape migrates your legacy Synon application to .NET

Can your business survive without Synon programmers?

30 years ago Synon/Cool:2E/CA 2E 4GL applications were the core of the system of record for many an IBM i shop. Today, though, Synon programmers are notoriously hard to find and Synon-generated are very challenging to maintain and enhance. ASNA has the tools and services needed to repurpose your Synon application assets into modern, maintainable .NET applications for you to put into younger programmer hands.

For more technical details read our Synon Escape white paper

Migrate your Synon/Cool:2E/CA 2E applications to C# with ASNA's model-driven application migration/refactoring suite, Synon Escape. This lets you ensure a solid future for your core enterprise application without Synon or RPG dependencies. Synon Escape is the latest member of ASNA's family of IBM i RPG application migration suites.

ASNA's flagship migration/analytical suite, Monarch, migrates IBM i RPG applications a line at a time. That works fine for hand-built RPG applications but doesn't work so well when the RPG is generated by tools such as Synon. Synon-generated applications are verbose and repetitive with a dependence on an abstracted application model and a custom runtime. The RPG that Synon generates isn't readable--it doesn't have meaningful field names and it is all but impossible to maintain on its own.

Escape Synon's grip

ASNA Synon Escape addresses these challenges by exploiting the Synon Model and rationalizing the custom runtime to provide a readable, maintainable C# version of the application. Synon Escape's migration/refactoring is driven by Synon's abstract model guiding the conversion of the generated RPG. In fact, the original RPG generated was intended for compiler purposes only; Synon Escape frees IBM i shops from enterprise dependence on the Synon Model and persists the new version of the application naturally in C#.

Synon applications rarely live in a vacuum on the IBM i machine, they interact with other programs written in RPG and CL. The combined power of Synon Escape and Monarch yield a migrated application which continues to have the same symbiotic relationship they enjoyed on the IBM i. All of the application's functionality are persisted with high fidelity and reliability with the advantage of eliminating the need of C# coders understanding of Synon or its Model to further work with the migrated application.

Synon Escape benefits

  • The resulting C# is refactored from its original form (and its dependence on the Synon's runtime programs), to avoid the overly-verbose code repetition present in Synon's generated RPG. By eliminating code redundancy your Synon applications are migrated/refactored into readable and maintainable .NET C# classes.
  • The app's existing IBM i DB2 database is migrated to Microsoft SQL Server.
  • With Synon Escape, your migrated Synon applications are freed from the bounds of RPG and Synon dependencies. Your application persists, continuing to do the work it's done for your business for years, on the .NET platform where it is maintained and enhanced by C# programmers.
  • Synon applications rarely live in a vacuum on the IBM i machine, they interact with other applications written in RPG and CL. Synon Escape works in harmony with ASNA Monarch (which migrates hand-written RPG to C#) to persist the same symbiotic relationship your Synon and customer RPG applications enjoyed on the IBM i.
  • Synon-generated field names are mapped to meaningful names for maintainable and readable C#.
  • Automatic UI enhancements consisting of calendars for Date fields and dropdown list selectors for Status fields.