[UPCOMING WEBINARS] Save on Development Costs and Open Up Your IBM i via APIs. REGISTER NOW
[UPCOMING WEBINARS] Save on Development Costs and Open Up Your IBM i via APIs. REGISTER NOW.
Home » Application Modernization » Legacy Application Modernization Techniques: A Step-by-Step Guide

Legacy Application Modernization Techniques: A Step-by-Step Guide

By LANSA Editors
Published On March 3, 2022

Pain-free Software
Modernization

Keep the light on.

Join our mailing list for development guides and solutions for constant IT innovation.





Legacy application modernization is more than a defined set of techniques — it’s a holistic strategy. Application modernization involves executing digital transformation initiatives, improving business processes, and achieving long-term business goals while leveraging existing skills and resources. In other words, it is not a one-off thing. Instead, it is an ongoing process to keep up with changing market conditions, customer expectations, regulations and compliance, and new market entrants.

Because of this, the IBM i modernization techniques you use should depend on your long-term goals and resources. In this article, you’ll discover how each legacy application modernization technique works and its impact on your original applications. 

How Does Screen Scraping Work?

Screen scraping is a modernization technique that involves improving the presentation of your legacy applications. Basically, it means converting your IBM i 5250 green screens to modern user interfaces.  Screen scraping involves using a screen scraping tool as a conduit between your legacy application and a modern display. This tool captures the original screen content from your application and updates it to display in a browser. 

However, screen scraping alone adds no real value to your application beyond a modern presentation. The application remains the same.

Is Building a New User Interface the Same as Screen Scraping?

Building a new user interface is another way to modernize your legacy application. Although, like screen scraping, this technique modernizes screen content, it adds a bit more. Your legacy applications will leverage scripts that not only interact with their original content but understand the purpose of the screen displayed. For example, in your legacy application, you may need to navigate several layers of menus just to reach your order entry screen.  In order to save you time and improve usability, a script can move through those menus behind the scenes and call up the order entry screen for you.

In other words, by building a new UI, you can replace the original legacy screen with a user interface that enhances its usefulness. You also decide to display customer details, such as past purchases, on the order entry screen to make it even more efficient. 

Like screen scraping, building a new user interface is a bit of an ad-hoc solution. It adds no real value because the application and its underlying business processes remain limited.

Can You Convert Business Functions to Callable Services?

For many organizations, legacy applications are responsible for running mission-critical business operations. Digital transformation initiatives and changing market conditions, however, require that their business functions are available to both existing and new applications. Turning legacy applications into callable services makes this possible. 

Callable services are discrete sets of programmed logic that other programs can use. They do this by invoking a web service, a remote procedure call, or by exchanging messages. You can convert business functions like discount calculations and retrieving customer orders into callable services. 

You do this by assessing your existing portfolio to identify business functions that are potential services or are needed by other applications. After that, you can build web services with modern software development tools.  This way, when a new or existing application requires a legacy application’s business function, it can simply call the corresponding web service.

Unlike the previous techniques on this list, converting business functions to web services bypasses the user interface stage. It also changes the way the application operates. These applications can now interact and share information with other applications. In addition, you can retain your legacy business functions and reuse them in other applications.

How Does IBM i Application Migration Work?

Migration is a legacy application modernization strategy where you move discrete blocks of functionality to one or more applications. For example, suppose you run a legacy ERP application with multiple modules, including finance. Using the migration technique, you would decommission your existing finance module and use another application to manage finance.

Application migration is about modernizing business functions, not applications. You can start with the most important business function and gradually progress. It’s an effective technique in the ever-ongoing modernization process.

How Does Re-hosting Work?

Rehosting refers to moving your system to the cloud without making any change to its architecture. Organizations with high on-prem costs or those looking to move quickly often choose rehosting. Rehosting is also popular with companies whose applications don’t require continuous improvements or consist of commercial or off-the-shelf applications they don’t have to change or maintain. 

However, rehosting doesn’t offer many real benefits in the current economy where businesses must innovate to survive. This is because innovation requires developing new features or internal solutions at pace — think Amazon or any other modern-day market leader. In addition, rehosting without making changes offers limited value. It’s just moving the same old system to the cloud 

Is Rewriting Legacy IBM i Applications a Modernization Technique?

Rewriting IBM i legacy applications is a modernization technique that involves building new applications using modern software development technologies. Many organizations approach modernization by building new applications from the ground up, using their legacy applications as a guide for similar functions. The goal is to modernize your legacy architecture by changing the applications to the Model-ViewController (MVC) pattern or similar design.

Although this approach seems fair, it can be a problem when you need to add more functions along the way. Adding more functions increases workloads. You have to handle scope very carefully to make a rewrite successful. 

Enabling interaction with modern technologies while leveraging existing resources is a key objective of legacy application modernization. What this means is, if your application offers all the functionality you need, keep it.

One way of doing this is “programming language conversion.” This method uses a modernization tool that takes your source code and converts it to a modern language. For example, from COBOL to java. 

However, while this option may address some immediate issues, it is not for the long run. This is because the generated code produced is the same as the original code, especially if the languages are incompatible. Converting RPG to C# or Java is an example of this. The RPG procedural programming paradigm does not translate well into an Object-Oriented paradigm. This means your converted code won’t run efficiently and require tedious maintenance. The efficiency of the conversion tools also affects the rewriting effort. 

That said, programming language conversion can serve as a starting point for large legacy applications where a complete rewrite is impractical. 

Are You Ready to Modernize Your Legacy IBM i Application?

Legacy application modernization involves leveraging your existing skills and resources to meet digital transformation initiatives and keep up with changing market conditions and customer expectations. Legacy applications hinder business growth in many ways, and these techniques represent the theory and method of modernizing these applications. But what tools do you need to apply these techniques?

LANSA provides modernization solutions for many possible techniques. For example, you can leverage aXes for screen scraping and enhancing your user interface on an IBM i system. 

For more information on legacy application modernization, you can also contact us to speak to an expert.

Future-proof software
for digital success

ABOUT THE AUTHOR

LANSA Editors

LANSA is a professional low-code development platform that helps businesses efficiently build and modernize software. In this blog, the team draws on decades of experience empowering enterprises to innovate on the IBM i and future-proof their mission-critical systems.

More Articles

Are you ready for better conversations?

Integrated solutions that deliver powerful results.

Keep the light on.

Join our mailing list for development guides and solutions for constant IT innovation.