BAI Offers Tax Payment over the Web with ASNA’s AVR for .NET
April 20, 2004 Robert Boyd
Annie Powell’s real estate taxes were due. The county tax assessor’s office was just outside of Richmond, Virginia, so on her lunch break she sped there to pay them. When she arrived, eight people were lined up in front of her. Sullen, she got in her car and returned to work. What Powell didn’t know was that two developers for a municipal software house in nearby Jonesborough, Tennessee, had just started a project that would have let Powell pay her taxes online.
For 20 years, software developer BAI Municipal Software has written RPG-based applications to manage revenue-centric activities for municipalities, such as counties, cities, towns, and villages. Its software handles property tax payments, dog tags, and everything in between. BAI has 86 municipalities as customers and has no sales staff. All of its business has come from word of mouth. And in 20 years BAI has not lost one customer.
In 2002, BAI began looking for a way to Web-enable its RPG applications. Meanwhile, elected officials from a few of their client municipalities scattered throughout Virginia, Kentucky, and Tennessee were hinting that a simplified Web-based bill payment system would be looked upon favorably by their constituents.
THE SEARCH BEGINS
As BAI programmers searched for a tool to produce Web-based apps, there was one important consideration, recalled developer David Bright: They needed to produce these applications using existing programmer knowledge and language skills. BAI’s lead developer, David Jarrett, had 17 years of RPG experience, and Bright had seven years of experience in Windows and Web page design. Neither had direct experience with Web development methodologies. “We did not want to learn a completely new programming language,” Bright says. “Learning C++, or something like that, could take several months.”
Bright investigated IBM‘s WebSphere and VisualAge for RPG development tools, California Software‘s Baby/400, and other Web application development tools. “We talked to several third party software vendors like ourselves and heard how hard it would be to use WebSphere,” Bright says. He then looked at Baby/400 but decided that refacing the company’s green screens would not give them the level of flexibility they desired. “To maintain continuity and ease of use, we design our screens very carefully from the ground up,” Bright says.
Further research led Bright to another approach, from ASNA.
INSIDE AVR FOR .NET
ASNA Visual RPG for .NET is a programming language and a development environment that plugs into Microsoft Visual Studio .NET 2003. As a Windows-based RPG compiler, AVR for .NET produces pure .NET Microsoft Intermediate Language assemblies and allows developers to exploit all of the Windows and Web controls of the .NET framework. Assemblies created with AVR for .NET run within Microsoft’s .NET framework and support Windows clients and Web browser interfaces.
AVR for .NET integrates with ASNA’s DataGate product, which consists of components for iSeries and Microsoft Windows 2000 and 2003 operating systems. DataGate lets the Windows-based application perform all of the classic RPG commands for record-level access to DB2/400 databases. DataGate can access data on other networked servers as well. Besides AVR for .NET, the DataGate Component Suite works with .NET applications created with any .NET language, including VB.NET and C#.
“We bought the ASNA solution right after their WebEx demo,” Bright says. “It’s about 60 percent RPG and 40 percent .NET. And ASNA was inexpensive, compared with the alternatives, and offered the most depth as a long-term solution.”
The built-in .NET DataGrid takes the place of a subfile and is just one of the keys to its simplicity. Native RPG op codes are used in the DataGrid scenario. All the developer needs to understand is the record format of the data set that populates the DataGrid’s cells. “DataGrids are so much easier than an AS/400 subfiles,” Bright says. Many third-party software vendors offer enhancements for Microsoft’s .NET DataGrid. A plug-in paging module, for example, shrinks programming time by helping determine the number of rows shown on the page at runtime.
CENTRALIZED WEB DEVELOPMENT
Before the .NET framework came along, Web page development required a Web page editor, like Dreamweaver or FrontPage, which used method calls to external DLLs or pages. Several different programs were needed, along with knowledge of HTML, ASP, RPG, and business application logic.
AVR for .NET’s ASP.NET lets developers work with Web page and business application logic in one environment. Selecting controls and placing them on a Web page, and then choosing a user event, like entering a value to be searched, is simply a matter of placing ASP.NET controls on the page, such as input boxes and data grids. The request can be issued through a button, an input field, a data grid, or other common methods.
A TRIP TO SAN ANTONIO
Jarrett and Bright invested five days at ASNA’s training center at its San Antonio headquarters, learning the key steps involved in developing applications with AVR for .NET.
Their first application, designed to accept property tax payments over the Web, was finished in one week. Since BAI’s clients have slightly different requirements, system control records are used to turn on or off various features, depending on the client’s needs. “Before using ASNA’s solution, I focused on screen design but had not written a lot of code,” Bright says. “Now I’ve written quite a lot of the ‘code behind’ programming. ASNA’s support has been great, too.”
Several other modules have been produced since the property tax piece. Although it’s difficult for BAI to say exactly how much money it has saved by not pursuing WebSphere or another development methodology, Jarrett says, “We are, at a minimum, four to six months ahead of where we would have been without the product.”
And DataGate obeys all server-imposed user authorities and security. “We were very concerned with security. We knew the government agencies that we deal with would be concerned too,” Bright says. “With DataGate, the connection to the AS/400 is secure, and we can keep it short-lived, to avoid a continuous connection to an open database.”
When Annie Powell returned to work, she logged on to the county tax assessor’s Web page, keyed in her name and address, reviewed the amount due, and paid her property taxes with a credit card.
Recently, BAI’s real estate tax module has been rolled into a suite of solutions called BAI.NET, which includes components to pay personal property taxes and utility bills, to purchase vehicle tags, to facilitate attorney inquiries, and more. Also, a new municipal shopping cart will allow residents to do all of these things in the same visit. According to Bright, “The solutions are all right there in ASNA’s products.”
Robert Boyd has reported on computer technology and business-related issues since 1986. He has lectured extensively on technology and owns a business communications and marketing consultancy. Boyd holds degrees in journalism and marketing. E-mail: firstname.lastname@example.org