Barnes and Noble goes by the book with ASNA Visual RPG
Download Barnes and Noble Case Study (PDF)
At a glance…
Customer profile:
With more than 500 stores across the country, Barnes & Noble not only has a lot of books to inventory, order, and restock, it has many types of books to manage.
Situation:
Barnes & Noble needed an application to generate orders that would also integrate well with several other previously existing applications. Tight integration with faxing and purchase orders was necessary. And, they needed an application that would update the AS/400 directly without any performance issues.
Solution:
Barnes & Noble selected ASNA Visual RPG to solve the problem and used an AVR consultant to bring the team up-to-speed on AVR fundamentals.
Benefits:
- In six weeks a working version of the application was up and running.
- The new application tracks all aspects of inventory ordering, updates AS/400 files in real time, and provides seamless fax order acknowledgements.
Products:
AVR.NET, DataGate, IBM i, OS/400, DB2/400, Visual Studio .NET
When you think books, you might think Barnes & Noble. With more than 500 stores across the country, Barnes & Noble not only has a lot of books to inventory, order, and restock, it has many types of books to manage. In the old days, Barnes & Noble used traditional, manual systems to manage its specialized book departments. Later, with the advent of computers, various electronic systems were employed to handle the tasks.
The requirements for the new inventory application specified that the application have a Windows GUI and that it access the IBM I in real time, with acceptable performance. Barnes & Noble selected ASNA Visual RPG/Caviar (AVR) to solve the problem. ASNA’s AVR is a Windows-based development environment that uses RPG to create Windows executables and Web Component Object Model (COM) objects. Although AVR is a PC-based development environment, creating the application didn’t fall to a senior PC-type with lots of Windows experience. Rather, the person responsible for the creation and deployment of the new inventory application was a green-screen programmer with virtually no previous Windows programming experience.
Enter AVR
The challenge to revamp the PC-based inventory ordering system fell to Diane Krzysiak, a senior programmer/analyst with Barnes & Noble. Krzysiak had lots of green-screen RPG experience, but except for a little Microsoft Access programming, she had no experience programming Windows applications. It may seem odd that a PC programmer didn’t do the project, but Krzysiak’s IBM I experience prevailed.
Krzysiak said, “We needed an application to generate orders that would also integrate well with several other previously existing applications. Tight integration with faxing and purchase orders was necessary and we needed an application that would update the IBM I directly without any performance issues. What we really wanted was a Windows user interface connected seamlessly to the IBM i. ASNA’s AVR was the perfect tool for us to use.”
Several months earlier, ASNA’s AVR surfaced on John Kuhn’s radar. The Barnes & Noble information technology directory was particularly attracted to AVR’s ability to leverage green-screen RPG programming skills in the Windows environment. AVR’s ability to put Barnes & Noble’s green-screen programmers to work on Windows applications was quite appealing. And, Krzysiak said, “The price was good, too.” Kuhn bought AVR, but pressing deadlines on other projects put AVR and the order entry project on the back burner.
When the need for the inventory application later surfaced on Krzysiak’s desk, she installed AVR and started dabbling with it in her spare time. With its industry standard integrated development environment (IDE), AVR’s look and feel quickly felt comfortable to Diane (her Access experience helped out here). In short order, she was convinced she could use AVR to solve the inventory application problem. To ramp-up her basic development skills, an outside consultant came in for a few days to help explain AVR fundamentals.
Yuri Khaykin, another Barnes & Noble senior programmer analyst, also helped out with some aspects of the new order entry application. “Yuri contributed a few other programs needed for the project, including an inquiry/maintenance program.”
After the order entry application was completed, Khaykin also wrote several spin-off, tangential applications for Barnes & Noble with AVR.
Help from an Unusual Place
Although Krzysiak got up to speed quickly with AVR, she still needed a little help with some basic concepts. Several months prior, she had taken some of the formal AVR training ASNA offers. However, with her first real AVR project not arising until several months after attending the training seminar, Krzysiak was all but starting from scratch with AVR. To elevate her learning curve, Krzysiak found some help in a less likely place: Barnes & Noble’s Visual Basic (VB) programming staff. In most IBM I shops, PC-types and IBM I-types don’t get along very well. But in Krzysiak’s case, the PC programmers were very helpful.
Krzysiak said, “One of the surprises I found with AVR development is that I could talk to a Visual Basic programmer and get usable suggestions.” The VB programmers helped Krzysiak with basic visual programming concepts such as events, methods, and properties. They also showed Krzysiak several ActiveX controls (off-the-shelf user interface enhancements that AVR supports) that Barnes & Noble had licensed for VB. The components dropped right into Krzysiak’s AVR application. A calendar component was especially helpful.
In about six to eight weeks, Krzysiak had a working version of her application up and running. The new application tracks all aspects of inventory ordering, updates IBM I files in real time, and provides seamless fax order acknowledgements. Today, it is deployed and used by 25 or so heads-down data entry operators. Some may argue that GUIs don’t make good data entry panels. However, as Krzysiak’s first application proves, if the user interface is designed correctly, GUIs are superb for data entry (after all, one of the best data entry programs in the world, Quicken, is graphical). “Our users love the new application,” Krzysiak said.
For long-time IBM I shops, PC application deployment can be a huge hassle. After all, the PC is not an IBM I and its client-based application execution model is vastly more challenging to maintain than the IBM I’s server-based model.
The trade-off, of course, is that the PC provides the GUI the Barnes & Noble order entry required. However, Krzysiak was pleasantly surprised at deploying her AVR application. ASNA’s AVR comes with Installshield scripts that substantially eases installation hassles.
Krzysiak said, “AVR application deployment went rather well. I did a few installations and then turned the instructions over to our network staff. They installed the application for over 20 users. Our New York office also accesses the application through a remote network connection.”
If She Knew Then…
With the application deployed, what would Krzysiak have done differently? “Data scoping in AVR confused me a bit and I struggled more with subfiles than I should have. But once I understood its scoping rules, all went well.” Krzysiak also would have used a few more third-party controls. “I initially tried to put too many forms (forms are the Windows equivalent of a display file format) into an application. When I get around to it, I’ll use a third-party tab control to streamline the user interface a bit.”
With phase one in production, beyond adding the tab control, Krzysiak also hopes to integrate email and use a resize control (which allows the user interface controls to resize themselves automatically as the user changes form sizes).
Krzysiak’s biggest surprise during the project was how easy it was to quickly put AVR to use. “Once you get the hang of AVR, it makes programming easier. With AVR’s visual programming environment, you can whip up a nice form in a few minutes. I had a lot of fun creating forms and experimenting. Most of what I learned, I learned through experimenting.”
A long-time fixed-column, green-screen programmer, Krzysiak also enjoyed working with AVR’s optional Caviar syntax. A blend of CL and RPG, Caviar enables indented code with named indicators and lots of other features to improve RPG readability. “Once I learned Caviar, I wrote most of my application with it. It quickly became my RPG syntax of choice.”
Writing the order application in AVR was a great experience for Krzysiak and produced an important IBM I application for Barnes & Noble. “We’re very excited about the potential AVR offers us with other upcoming projects,” Krzysiak said.
About ASNA
ASNA, provides comprehensive and flexible solutions for modernizing IBM i applications to the Microsoft .NET platform. ASNA enables companies to integrate and extend their solutions to .NET, the Web and beyond, while preserving investments in IT and human resources. ASNA solutions are distributed worldwide and used by more than a million end users.
ASNA is a Gold Level partner of Microsoft’s Partner Network, Microsoft Visual Studio Industry Partner, and an Advanced Tier Member of IBM’s PartnerWorld for Developers. ASNA is also a gold level partner of Microsoft’s Platform Modernization Alliance.