North Carolina Bar migrates its RPG to .NET using ASNA Monarch
At a glance…
Since 1899, the NC Bar Association provides professional support to more than 75% of the state’s lawyers, and uses an IBM i to run back office applications.
The NC Bar Association must develop a system that transcends the IBM i as well as be maintainable and extensible by a development staff dominated by Windows programmers. The Bar developed a strategic initiative to migrate all RPG applications to Microsoft .NET.
Using ASNA Monarch, NC Bar was able to eliminate its dependence on the green-screen RPG-based IBM i while leveraging its RPG-based assets (including its team’s intimate knowledge of the business and its applications).
- Rapid support for strategic initiative to reduce reliance upon RPG programs and move applications development to .NET
- Used existing programming resources
- Short learning curve and immediate productivity from development staff
AVR.NET, ASNA Monarch, IBM i, OS/400, DB2/400
The North Carolina Bar Association has been serving attorneys and the public with legal services for so long that the organization is now in its third century of operation! Founded in 1899, the NC Bar Association provides professional support, lobbying on issues, continuing education programs, lawyer referral services, and pro bono legal services support. About 75% of North Carolina’s lawyers, more than 11,000 of them, are members of the NC Bar Association.
The NC Bar Association has used an IBM i to run its business for many years. Virtually all back-office aspects of the organization are currently performed using IBM i-based RPG programs. Like many IBM i-centric organizations, these programs have been around for years—in some cases more than 20 years. Sally Maddox, a system programmer/analyst with 18 years of RPG programming under her belt, is the NC Bar Association’s project leader in charge of those programs—and their ultimate destiny.
Sally explains, “We’ve been a big fan of the IBM I and have used it for many years. I was instrumental in writing, or actually wrote, most of our programs—and have been maintaining them since over the years. Over the last couple of years, in the course of strategic planning for our business systems, we’ve come to realize just how much knowledge about our business, our applications, and our business processes is locked up in my head.”
The NC Bar Association needs Sally to develop a system that transcends IBM i dependence as well as be maintainable and extensible by other development staff—most of whom will have never even seen an IBM i. Sally and the NC Bar Association are solving this problem by using ASNA Monarch. Monarch is a suite of technologies that migrate RPG/400 and ILE RPG programs to the Microsoft .NET platform (generating 100% Microsoft Intermediate Language binaries like C# and VB.NET do).Sally is charged with migrating more than 1200 programs over the next 12 months—without a full complement of other development staff to help. Without Monarch, Sally’s project would require literally years of very expensive work and testing to rewrite these programs. Using Monarch, Sally is solving the NC Bar Association challenge in a timely manner and on a tight budget.
Sharing the tribal knowledge
The NC Bar Association’s primary dilemma is not an uncommon one amongst organizations operating and maintaining IBM i systems and applications. Much of the “tribal knowledge” of their systems and processes are locked away in the minds of a core group of IT professionals. Extending this knowledge—leveraging it to other members of the team—is a challenging and overwhelming process. It’s not that these organizations don’t have documentation, they usually do. But many times the nuances, the “feel” for what’s right and wrong about an application, and the general big-vision of the system, are hard to convey to newer members of any development team. This is especially true for RPG-based systems given that many of the newer members of a development team rarely have much RPG or IBM i experience.
We made the strategic long-term decision that ultimately we needed to move our applications off the IBM i. It was a big decision and one that was much easier to accept once we learned about Monarch.
The NC Bar Association came to the tough conclusion that retaining a dependence on IBM i-based RPG and green screen programs didn’t provide the foundation the Bar Association needed to resolve its long- term challenges. The mission was clear: to find the most non-disruptive way to eliminate its dependence on the green-screen RPG-based IBM i while leveraging its RPG-based assets (including its team’s intimate knowledge of the business and its applications).
Sally elaborates, “We made the strategic long-term decision that ultimately we needed to move our applications off the IBM i. It was a big decision and one that was much easier to accept once we learned about Monarch. Our plan called for reusing as many of our existing IT assets (including our RPG, our data layouts, data flows, and established work flows) as possible. We didn’t have the time, nor could we afford to target another platform and rewrite all of our RPG programs from scratch. We also needed a plan that would let us integrate our legacy RPG-based system onto an affordable and extensible platform for which programming talent is abundant and qualified.”
Monarch makes it predictable, safe, and easy
The NC Bar Association’s Web site is hosted on a Windows Web server—making Windows Server a natural choice for its new application server. With Windows Server as a target application server, and influenced by a business strategy to use Microsoft Visual Studio and .NET, Sally’s attention quickly turned to ASNA and its suite of .NET products.
“I was very intrigued when I first heard about Monarch. It didn’t just offer the ability to migrate my RPG to another platform—it offered the ability to migrate my RPG to another platform persisting it as RPG code. This was important to me; I didn’t want our source converted to Java or C#. Monarch also lets me run the resulting programs using either our IBM i or Microsoft’s SQL Server as our database server. And, to top it all off, the resulting system let us use our existing programming logic and source code in the Microsoft .NET environment. We’d also be pursuing a solution that could be maintained and further modernized by younger IT team members,” says Sally.
With something tangible to hope for, Sally set her sights on Monarch. Because Monarch generates ASNA Visual RPG projects, Sally reasoned that learning Visual RPG would be a good place to start. She attended an ASNA’s five-day AVR Web class late in the fall of 2004. While in San Antonio for the class, Sally also spent time with one of ASNA’s Monarch solution architects. He showed her Monarch and explained how it worked.
“I’ve been an RPG programmer for 18 years. I’m not too enthused about most PC programming options. I don’t like system-level coding and prefer the high-level power of a language like RPG. While attending the AVR class, I learned that it would indeed be possible to rewrite our applications from scratch with AVR. I also learned that it would have been an overwhelming task to try to do so with over 1200 programs. Monarch’s powerful discovery and analytical capabilities, and the fact that Monarch generated .NET RPG programs with our logic intact, made Monarch very appealing to me,” says Sally.
Back in her office Sally settled in armed with ASNA Visual RPG and Monarch. Without attending any other classes, Sally quickly learned the basics of Monarch. She was pleasantly surprised to learn that with only minimal Monarch experience she was able to migrate about five programs per day. She was also pleasantly surprised that Monarch made her work fun.
Over time, she’ll convert more complex programs (she started with the simpler ones first) and she doesn’t expect to be able to convert five very complex RPG programs per day. But the experience she is acquiring now has shown her that she will indeed to be able to migrate the more complex programs effectively. Several application groups (e.g., accounts payable, accounts receivable, and general ledger) comprise the NC Bar Association’s 1200 or so programs that need to be migrated. The largest is about 8,000 lines of code with the average about 2,000 lines. Sally has migrated both small and large programs—with little migration effort difference on her part.
She says, “As a long-time RPG coder, I’ve never cared much for PC programming. Monarch, though, makes this process fun. I actually look forward to doing it!”
On time and under budget
Today the programs that Sally migrates still use the IBM i as their database—server but are hosted as browser-based applications on the NC Bar Association’s Windows Web server. Ultimately these programs will be used by about 40 users, some local and some remote over a VPN line. The total conversion, including testing and some minor modifications, is expected to take about 12 months. Near the end of that time, Sally and the NC Bar Association IT team will swap out the IBM i database server for a Microsoft SQL Server-based Intel server.
“For us, this project is all about the time factor,” Sally explains. “We need to move, we need to preserve IT assets (both tangible ones such as source code and intangible ones such as my intimate knowledge of our system) and we need to do it quickly. Our overall goal is to migrate our RPG IBM i programs over to a Microsoft environment in a timely fashion. Monarch provides us with that ability.”
She concludes, “Whoever would have thought that the IBM i and Microsoft .NET platforms, the proverbial oil and water of technologies, could be integrated at all? ASNA has managed to bring these two together with little effort on the programmer’s part. Monarch was clearly the solution for us.”