Four ways to finally put an end to RPG applications
The RPG programming language dates from the 1960’s, but it is still being used by a surprising number of companies. These green screen terminal applications have been providing important business-functionality, in many cases for decades, even though with regard to user friendliness they are completely outdated. Luckily, there are efficient ways to modernize RPG applications these days.
From a technological viewpoint the replacement of legacy RPG applications is a no-brainer. Of course you would like to get rid of that obsolete terminal interface, which new employees can only work with after extensive training. However, the other side of the story is that many of these applications are still functionally sound, and that replacing or modernizing them will incur substantial costs. Although, as time passes, the necessity to replace or modernize them continues to increase.
Most important obstacles
We live in a time in which fewer and fewer employees are used to working with a green screen terminal on RPG-based applications. Modern web-based user interfaces are now the standard, which makes it increasingly difficult, more expensive and time-consuming to train new users to be able to work with these old fashioned applications.
Neither is RPG attractive for developers. After all, this is outdated technology that is no longer being developed and does not deliver high productivity. Maintaining these systems is difficult and time consuming, especially because these applications are already decades old. Furthermore, the availability of developers with knowledge of RPG continues to decrease. Young programmers do not want to waste time learning RPG. They would much rather work with modern languages such as Javascript, Angular and React.
And we haven’t even started to talk about the quality of the applications, which is not just limited to the user interface. An organization increasingly lags behind the competition with such a legacy application.
What can you resolve?
Nobody will argue that the replacement or modernization of RPG applications makes sense. After all, it will resolve your technological debt. By eliminating the legacy you can replace the spaghetti code that accumulated over many years with a much more modern technology and at the same time bring all your documentation up-to-date.
In addition, a new graphical user interface opens up possibilities in the area of cloud implementations for example. By modernizing your RPG landscape, your organization can become more versatile and innovative. Furthermore, a modern application structure makes you much more attractive for employees, from a general business point of view, but especially with respect to application development.
There is also another often neglected aspect: many RPG vendors are currently being bought up by other software companies, with a focus on increasing their market share and on the financial optimization of this lucrative legacy market. Despite the fact that no further development is taking place, the suppliers are continuously changing the license models and we often see considerable price increases and compliance processes. By modernizing you can also avoid the (considerable) financial risks that such activities entail.
Four exit scenarios
What are the current options to be able to replace RPG applications as quickly and efficiently as possible? For an average organization without distinctive working methods or processes, a commercial off-the-shelf solution can be a good alternative. But if you have unique business processes with associated functionality and logic, then it becomes difficult to migrate to a standardized system.
The independent research firm, Forrester, cites enterprise low-code platforms as a suitable means of modernizing core applications. These platforms enable organizations to recreate the existing functionality in an efficient manner in a modern technology.
I would like to make a couple of personal comments here, in particular about the manner in which you modernize and to what extent this is supported by a selected low-code platform. In my opinion there are four scenarios:
1. Add new modules
The first approach is to maintain the RPG application, but only replace the modules for which it is absolutely necessary from a functional or technical standpoint. This can be done if the core has a low functional obsolescence. This allows you to maintain the functional legacy of the core application, but you are able to modernize the business process.
2. Complete redevelopment
Another alternative is to redevelop the existing applications in the new technology, and at the same time also carry out improvements. You would take this approach if the application is not only technically, but also functionally outdated.
3. Phased replacement
If the complete replacement of a core RPG application is too high-risk or time consuming, you can opt to replace the applications module by module. This reduces the risk and provides the opportunity to phase the modernization over a longer period.
4. One-by-one modernization
Simply put: you take the complete existing application and convert it with no functional changes to the latest technology. Some low-code platforms provide tools that partially automate this process. Effectively, you get what you already had, but then with a more modern, attractive look.
Conclusion
So there is hope for organizations that have been looking for a way to transition away from their RPG systems for years. In many cases, by investing in an enterprise low-code platform for core systems, the same functionality can be achieved, but then in a far more modern environment. Which approach and platform you select, depends on the quality and complexity of the RPG application.
If you want to know more about replacing RPG, sign up for the webinar ‘Replace RPG with Thinkwise’.