A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems. These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder or Visual Basic, but also in early versions of Java or .NET languages.
New source & target platforms, new challengesThere are some challenges shared by both modernization paths, but there are also unique features, challenges and opportunities in either of them. The robust code transformation solutions all share a common technological approach. Vendors have developed solutions that parse source code into an intermediate representation. This representation is some form of an abstract syntax tree (AST). ASTs represent the original program and logic, independent of its original source syntax. Vendors can then use language grammars, similar to those used by compilers, to generate new source code in the new desired language.
Additional manual work has always been a challengeA challenge for modernizing mainframe applications written in procedural languages such as COBOL, PL/1 or Natural to object oriented languages such as Java or C# is that additional steps are needed after the migration tool transforms the syntax. These additional steps performed after the process, outside the tool, are required to re-engineer the migrated program to match the form of true OO programs. Thus, restructuring a procedural program with shared working storage - a trademark of procedural programs - to OO classes and methods, requires additional effort, and may result in code with sub-optimal quality.
An end to end process, with machine based code understandingFor migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways, resulting in a more complete solution with better code quality without additional steps. For these source applications, advanced vendors are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, it’s class structure, the data components and the UI. With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being modified, and before the target is complete. This has huge implications as it enables an IDE which is driven by complete code understanding and the continuous compilation process. The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project. This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.
An automatic path for VB6, PowerBuilder or .Net systems to the Web/CloudThe bottom line is that it is now possible to modernize with confidence large and complex desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud and with a mobile experience baked in. The resulting tool-generated application will have functional equivalence with the legacy system, and will be expertly architected according to the best practices of the target platform and language. The reduction in the need for additional steps (which were required for procedural program modernization and were usually manual) makes the process easily repeatable and with a significantly lower number of issues remaining in the target application.
Case in point: VB6, MS Access & .Net applications at AIGGizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications. The main challenge AIG was facing was of moving to the web while retaining their IP, i.e. the significant investment in business rules and logic. By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition is able to re-architect this diverse legacy inventory to a well written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.
Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high quality web systems while retaining the decades long investment in their business differentiators.