By Adrian Tully | Dec 9th 2021
A Cloud Security Alliance report suggests that 90% of CIOs have experienced failed or disrupted migration projects. Failures due to a lack of understanding or incorrectly applied industry practices, or the non-functional aspects of a migration project, failing to ensure scalability, reliability, and performance can all impact on the success of any migration project. There is a better way to approach migration of your legacy applications, don’t do it!
A New Risk
Legacy vs Heritage
Industry-standard tools like Git on IBM i
A Modern Testing Suite
Web Services in 10 minutes?
1. POWER Technology
Your RPG fixed format codebase is running on a platform that also enables IBMs AI to function, it’s the backbone of hybrid cloud provision, it’s rated number 1 at delivering the highest reliability by ITIC Global Reliability (and has been for 12 years). The POWER platform behind the IBM i allows us to utilise the latest technology to provide the business logic our organization needs in a stable and reliable method. Why would you move away from a proven reliable platform that is under constant development to ensure it is kept at the cutting edge of technology?
2. A New Risk
We manage risk every day. Every time we deliver a change to our production systems there is risk involved: have the business signed off on the delivery window? are the operations teams ready to perform the implementation? are the installation steps clear? These risks don’t go away just because it’s a familiar platform or a programming language that we have a team of experts in, but the risks are mostly mitigated against. We’ve done it this way before, we normally do it this way successfully and the business stakeholders are happy in their expectations that we will be able to deploy our changes to them with minimal negative impact to their systems and their customers.
Now we’re trying to deliver a new platform (risk), a new application (risk), with a new interface (risk) to the business. We’re going to rewrite (risk) the application they’ve been relying on with new change delivery mechanisms (risk) on unproven architecture (risk). A revolution in the way the business runs (risk), a disruption to the current processes (risk) to bring in newfound efficiencies (hope).
Before we move too far from that word “disruption” are we really going to take the team of RPG and Business Application experts and turn them into a close team of junior programmers who we will rely on to build the brave new Java world, and who is looking after the business while we write the new applications needed? The risks are spiralling and there is a better way to approach this – there is a way we can avoid the 12-month post-dated revolution and look at a more cautious path. We’ll be delivering smaller changes more quickly with less risk, less exposure to failure, less impact to the users and customers. Yet we can still modernize, we can improve our code base to something more recognisable to new coders. We are not using RPG3 anymore (mostly), and the RPG language has evolved into a modern free format code that can utilize the best of the IBM POWER platform.
3. Legacy vs Heritage
Historically code converters couldn’t be relied upon, but now with near 100% conversion rate to fully free format RPG across your bespoke application all that has changed. ARCAD Transformer RPG can be used on your legacy application source to create modern free format RPG while retaining all the existing functionality. Moreover, RPG is the native language of the IBM i so we don’t have to risk those unknown performance issues we face when moving to a new language on a new platform.
This Free Format code is helping future proof your application. With Free Format RPG being easier to read, easier to code, and easier to document, it’s reducing the costs and time taken to maintain your legacy application. Free Format is also opening up your talent base to a new breed of application developers. You can integrate your .NET and Java programmers into your heritage application team as the learning curve for free format RPG is very low for existing RPG developers – but also for your open system developers as well. Without the fixed structure of the code RPG has a modern style which is easy for new developers to relate to, especially when paired with the right tooling.
ARCAD Transformer RPG gives you a one-click conversion from RPGLE to free format RPG and you can do this from your eclipse plugin on RDi. It has been developed in collaboration with the RPG Compiler team at IBM and if the compiler is happy with the conversion, then you can be reassured that you will retain the business advantage you’ve been developing over the past decades.
4.Industry-standard tools like Git on IBM i
We’ve converted our legacy fixed format code into modern heritage free format RPG and now we want to improve the way we work with it. Now that our developers are working on modern code they’re trying to manage their multiple branches of development. Over on the non-i side of the business, development teams are already familiar with Git and its repositories and can easily manage merging the changes of features into the release branch, and there is no reason we on the IBM i can’t take advantage of the tools out there as well. We can store RPG in our Git repositories, we can use that to manage our branches, our concurrent development and merging the changes into a single release version to be deployed into production.
With ARCAD for DevOps you can now take that source from Git and automate your development pipeline. We can trigger a build of a branch or version automatically when the latest changes have been pushed to the repository. Using the ARCAD plugins to automation tools and the webhook functionality within we can start to modernize not just our application code but also the way it is built, the way it is tested, and the way it progresses through the development cycle. We can remove a lot of the manual activity that our coders were previously forced to do – and manage the testing environments so that test data is refreshed automatically. We can also automate the unit testing so that we are using the best tests for the changes that are going into our application. We can catch the errors sooner in the cycle before they start to become expensive, embarrassing production issues.
5. A Modern Testing Suite
ARCAD iUnit allows your developers to pool their individual unit tests and combine the best tests into a single repository to ensure that changes are always fully tested before reaching QA. This reduces cycle time and removes the rework of ad hoc unit tests that are specific to a single developer. Integration of ARCAD iUnit with IBMs code coverage allows you to evidence the testing strategy providing your stakeholders, and auditors, with more confidence in your process of delivering the changes they’ve asked for. Improving the evidence of testing also helps you find the gaps – which functions aren’t being tested and where do the risks lie. You’re not just reassuring the business but you’re putting in place solid improvements into your development cycle. ARCAD iUnit has been built in line with jUnit and all the ARCAD iUnit test cases can be exported into jUnit – this way you don’t need to retrain your new coders and they can continue to use the unit tests they’re comfortable with. ARCAD iUnit also provides an interface that your legacy coders can follow easily, with automatic identification of required parameters and the ability to mock procedure calls, file interactions, or even calls to programs that don’t yet exist. This can all be initiated through your automated pipeline as well, with unit testing of your changes becoming part of the process. There’s no need to go back to your developers to chase up if the changes have got a unit test of some description, because this is all now part of the process, evidence automatically collected and stored.
ARCAD Code Checker follows on from your unit tests and starts to look at the quality of your code reporting on things like the complexity of your code, how much technical debt your application has, or are modern coding practices being followed. It also pinpoints hotspots and security vulnerabilities. With almost 100 rules in place and the option to add more of your own, you’re able to discover more about your application source code to remove the inefficiencies that have built up over the years. You’re enforcing your standards onto the code that’s being written, leaving the old practices behind as you modernize to a full free format modularized application delivering services to your end users faster than ever. Best of all, now you’re improved the base application, there’s no need to have a revolution in the application. Modernize your processes and take the revolution there – while meanwhile letting your developers benefit from the automation of the steps that have been taking them away from coding. Your senior developers no longer need to check all the changes that new developers have been making; they can use their time to do what they excel at, coding your new modern application.
5. Web services in 10 minutes?
Of course users and customers become more demanding every year and are always looking for the data they need in a quick and easy way (is there something missing from the new app that we need to go to the IBM i to get?). This is where ARCAD API comes in. Without rewriting your green screen application you’re able to utilise the logic you’ve already built into your application to build Web Services. By recording scenarios in a drag and drop interface, without any programming knowledge, you can create a Web Service allowing you to interrogate the IBM i application and return the result to your web service; and update the IBM i with information fed to the Web Service. Your application remains unchanged, and your business logic and security remain in place. The scenarios can manage unexpected screens or subfiles so that no matter how complex your application, you can create a web service to allow the data to be shared.
The web services can be deployed to any application infrastructure, on premise, cloud, or hybrid. ARCAD API is also compatible with any API Gateway such as Kong, Axway, Amplify etc.
We’re doing all of this without that revolution on the other path. Our users are getting the modern benefits without having to relearn everything. It’s still the application they know, it still runs as fast as it ever has, a little faster in some cases, and now they’re getting faster development, along with new functions added to the app so the customers can have the information at their fingertips. In turn this gives back time to the business to generate more customers, improve the relationship with existing customers by allowing them to focus their time on growing the business.
In some cases there could be a benefit to migrating your existing application, but if we’re to look at the results of other companies who have attempted this revolution, it tells us that we should not underestimate our IBM i platform and the tools that are available for it. In many cases the evolution of your application into a more modern solution for your customers is the right thing to do. How much benefit could you deliver to your business in a year using the expert team you currently have, rather than have them learn Java and spend that year trying to build a new business critical application in a language they’ve just learnt. Adopting the ARCAD toolset allows you to use the modern pipelines, move to an Agile methodology for your development, and deliver smaller changes more often through an automated process. Embrace DevOps and the efficiencies that brings to your change cycle, enhance what you have in place at a speed that you’re comfortable with.
The IBM i platform you are on is reliable – your end users don’t wonder if it’ll be running on a Monday morning after an update. They just know that you’re delivering business logic to improve the way they can run the business and they’re getting more benefits quicker without everything becoming confusing. The ARCAD tools can help you get there at your pace. We’re breaking barriers that have been holding your development back, we want you to deliver more, to be more successful, to have your best developers doing what they’re good at.
Implementing a DevOps strategy on IBM i? Engage your IBM I teams – Read our White Paper!
The post Avoiding the pitfalls of legacy application migration [There is another way] appeared first on ARCAD Software.