Today, IBM i applications are facing several challenges. IBM i / AS400 systems, many of which were originally written in RPG or COBOL, are robust and reliable, but they often lack the capabilities today’s users expect.
Over the years, IBM iSeries applications have been adapted to meet new business requirements. Software engineers have not only fixed bugs but also updated IBM i systems to meet new regulations as well as improve their performance. These adaptations happened over decades leading in many cases led to a complex and hard-to-maintain codebase. Often, there is no or minimum documentation about an app, as developers that originally developed an IBM i application have already retired or will retire within the current decade. This makes it hard for new software developers to fully understand the code and make user-driven changes without breaking the whole system. Eventually, the cost to maintain IBM i / AS400 applications has gotten quite high: in some cases, over 80% of IT budgets have been allocated to software maintenance activities instead of to delivering new customer-facing solutions.
Over 80% of IT budgets have been allocated to software maintenance activities instead of delivering new customer-facing solutions.
Moreover, the push for IBM i application modernization is driven not only by high maintenance costs but also by a widening gap between the capabilities of these systems and the latest software development demands from all sides of the process. Current-day developers favor languages like Node.js, Java, or Python over IBM i syntax. This situation, compounded by the fact that many RPG/ RPGLE engineers will reach retirement age in a few years, creates a shortage of RPG knowledge holders that can maintain as well as modernize IBM i applications.
According to a report by ASNA, in 2030, the average IBM i software engineer will be 80 years old. A lack of software engineers makes it challenging to keep IBM i applications current, putting business continuity at risk. As a result, demand for RPG skills outstrips supply.
Why is RPG programming still in demand?
Today, RPG continues to be the main development language for IBM i applications. Even though there have been worries it will fade away, with IBM’s modernization efforts, RPG is still a viable software language. Here’s why RPG is still in demand:
- IBM model interoperability: IBM offers a hardware–software solution as a key part of their business model. IBM’s integrated solutions offer a comprehensive ecosystem that includes not only hardware but also a powerful database together with a set of applications. This makes IBM applications compatible, interoperable and decreases the risks integration with other systems.
- Existing systems and infrastructure: Many businesses — especially in the InsurTech, banking, manufacturing, and retail sectors — have already invested money in IBM iSeries hardware that was designed to work on RPG/RPGLE. Indeed, 70% of respondents to a 2023 IBM i Marketplace Survey use IBM i to run more than half of their core business software. Applications developed for IBM i/AS400 are quite often business-critical turning into imperative to the functioning of the whole organization. Therefore, while getting ready to shift to an alternative solution, companies need to have a clear plan. It’s essential to have a comprehensive strategy that meets specific requirements and generates the desired outcomes, just as the existing system does.
- Reliability and security: IBM’s iSeries systems are secure, reliable, and perform well. Many businesses have been relying on AS400 apps for decades, which is one of the reasons why organizations still trust them today.
- Demand for RPG skills outstrips supply: Many IBM i (AS400) systems continue to power significant aspects within critical industries, including manufacturing or banking. The robustness and reliability of these systems have kept them in operation for decades. However, as technology advances, these systems require updates to ensure continued efficiency. Indeed, 66% of respondents to a 2023 IBM i Marketplace Survey plan to upgrade hardware, software, or both for their IBM i systems. What’s more, 93% of respondents to the same survey have indicated that RPG remains a primary software development language for IBM i applications. Since IBM i applications are often mission-critical, high demand for RPG engineers continues, as they help ensure the business continuity across the whole organization.
- Integration with new technologies: IBM i applications often need to interact with newer systems that are powered by web services or APIs, that are built on modern databases, or that are built with contemporary programming languages. This is particularly prevalent in enterprise environments, where integrating disparate systems is a common challenge. Therefore, software engineers tasked with developing logic or facilitating communication between these cutting-edge technologies and IBM i must possess a deep understanding of RPG. This ensures seamless, effective, and accurate integration, bridging the gap between legacy and modern technologies.
- Modernization initiatives: Over the years, IBM has enhanced their iSeries with new capabilities and has made several attempts to modernize RPG. Newer RPG versions like RPG IV together with ILE RPG were developed using the latest programming concepts to bridge the gap between RPG and popular modern software development languages. These RPG applications are more than just lines of code; they encapsulate years of complex business rules and workflows that are an integral part of many organizational processes. Moreover, RPG plays a key role in the management of IBM iSeries DB2 databases, making it an indispensable software development language for maintaining as well as upgrading existing systems. Consequently, despite the challenges of working with RPG, many organizations find it less disruptive to modernize and maintain their RPG applications compared to rebuilding them using newer technologies, although doing so will have a high business impact in the long run.
- Step-by-step transition path: More and more companies are gradually transitioning from RPG to new software engineering languages. In transition time, RPG/RPGLE knowledge is essential to make sure that business operations run seamlessly hence the transition is effective.
It’s important to mention that today’s answers to prolong the use of IBM i systems are more of a quick fix for the next few years. Building future-proof business strategies demands more complex solutions and scenarios. Let’s see what the options are.
IBM i application modernization solutions and scenarios
Modern programming languages make the limitations of RPG increasingly apparent. Unfortunately, those limitations outweigh the benefits. The main issues include a lack of RPG programmers, troubles understanding/supporting RPG code, and the scarcity of opportunities to integrate with present-day technologies.
Addressing the challenges faced by IBM i systems requires a multi-pronged approach. Luckily, there are several possible scenarios:
- Refactor and modernize IBM i/AS400 software: Cost-effectiveness is a major consideration for organizations when it comes to maintaining their IBM i systems. Therefore, companies are exploring ways to seamlessly optimize and cost-efficiently modernize existing IBM i applications.
- Rewrite the codebase using modern programming languages and frameworks via reverse engineering: Software architects can take your business logic documentation and module description and craft a new system from the ground up. This process should preserve the original business logic.
- Train and educate: One possible solution is investing in training or upskilling existing RPG engineers to learn new programming languages. This will help to preserve business knowledge within the same team of people while enabling them to rewrite existing software using new programming languages.
- Keep the current IBM i solution in place. IBM i provides a combination of software and hardware offerings in a bundle. This nature of IBM’s offerings reduces the risks associated with integrating different systems, as all applications work seamlessly together. These integrations have been refined over time and are tightly woven into the fabric of the business processes. Consequently, replacing an AS400 application entirely will require substantial efforts to reproduce the system. By maintaining their current RPG applications, organizations can avoid disruptions to these integrations and ensure smooth operations.
RPGLE code refactoring and modernization primarily focuses on improvements to the IBM i codebase. It involves converting the original RPG or COBOL code into more modern programming languages responding to specific business needs. During code refactoring and modernization, the structure as well as readability of the IBM i application code is improved, and the complexity of algorithms is reduced, making the application easier to maintain and manage. It’s about modernizing the system while saving its original business logic to respond to users’ needs.
64% of businesses are considering modernizing their IBM i applications.
Source: 2023 IBM i Marketplace Survey
The best solution here is to partner with a software engineering company, like Intellias, that has both hands-on RPG experience and a proven track record of delivering software solutions using a different set of technologies. This approach focuses on minimizing risk or disruption while maximizing the value you get from your existing IBM i applications.
While engineering a new system from scratch is a worthy option, it’s important to understand that this scenario is not the most common. In many cases, there may be a lack of comprehensive documentation, making it challenging to fully figure out all complexities of the existing RPG system. Instead, what is often encountered is auto-generated code with minimal or no comments, leaving little guidance for programmers.
In such situations, the talent and expertise of software engineers become pivotal. Engineers serve as the key knowledge holders that can bridge the gap between the current AS400 application and the progressive new system. Regular communication and feedback sessions with business stakeholders help to ensure that the new system aligns with desired objectives and meets the organization’s evolving needs.
Additionally, in the previous scenario, it’s reasonable to partner with an agency that has already delivered reverse engineering projects, shifting from RPG to modern programming languages. The efforts mentioned above will be paramount in aiding organizations that rely on IBM i applications to stay competitive in a rapidly evolving technology landscape.
Alternatively, companies might introduce RPG programming to developers who already write code in modern languages such as Node.js, Python, or Java. This will alleviate the talent shortage while keeping IBM i applications maintainable and current.
However, it’s important to understand that relying purely on IBM i may not be a future-proof business strategy. The market exhibits skepticism towards the longevity and adaptability of RPG. While continuing with your existing system can be a feasible option for the present, it is essential to explore other strategies that can help your organization stay ahead in the long run. Embracing modernization efforts and leveraging emerging technologies can open up new possibilities, helping companies remain competitive and agile in the current business environment.
The way forward: empowering your organization with IBM i application modernization
Summing up, IBM i has enjoyed an abundant history of robustness and resilience. Yet, as businesses and technologies continue to evolve, so too must IBM i. Although it may seem that the future of IBM i applications is bleak, they won’t disappear overnight. The banking, insurance, retail, and manufacturing industries still rely heavily on AS400 systems, and these applications are often business-critical.
Therefore, companies that want to win in the long run need to choose wisely and start the IBM i application modernization process with a reliable technology partner by their side. With over 20 years of experience, Intellias is a trusted name in the industry, helping organizations all over the world accelerate their legacy modernization journey. We offer software development services and strategies to help companies transform existing RPG systems, both improving their maintainability and efficiency while responding to business needs.
IBM i application modernization is a crucial step for businesses looking to streamline their operations, unlock new possibilities for their success, and stay competitive.
Contact us today to get a personalized assessment and an IBM i application modernization roadmap. Embrace the power of IBM i application modernization with Intellias.