450,000-Line RPG App Converted to .NET in Six Months
August 21, 2007 Roger Pence
When the StoneEagle Group set out to transform the character-based user interface of its green-screen enterprise application to a modern browser user interface, the company knew what was needed and it knew a two-year rewrite project was an unacceptable price to pay. After selecting ASNA‘s Monarch for the project, StoneEagle ultimately got where it needed to go, and the trip was completed in just six months–a schedule that demonstrated this software company is on top of its game.
The StoneEagle Group, located in Richardson, Texas, specializes in providing software solutions and enterprise administration systems. For 40 years, these solutions have been used by industries such as insurance carriers, banks, automotive dealers, dealer service providers, and credit unions.
One of StoneEagle’s products, SEcureSCS, is a multi-functional suite of applications that create safe and secure connection points between automobile dealers, banks, and credit unions. Using the current technologies, this application suite provides administrators with enterprise-wide integration across business boundaries. StoneEagle team members have been designing and providing specialized software applications specific to the financial services and automotive-related industries since 1967. With over 150 years of cumulative insurance programming experience, the StoneEagle mission focuses on providing fully supported software packages and administrative systems.
SEcureSCS was originally written for the AS/400. About six years ago, the StoneEagle team started some investigative efforts into ways to modernize the look and feel of SEcureSCS. Brent Allen, president of the StoneEagle Warranty Division, describes the decision to improve the application suite as a quality issue. “As more full-featured user interfaces started making their way into enterprise applications, we knew we needed to ramp up the quality of the SEcureSCS user interface. Despite the underlying quality of SEcureSCS, customer perception is very important. We realized that the time was rapidly approaching when browser-based, graphical user interfaces would simply be assumed as a given part of a quality software solution.”
If at first you don’t succeed …
The programming team at StoneEagle spent quite a bit of time with several application modernization products, including IBM‘s WebFacing Tool, trying to modernize SEcureSCS. SEcureSCS is a large application with many OS/400 program objects. StoneEagle did not want to, nor did it have the luxury of, rewriting the application. It simply needed a way to extend and enhance the existing application’s user interface. After failing to get the desired result with the WebFacing effort, as well as unsuccessful attempts with other products, StoneEagle was ready for a different approach.
Because StoneEagle had some Microsoft infrastructure in place, the notion of morphing SEcureSCS into a Microsoft .NET-based solution was appealing. The StoneEagle team turned its attention to ASNA Visual RPG (AVR) and ASNA Monarch. Visual RPG for .NET is a .NET-based RPG compiler that connects applications to either the System i or Microsoft SQL Server databases and Monarch is ASNA’s migration suite that transforms green-screen RPG applications into AVR for .NET applications.
Says StoneEagle’s Chief Information Officer, Johnny Sides: “With just a little exposure to ASNA’s products, we thought that we had found a winner. However, given the previous modernization mis-starts we’d experienced in the past, we were, as you might guess, more than a little skeptical. Our experience has generally been that when vendor claims sound too good to be true, they generally are too good to be true. ASNA’s claim of being able to modernize our applications with a minimum of fuss and bother, however, turned out to be true.”
It’s still RPG!
Because ASNA Monarch converts RPG/400 or ILE RPG programs into ASNA Visual RPG, the existing RPG coding skills of the StoneEagle team could be leveraged. This was a very important consideration for StoneEagle. One of the critical metrics for StoneEagle was the time it would take to modernize its applications. Because the converted code remained RPG, albeit with a modern, object-oriented syntax, the learning curve to maintain and modify the converted code was minimal.
“Our time to market was a primary consideration,” Sides says. “Not only did we need our application enhanced, but we wanted to be able to do it with an environment that would be comfortable and adoptable by our current staff. We didn’t want to hire a bunch of C# or Java contractors–we needed to do things ourselves. ASNA Visual RPG and ASNA Monarch did that nicely.”
Sides and a couple of the StoneEagle programmers attended five-day classes on both ASNA Visual RPG and ASNA Monarch. This training provided the basics on .NET, Visual Studio, AVR, and Monarch for the team. A couple of members of the team also worked with their applications alongside ASNA Monarch engineers at the ASNA San Antonio office for a week. “ASNA training was key for us,” he says. “It got us up to speed quickly and let us be productive very quickly. All throughout our project, ASNA provided us with attentive one-on-one training and good e-mail assistance.”
The migration/modernization process
When ASNA Monarch modernizes an existing interactive green-screen RPG program, it creates an AVR for .NET ASP.NET browser-based project. That project comprises all the source code for the original application (including DDS, CL, and RPG). The user interface is ultimately rendered in HTML (as defined by the original DDS) in a browser. The RPG and CL logic is executed on a Windows 2003 server, which is connected through the ASNA database engine, DataGate, to the System i.
StoneEagle’s green-screen RPG code is highly structured and modular. The first step to migrate and modernize this code was using ASNA Monarch to investigate and organize the RPG programs into logical units, determine object dependencies, and create migration units (Monarch calls them “gameplans”). The StoneEagle team then migrated and initially tested each gameplan. The generated AVR for .NET ASP.NET projects were tweaked and modified as needed before testing. After final compilation and initial testing, a gameplan represented a fully working application.
Sides explains, “At this stage, the application was working in its new environment, but its UI was still rather raw and plain. We then turned the working project over to others on our development team, including our Webmaster, for minor program enhancements and a substantial user interface nip and tuck.” A few finished UI panels can be seen here. It’s hard to believe that the silk purse shown at that link started out as the sow’s ear of 24×80 green screens.
For final testing and Q&A, the finished programs were passed off to Scott Smyer, business analyst for the project. A core set of the programs, for demo purposes, were migrated, and being used for demos, in just two months. In the end, the StoneEagle team migrated 300 RPG program objects, which translates to about 450,000 lines of code, in six months–and that includes work done to cosmetically improve the user interface.
SEcureSCS, as it lives on the System i, is a rich and deep, mature application. It provides substantial functionality. In every possible case, if a program could be left on the System i (batch jobs, for example) they remained there. Many business processes, tasks, and programs continue to run unchanged on the System i. (AVR provides an effective CALL/PARM mechanism so it’s easy to leave OS/400 objects in place if necessary or desired.)
Dedicated to the System i
StoneEagle is a stalwart System i shop. Its efforts to modernize SEcureSCS were instigated to improve the perceived quality of the user interface. Having said that, StoneEagle didn’t get to be a 40-year-old company without adjusting its strategies as changing business rules dictate.
“While it’s not on our radar right now,” Allen says, “one of the added benefits of us selecting ASNA products to modernize our System i application is the ability to, if we ever determine business demand requires it, host our application using Microsoft SQL Server. In our current state, we’ve left lots of processes on the System i, so fully converting the application to MS SQL Server would require more work than just modernizing the user interface. However, we like that the fact the MS SQL Server is now a long-term strategic option for our once legacy-only application base.
“ASNA’s technologies let us convert and modernize our application’s user interface in six months; our estimates are that the same effort would have taken two years to rewrite. We were also able to do this and leverage our existing RPG programming staff. ASNA’s RPG-based technologies provide a comfort zone that allowed our existing staff to transition to .NET nicely. Because Monarch generates RPG, it allows our programmers to be productive quickly–not needing to learn a new language.
“The time to market with this modernization project was very important to us. We need to be able to show our current customer base and new prospects that StoneEagle isn’t stuck in a legacy rut. Existing customers and new prospects both expect leading-edge technology from StoneEagle, including applications with modern user interfaces. ASNA technologies enabled us, in just six months, to deliver on those expectations.”
Roger Pence is the director of education at ASNA and often writes about the System i. He can be reached at firstname.lastname@example.org.