ASNA Case Study: Integrating software packages with Visual RPG
Bridging vertical software silos with ASNA Visual RPG
Rick Schuster is one of us. He learned how to write RPG when Ronald Reagan was president. He cut his RPG teeth on the S/36 and then moved to the AS/400 when it came out in 1988. Despite Rick being a card-carrying RPG programmer, RPG is mostly just his hobby now. He spends his work days now being the Chief Information Officer for Marous Brothers Construction in Willoughby, Ohio (which is just outside Cleveland). As CIO, he isn't a coder, but rather directs Marous Brothers Construction IT resources.
Marous Brothers is a leading commercial construction company and has spent the past thirty-five years building some of the most recognizable commercial buildings in the Midwest. Their projects have included performance art theatres, government and healthcare offices, sport venues, sanctuaries and chapels, schools, multi-family housing, as well as an array of historical restorations and enterprise green communities.
The business uses several very expensive software packages for managing all aspects of commercial building construction. These packages are all Windows-based and connect to Microsoft SQL Server. While they each have some level of extensibility, the interoperability between these vertical silos isn't as effective as it should be. This is the story about how an RPG-centric CIO uses his RPG skills with ASNA Visual RPG (AVR) and DataGate for SQL Server (DSS) to integrate these software packages. With what is quite nearly a personal hobby project, Schuster has solved a great many business challenges for Marous Brothers Construction with ASNA AVR.
A lifetime of coding
"I've written information systems for years, first with RPG on the S/36 and then on the AS/400, and then later with ASNA's AVR Classic product (the COM-based first-generation version of AVR). I love writing code, it's one of my hobbies. I've almost always got a coding project of one kind or another I'm working on," explains Schuster.
When Schuster signed on at Marous Brothers Construction as CIO, he knew that he wouldn't be coding on a day-to-day basis. Rather, he stepped over into the dark side. Managing things, attending meetings, making decisions; all very non-codey things. Shortly after arriving at Marous Brothers Construction, the need for integrating the data from a variety of independent applications, each written without knowledge of the other, became quite apparent.
Schuster continues, "These vertical software packages are enormously expensive and any one is very capable. But in the construction business, we need several of these independent apps and have several different groups of employees using them. Our commercial construction projects must be meticulously managed across all stages of a project. To truly get a handle on things, we must integrate the data from these vertical software packages into a coherent, cohesive data store."
The need for this data integration had been an ongoing challenge for Marous Brothers Construction, and although Schuster wasn't hired as a coder, he was nearly sure that if he could marshal his RPG talents, he'd be able to pull the data together in a rational fashion.
AVR and DSS to the rescue
To solve the challenge, Schuster knew he needed a Windows-based development environment that offers database connectivity to SQL Server. As he considered his requirements, he remembered his experiences with ASNA's Visual RPG. Schuster had spent some time with .NET and VB/C# working with SQL Server, but thought he'd be more productive on this project if he could use an RPG-based product. With many other CIO-related important responsibilities, this project needed to be simple, quick, and not throw up a steep learning curve or other stumbling blocks. Schuster considered ASNA's Visual RPG for NET and its DataGate for SQL Server a good bet to help him solve the data integration challenges.
ASNA Visual RPG (AVR) provides the only RPG compiler for .NET and integrates that language tightly with Microsoft Visual Studio. AVR offers high-fidelity with the .NET Framework and offers a first-class editing experience inside Visual Studio. ASNA's DataGate for SQL Server (DSS) provides RPG-to-SQL connectivity. DSS translates RPG's record level access idioms to SQL's set-based idioms in real time—effectively providing an RPG program access to Microsoft's SQL Server with RPG record-level access idioms. With his sights set on solving his challenge, Schuster downloaded trial copies of AVR and DSS and dug in.
The initial suggestion that I could resolve our data integration challenge with my RPG skills was initially met with some skepticism. But in short order, an ASNA Visual RPG pilot project provided enough confidence to management to green-light the full data integration project.
Rick Schuster, Chief Information Officer
Under his own power
Schuster's previous experiences with AVR Classic and .NET proved helpful and he was quickly finding his way around AVR for .NET. Once installed, DSS is essentially transparent to programmers. With DSS installed, database access to SQL Server is done simply through traditional RPG file access OpCodes (eg, CHAIN, READ, and SETLL)—there is essentially no learning curve to DSS for RPG coders.
Schuster elaborates, "While AVR for .NET is similar to AVR Classic, I did get a little mentoring and training help from ASNA's services department. Once ASNA pointed me in the right direction, I got very productive on my own quite nicely.
"I'm the type of coder who, when given an example that is close to the challenge I need to solve, I can generally figure things out. I broke our data integration challenge down into several chunks, and was able to apply ASNA-provided code to each of these chunks. One of the latest parts of the puzzle I've resolved is reading and writing Excel data with AVR. ASNA's tech support provided me with just the help I need using the EPPlus library with AVR to solve the Excel parts of my challenge."
With ASNA's help, AVR and DSS have empowered Schuster to solve a long-standing challenge that had plagued Marous Brothers Construction for a long time. Traditionally, RPG skills excel in cases where there is an IBM i somewhere in the mix. But Schuster's experience shows that with a little out-of-the-box thinking, you don't need an IBM i to solve challenges with RPG skills—you just need AVR's modern implementation of RPG and a little creativity.
Schuster concludes, "The initial suggestion that I could resolve our data integration challenge with my RPG skills was initially met with some skepticism. But in short order, a little pilot project provided enough confidence to management to green-light the full data integration project. Through it all, with a little help from ASNA's services and tech support, I was able to solve our data integration challenges with AVR where others had failed with far more expensive efforts."
Screen shots from Rick Schuster's ASNA Visual RPG for .NET app are shown below: