Curing the App That Ails You
More than just a GUI, legacy re-purposing can (and probably should) affect every part of your system
Perhaps the biggest problem with re-purposing legacy applications is one that arises even before a project is undertaken. That’s because, before a modernization project can begin, an IT department has to admit its existing system is, at least in part, outdated.
As a result, the terms “re-purposing”, “modernizing”, “re-engineering” or any number of synonymous buzzwords are often foreign to many AS/400 technicians. And for those for whom they are not foreign words, they might as well be four-letter words.
“There’s a general resistance to people using that term,” says Janet Krueger, consulting software engineer at D.H. Andrews Group (Boston). “Not many IT shops want to stand up and say they’re out of date.”
Setting a goal
The idea of re-purposing as taking a broad reassessment of your system is daunting, to say the least, but even more importantly, it is often simply not a thought that enters an IS manager’s mind. Instead, a business will usually seek to overhaul one application or bring in one new technology, without considering other elements of its information systems.
“From our customers’ perspective they don’t really call it re-purposing. They say ‘We’re starting a B2B initiative,’ or ‘We’re building a GUI,’ or ‘We want to Web-enable,’” says David Holmes, senior vice president of marketing for Jacada Ltd. (Atlanta).
In a significant percentage of cases, when businesses talk about modernizing legacy applications, they are referring to a GUI. Outwardly, moving from a green-screen to an interface modeled on Microsoft Windows creates an application that appears and operates as if it is a brand-new application.
Paul Remtema, a consulting software engineer at Andrews Group who worked with Krueger on a 1999 white paper outlining strategies for AS/400 application modernization, says it is not sufficient to concentrate exclusively on GUI implementation. In fact, he believes it can prove more problematic further down the line than if an IS department made no changes at all.
“Unfortunately, because it is the most visible piece, some of the other, more important pieces get left behind,” Remtema says.
The other primary driver for companies updating their applications derives from the pressures of competing with new and evolving B2B tools and capabilities. Most often, that effort is centered on establishing a Web presence that improves communications with employees, suppliers and customers.
This narrow focus is also insufficient, says Jacada’s Holmes. He says companies usually find there is little point in constructing a new application front-end if the behind-the-scenes operations cannot support the new functionality.
“Eighty-five percent of e-commerce sites are in no way connected to the back-office system they have to access to fulfill the request,” he says.
Each of these approaches is fundamentally flawed, analysts and vendors alike argue, because adding or updating certain applications is bound to affect many other business and system aspects. To expect to “re-purpose” or modernize an application based solely on the appearance or even the usability of its interface leaves out crucial aspects of a modernization project.
So if “re-purposing” doesn’t mean – or doesn’t only mean – GUI, and it doesn’t mean just a Web face, then exactly what does it mean? Surprisingly, despite their different product offerings and different customer bases, the vendors and analysts we spoke with offered a fairly consistent definition.
Explaining his company’s definition of application modernization, Jerry Rackley, director of communications for Esker Inc., makers of Corridor for Active Server software says it is “Taking a legacy application and doing more than just putting an application on the Web; giving that functionality to a new set of users who previously did not have access to it before.”
Like Rackley, both Holmes of Jacada and Andre den Haan, vice president of product strategy for SEAGULL Software, say fundamentally what their products do is make applications available to users who didn’t have access to them before.
“What SEAGULL does is allow you to do more with your AS/400, to make your AS/400 applications more relevant,” den Haan explains. “We allow you to open up your systems to the world – that’s what e-business is all about – opening to new people or new applications.”
For some businesses, that might mean using Esker’s Web authoring tools, SEAGULL’s JWalk Web-to-host development tool, or Jacada’s thin-client developer. Holmes says most of the customers he deals with are looking for a way to re-engineer their applications to, first of all, simplify their use for less experienced personnel, and second, configure applications so that only certain functions are available for different groups of users, say, via the Internet or a company intranet.
“In our market, when we’re talking about modernization, it is to take what was traditionally back-office applications for just a few users and expanding the reach to people who wouldn’t have had access to those applications before,” he says.
Moreover, vendors say, this strategy has become increasingly important with the advent of Web commerce. Interactive Web sites provide access to up-to-date information for suppliers and customers. With a Web presence, more intuitive applications become vitally important. As Holmes said, “If you’re gonna go to the Internet, you’ve got to do it graphically.”
However, say Krueger and Remtema, regardless of their specific goal, a company which sought to use any of these products just for a basic face-lift is pursuing a strategy that is doomed to failure.
“Sometimes they aren’t collecting the right amount of information for a business intelligence suite, sometimes it’s just setting up a user interface, sometimes it’s broader functionality,” Krueger said. “But the fact is that most of these companies find they have problems they are going to have to address beyond what they set out in their initial goals.”
Selecting a tool
HTE Inc., a leading provider of software geared toward local governments, began searching last year for a tool to implement a Web-based graphical interface, to make their basically green-screen applications more intuitive for users. Don Marcum, director of community service applications for HTE, who took on the GUI implementation as a sideline project, says the company eventually settled on Jacada Innovator because in the course of their search, Marcum decided they needed more than a simple screen scraper.
“Our long-term goal was a native browser-based interface. We wanted to completely get away from the green screen,” Marcum says. “But we couldn’t rewrite 25,000 screen panels.”
Jacada’s Innovator tool, according to Holmes, allows developers to enable RPG and COBOL applications to talk directly to a thin-client GUI, and eliminate green screens from the architecture entirely. Marcum said it became clear to his team that, although a simple screen-scraper would mean a less arduous implementation, in the long term, a more far-reaching solution was preferable.
“We’d have had double the work. First we’d have to develop a green screen, then we’d have to develop a GUI,” Marcum said. “Plus, there’s a lot you can do when you’re working with a GUI that you can’t do if you’re in green screen. If you’re developing in green screen you’re already limiting what you can do with the 5250 data stream. We envision eventually that this will replace SNA for us. Instead of developing on SNA we’ll be developing on Innovator.”
Remtema argues there may be short-term benefits to implementing just a GUI, but in the long run, if systems administrators do not alter the application rules and ensure access to program components, the new GUI will be difficult if not impossible to maintain, as Marcum realized early on.
“What happens often is when people start off at the user interface they don’t have a modular approach to get at them,” Remtema said. “They end up with a user interface that’s hard to maintain. From a structure/architecture standpoint, it’s real hard to build that if you don’t have components and user-defined interfaces that are callable across the network. It’s a very difficult task because you can’t get at the rules.”
In an attempt to head off these problems at the beginning stages of an application renovation project, Remtema and Krueger say they advise businesses to do exactly what they don’t want to do: “take a 20,000-foot view” of their entire system architecture.
“Even though they want to start out on a specific change to one particular application set, we try to encourage them to take a critical look at the whole picture: Are there other changes that can be made at the same time? What other aspects are going to be affected by the changes you intend to make?” Krueger says. “Whenever you decide to make a change to an application for whatever reason, it’s just a good practice to step back and assess the overall health of the system.”
Linda Ireland, senior developer analyst with Tideworks Inc., attacked her application modernization needs from a different route compared to most developers – she actually went looking for a long-term system-wide solution. Ireland worked as an independent AS/400 developer for 10 years before joining Tideworks, a Seattle-based division of Stevedoring Services of America, which provides software for port and terminal operations management. Through her work as an independent consultant, Ireland says, “I found I couldn’t compete unless I found a way to do what I was doing faster.”
So a few years ago, Ireland began an 18-month search for an AS/400 application development tool, and was introduced to a product from GeneXus (Chicago). She says she and a group of other observers who attended a GeneXus seminar were able to build an entire live order entry system within 20 minutes. The demonstration, Ireland says, was enough to sell her on the product practically on the spot. When she joined Tideworks, she brought the GeneXus tool with her.
“I bought it as an independent developer and kind of forced it on them here,” Ireland says. “And it was a hard sell process. It’s hard to take a COBOL shop and start teaching them something like this. But I think we’ve pretty much agreed that whatever new applications we develop, we’re gonna develop on GeneXus.”
There are a number of reasons why Ireland says she relies so heavily on GeneXus. For one, she says, the product handles all database code management and maintenance, even when major changes are made to an application, without any intervention by the administrator. For another, Ireland says it allows her the independence to develop in any environment while maintaining her commitment to the 400, of which, she says, “I’m a big fanatic.”
“The flexibility of what I can do is pretty nifty,” Ireland says. “Last year we had a rush replacement of a billing system that wasn’t Y2K compliant. Now we’re doing a warehouse application. We’re looking at a cell phone interface for wireless updates, and we’re debating whether it’s going to run on VisualBasic or Visual FoxPro. We may decide to run it on Java. Right now I’m developing it without caring about what my target is.”
While Ireland says she did not consider moving off of the AS/400, before she started using GeneXus it had become clear that she had to find a reliable means of giving her applications a modern appearance, and to keep up with changing technology. Adopting a multi-function development tool has helped her to keep on top of new technology without the pain of learning new technology.
“Frankly, I don’t want to be coding Java. I don’t want the learning curve that goes with Java. I want to have the Java code available to me,” she says. “For me now, I can almost develop live, while I’m on the phone with a user. I can code in 10 minutes what used to take me three or four days. The process of development becomes more organic.”
When a company sets out to modernize and begins shopping for the right product to aid them in the process, they should think about the short-term, say the experts. After all, the ultimate motivation for an application re-purposing initiative is usually the need for fast deployment of new technology or better ease of use for employees. Rather than rewriting whole applications, or worse, starting over on a new system, a company that can update its existing applications will gain the benefits of keeping up with new technology while retaining their infrastructure investment and their existing skill set.
That goal, says Holmes, is what leads businesses to turn to a legacy re-purposing strategy, at least from Jacada’s perspective.
“What’s driving our business are business drivers, not technology drivers,” Holmes says. “The business people have significant pain updating to new technology. They’re putting pressure on the IS people and saying ‘I need an e-business application and I need it now.’ And the fastest way and the safest way to do that is to leverage what you have.”
However, in order for that strategy to be effective, implementation time and costs have to be limited, and the new system has to be easy for existing users to get accustomed to. Otherwise, the savings achieved by renewing legacy applications will be lost to implementation and training costs. In the short term, it is vital that companies choose a tool that can be up and running relatively painlessly.
“There are basically two approaches vendors take,” Esker’s Rackley says. “The first one is: ‘You want to re-purpose your application, but that’s like rocket science, so let us come in and do it.’ The other approach is: ‘It’s not rocket science. Here are the tools; you already know how to use them. So if you want to be a do-it-yourselfer, all you need are the right tools.’”
Unfortunately, the hard part of updating applications is that companies also have to think about the long-term. Dane Drotts, executive vice president of marketing and sales for GeneXus, says the main feature that his company seeks to promote about their product is that, if customers keep up with new releases of GeneXus, it will shield them from having to worry about major changes in technology, and possibly to their system, every few years.
“When a developer develops on GeneXus, you only have to know GeneXus – you don’t have to know a thing about CGI, HTML, Java,” Drotts says. This means that when you look at what tool you’re going to choose, you have to look at one thing and only one thing: how well does the tool vendor keep up with new technology?
Krueger says it is important for a company to be forward thinking as they embark on a modernization project. However, she thinks this is important not just in terms of finding a tool that will change with new technology down the line, but also to consider how whatever change is planned for the system will affect others operations down the line.
“I don’t think we’re advocating that people try to redo everything at once. In fact, that probably would complicate the problem,” Krueger says. “In most cases that’s totally impractical. You probably can’t afford to junk everything, but what you do need to do is take a look at what can be changed and what needs to be changed, and prioritize in terms of what’s necessary and what’s feasible."