Attention Synon Users: You Can Automate Your Move To RPG Free Form And DevOps
April 3, 2019 Philippe Magne
Depending on who you ask, there are about 1,000 IBM i shops that used the CA 2E (Synon) CASE tool to create their applications and are still using this tool to maintain those applications. This is not an easy task any more, and there is a much better way.
After three years in development and very stringent testing with five early adopter Synon shops, ARCAD Software is rolling out what it calls Modernization as a Service, or MaaS for short, which seeks to completely automate the move from Synon generated code to modern RPG Free Form, SQL, and a complete DevOps stack.
The Synon CASE tool is one of the many “milking cows” of CA Technologies, the original software conglomerate that is now owned by chip maker Broadcom. It has been nearly 20 years since Synon had major enhancements.
We are at the point where the acquisition of CA by Broadcom is causing some questions, but the most serious issue that we are addressing is skills depletion. It is already really difficult to find Synon developers, and trying to develop in Synon is far more challenging than using modern RPG Free Form. Synon is undeniably a good product, and was very efficient back in the 1990s as a means of rapid development at that point in time. But in today’s DevOps world where massive efficiencies derive from parallel development and frequent, incremental deliveries, we find ourselves in a situation where Synon is absolutely not adapted. Application development on IBM i is resolutely multi-project and a Synon developer cannot operate within the DevOps toolchains of today.
Yet custom applications developed in Synon are usually the “business-critical” ones. They are a strategic asset and also a considerable investment. They answer specific requirements that can never be covered by a standard third-party ERP. We developed our MaaS offering to help IBM i shops exploit the business value that these Synon applications represent. Our overriding goal is to eliminate risk: the conversion process is so highly automated that we actually guarantee results with a fixed price offering. Even regression testing is automated and an integral part of the overall process. With MaaS, Synon shops can future-proof their applications, converting to a modern language secure in the knowledge that their code is regression free.
Too Good To Be True?
Getting 100 percent automation for the conversion of Synon to RPG Free Form? This may sound like a story that is too good to be true, and while that is often the case, sometimes in life the good story is the true one. In fact, there are two reasons why we have been able to achieve what previously seemed impossible. Firstly, remember, we are converting code that has actually been generated by a CASE tool, which is by definition far more consistent than any “hand-coded” application. Our conversion process also optimizes the generated code, eliminating duplication, and successfully reducing the volume of code by a factor of 3X on average. The result is highly readable Free Form code that the new generation of developers can easily understand and maintain.
Secondly, we have not started from scratch with our MaaS tooling. We have built the ARCAD-Transformer CASE tool on top of our proven RPG Converter, which we launched back in 2013 (and rebranded as Transformer RPG), and also over Transformer DB which converts the Synon physical/logical files into DB2 for i tables. Continuous regression testing with our Verifier tool is built-in, along with our ARCAD for DevOps framework. These solutions all contribute to a “shift left” of defects to minimize cost and risk in a MaaS project.
I won’t deny that building this conversion tooling has not been straightforward. Synon is a 4GL, whereas RPG Free Form is a 3GL, so you might think you are losing some value along the way. But one major advantage with RPG Free Form is that you automatically gain access to all the new technologies on IBM i, which were “out of bounds” from the confines of a Synon application. Take data-centric programming for example, or the use of BLOBs and CLOBs, which are taken for granted in many modern IBM i applications today.
DevOps Tooling And Results
This service will be compelling not just because we can convert Synon to RPG free form, but because we also take that code and put it into a modern DevOps framework. In fact, the conversion service includes the use of DevOps tools such as GitHub for version control (the variant called ARCAD for DevOps speaks IBM i and open source particularly well), Jira for issue tracking, and Jenkins for continuous integration and continuous delivery. This open delivery pipeline is usually retained after the MaaS project is complete, especially in shops who develop both in RPG and other languages like Java. To “shift left” even further and detect defects even earlier in the process, customers can also adopt additional ARCAD modules, such as CodeChecker for code review. Those moving off Synon will also need the RPG compiler tools from IBM as well as Rational Developer for i (RDi) as modern IDE. Another productivity boon is ARCAD-Observer for impact analysis which reveals the dependencies in the converted code.
Of course, a MaaS project has the dual goal of both converting Synon code generated by the CASE tool into RPG Free Form, and also converting a Synon developer into an RPG Free Form developer!
Feedback from our customers, GEODIS and DUTEL, show excellent results. Our early customers saw their MaaS projects completed in a duration from start to finish of between 9 to 18 months, including the training necessary for the new tools including the DevOps framework. It is also interesting to team with local partners to provide the training for RPG Free Form, the RDi development environment, and the associated DevOps tools such as GitHub, Jira, and Jenkins.
Multi Project development
Before MaaS, you would be astonished at how our customers had been struggling to manage multiple development projects at the same time. Synon is a good tool for developing – but not for maintaining – and as soon as you embark on multi-platform development and drive to be more agile, then the job of managing different models for different Synon code changes is very, very time consuming.
DevOps makes it easy because the source code is managed within Git and GitHub. These tools offer powerful concurrent development features and extreme agility in developing new releases. The advantages from parallel branching, easy code merge and version management are game-changing for Synon developers. While some programmers are modernizing code in one branch, others are doing routine maintenance of code in another branch and Git enables and easy merge of enhancements done on each. We implement this DevOps framework before the Synon modernization project, so that customers can become accustomed to it before the code conversion even starts.
From there, once the code is converted, customers can go deeper in their modernization if they choose, for example to modularize their code further, develop microservices or simply develop a graphical front-end.
Regression Testing
One of the major reasons why IBM i shops hesitate before embarking on a Synon conversion project is the idea that changing 100 percent of their code will require a huge amount of effort in regression testing. Yet once again, because the conversion has been done on generated code coming out of the Synon CASE tool – and not by a mix of people with different programming styles – the converted code is highly reliable and the regression testing effort is relatively small. To give an example, one early customer converted 8,000 programs, and needed only to create 120 regression test scenarios, easy to record and replay with ARCAD-Verifier. Many Synon shops have thousands and even tens of thousands of programs, and some have hundreds of developers. So these are big projects in many cases, and the strong methodology used in MaaS helps eliminate modernization risk in such large scale accounts.
Customer feedback has shown that there has not been any appreciable difference in performance between the Synon code before and the RPG code after. Indeed, we have seen a performance jump in the cases where former Synon shops with physical or logical files convert to DB2 for i tables. Another key advantage from MaaS is the introduction of a true date field or timestamp, which renders the application interoperable and the database accessible via SQL.
RPG Free Form Versus Java
We’ve seen cases where prior to MaaS, the Synon developers have been reticent to change. But because MaaS conversion retains the same field names in applications, the converted code is easy to understand. The Synon developers do need to learn RDi and the Free Form RPG syntax, but within a couple of months they become as productive with the new tools as they were with the Synon CASE tool.
This is the key point: not only do we convert the code, but we place the programmers in a modern development environment. This resolves the resource shortage for Synon shops. Our customers have found that their Synon developers are rapidly productive in the new environment, and they can also hire new programmers with no prior RPG experience. That is the beauty of RPG Free Form: Programmers coming from a Java background, for example, can easily read the code and maintain it.
This leads us to our last point. Why convert to RPG Free Form instead of Java? Many companies have this initial reaction when considering a modernization approach. Yet they overlook the massive architectural challenges of converting IBM i business processes over to a born on the Web language like Java. If you look closely, it is clear that each language is adapted to this or that technology environment. Java has been specifically designed to meet the needs of Web development and its surrounding ecosystem. It is an outstandingly poor match for the kind of mass batch processing that is needed in a business application running on IBM i. A rewrite of an RPG application in Java – if possible – is therefore a highly risky operation. That’s why we at ARCAD firmly believe that RPG Free Form is and will remain the main language of the IBM i platform. Obviously it must co-exist with all the languages of the open world, but RPG remains unchallenged thanks to its deep integration with the underlying platform and the performance benefits that ensue.
This content is sponsored by ARCAD Software.
What about COBOL? We have an application that is written in SYNON COBOL. When we went to V7R2M0 and re-compiled, the execution halts with “STOP RUN”. There are over 50 “STOP RUN”(s) in many of the programs. We have to compile PREV(VR6R1) to continue using. So we can’t go to V7R3 as we can only go back to levels.
Hi, we did a modernization from Synon cobol generated
to rpgfreefrom. This customer is in production today in current of version, using Rdi to màage their programs.
Hi Tim,
Our solution is useable in your contexte too. There is just a preliminary phase that will consist in regenerating everything in RPG. There are few things to know in order to accomplish that properly as the Cobol and RPG comiler are not exactly behaving the same. The first customer we’ve converted was also a Synon Cobol user.
Tim, I would be interested to get in contact with you about your issue. I’ve worked with 2e cobol clients who are on the current OS release (7.3) and are not experiencing your problems..