ASNA enables YMCA to create a Windows-based member auth system
At a glance…
For over 145 years and through a variety of programs and services, the YMCA of Metropolitan Milwaukee has been building strong kids, strong families and strong communities.
The YMCA needed a system with a modern user interface able to quickly scan ID cards and show pictures for member authorization.
Using AVR for .NET, the YMCA team created a Windows based member authorization system called Y-Access for the Milwaukee YMCAs.
- Y-Access cuts the time of signing up a member from 20 minutes to less than half that.
- The new application tightly integrated with the IBM i; no more duplication of efforts keeping the databases synchronized.
- The application uses either high-end digital cameras or a lower-endWeb cam to create a member’s photo ID card and provides a more secure way to verify the identity of the card presenter.
AVR.NET, DataGate, IBM i, OS/400, DB2/400, Visual Basic .NET
For years now, the YMCAs in Milwaukee, Wisconsin, have run on an IBM i box. Like several other YMCA groups around the country, they use a backoffice IBM i package call Y-Metro. The Milwaukee Y is strongly committed to the IBM i platform–but that doesn’t mean the platform doesn’t occasionally throw the Y for a loop.
David Fritzke, the Y’s IT manager, explains, “As a service organization with many members, it’s important for us to quickly authorize a member to our facility and its resources. We have members coming and going all day long in 18 locations, and as much as we’d like to personally know every member, that just can’t happen. What we needed was a system with a modern user interface that’s able to quickly scan ID cards and show pictures we could use for member authorization. And we needed that system to integrate effectively with Y-Metro, our back-end IBM i package.”
To solve this problem, Fritzke turned to Jeff Cubinski, president of JTS Technology, for help. JTS Technology specializes in integrating IBM i platforms with Windows and browser-based interfaces using ASNA’s Visual RPG for .NET (AVR for .NET). With AVR for .NET, Cubinski and his team at JTS created a Windows-based member authorization system called Y-Access for the Milwaukee YMCAs.
AVR for .NET to the Rescue
The need to create membership cards for facility access is, obviously, an old one for the YMCA. The previous solution was a Windows PC running a proprietary Windows app that worked against a Microsoft Access database. The major problem with that application was that it wasn’t connected in any way to the Milwaukee Y’s backoffice IBM i server. Keeping the old system working required substantial duplication of effort to keep the IBM i Y-Metro application’s database synchronized with the proprietary Access-based system. Beyond the synchronization efforts this old system required, its standalone use also ruled out any effective way to network member card creation across all 18 YMCAs in the Milwaukee area.
When presented with the problem of replacing this aging, standalone system with a new, integrated system, Cubinski knew it was a job perfectly matched for ASNA’s then-new AVR for .NET, for which he was a member of the beta- testing team. After writing a spec and testing a few of his initial concepts with AVR for .NET, Cubinski presented his plan to Fritzke and his management team at the Y. They quickly gave Cubinski the go-ahead.
Says Cubinski, “Initially, I was a little apprehensive about using AVR for .NET for this project. The deployment for the project coincided nearly exactly with what ASNA had promised as the release date for AVR for .NET. I wasn’t sure that the product would be mature enough for such a project. I was also a little apprehensive about the learning curve that .NET itself presented. I am a long-time user of ASNA’s COM-based Visual RPG 4.0, but, except for a little dabbling with VB.NET, I was a .NET newcomer.”
The Right Time, the Right Place
Independent of the Y project, Cubinski, because of his previous Visual RPG experience, was a member of the AVR for .NET beta program. Cubinski first put his hands on AVR for .NET in early March of 2003.
I quickly learned that AVR for .NET's ability to build a class-based solution, with its RPG focus and effective IBM i connection, would provide a better solution in the long-term than anything else available.
While a huge proponent of AVR for .NET now, Cubinski always keeps reality in view. “Let’s be clear: Early versions of the AVR for .NET beta were a bit patience-trying. But ASNA kept up with the beta team’s reports and had an aggressive cycle of providing updated builds. Even with early frustrations, the substantial architectural improvements offered by the .NET platform kept us motivated.”
AVR for .NET is an RPG compiler that “snaps” directly into Microsoft’s Visual Studio.NET. Using RPG, AVR for .NET creates 100%-verifiable Microsoft .NET assemblies. Using familiar RPG operations and a record-level file IO model, AVR for .NET connects to the IBM i through ASNA’s DataGate for IBM i host server. DataGate provides both fast read/write record level access and the ability to call any OS/400 program object (using the familiar CALL/PARM interface).
One of the important things that distinguishes AVR for .NET from ASNA’s previous Visual RPG 4.0 (for COM) is that AVR for .NET provides a fully-objected RPG. This puts all of the hallmarks of OO fully within reach of the RPG programmer.
Cubinski explains, “I quickly learned that AVR for .NET’s ability to build a class-based solution, with its RPG focus and effective IBM i connection, would provide a better solution in the long-term than anything else available. I also suspected that the initial Y-Access project would grow beyond the bounds of being hosted in Windows apps. I wanted a solution that would easily let me add browser/Internet-based components and let me reuse the work I’d done building the Windows version of the application.”
While participating in the AVR for .NET beta program, Cubinski quickly became the most active beta member in the program. He not only asked the most questions, but he also frequently shared his knowledge with other beta team members. Cubinski’s work on the Y-Access project began in earnest in early June. “We were shooting for an early fall 2003 deployment. By June, I had learned a lot on my own and had also attended ASNA’s five-day intermediate AVR for .NET class, so I was ready to code!” AVR for .NET was in the right placed at the right time for Cubinski and the Milwaukee YMCAs.
Out with the Old
Work continued on the Y-Access project through the summer. As the project came to life, Cubinski’s decision to use AVR for .NET was paying off. The project was coming together more quickly, and with more reusable parts, than it would have with a COM-based product.
Y-Access went into beta in September and is currently being deployed in Milwaukee YMCAs. The Y’s Fritzke says, “We are very excited. Jeff Cubinski and his team built an application, Y-Access, for us that uses either high-end digital cameras or a lower-end Web cam (depending on the local Y’s budget) to create a member’s photo ID card. And it’s tightly integrated with our IBM i–no more duplication of efforts keeping the databases synchronized. To verify membership now, we scan the card to authorize the account and are able to physically look at the card to ensure the presenter’s identity. Y-Access has cut the time of signing up a member from 20 minutes to less than half that. Beyond that time savings offered, Y-Access also provides us with a more secure way (thanks to its ability to display photographs that, by the way, are stored on our IBM i) to verify the identity of the card presenter. This gives us peace of mind, knowing we’re authorizing the right person to our facilities.”
Up and Coming
With the first phase complete, what’s next for Cubinski and his team with Y-Access? “The possible ways that AVR for .NET lets us solve problems is nearly boundless. We’ve recently used AVR for .NET to build a prototype Web service that can authorize users across the Internet. This would let any YMCA anywhere verify membership with nothing but a browser! We here at JTS are .NET believers and AVR for .NET fanatics!