by Chris Durand
Over the last few years we have completed a number of “legacy modernization” projects wherein we build a browser-based user-interface for iSeries (AS/400) and 3270-based applications while keeping the business logic in the host application (“re-facing”). Here are a few things we’ve learned:
Re-facing without Extension is a Waste
The main reason a browser-based interface to an application is useful is because everyone knows how to use a web browser. If all you are doing in your web interface is converting function keys to clickable links and adding eye-candy, you will struggle to find enough ROI to make it worthwhile. If you are trying to eliminate costs associated with deploying green screen emulator software to user desktops, you are better off deploying a web-based emulator product instead of beginning a screen re-facing development project.
Extend for the Win
The Holistic Approach for Maximum ROI
Re-facing does have limits. There is only so much complexity you can add to the re-facing layer before it becomes difficult to maintain. Often the best way to add major new functionality is to create new host screens that do the number-crunching but work seamlessly with the web technologies to build cutting-edge applications. For example, enable users to make better decisions by providing relevant graphs and reports with a single click in the application, instead having a nightly batch job send them a recap of what happened… hours after the decisions have already been made. Doing exciting and useful stuff like this is where IT can have a true business impact.
Don’t Forget the Fundamentals
It is tempting to cut corners on requirements and design when working on re-facing projects. Don’t. And “just make it work like the host, only in a web page” doesn’t count as requirements. Good requirements start with understanding how the host works, including dynamically displayed fields, hidden action codes and function keys, etc. Consult with the power users of the host application to ensure you understand exactly what the new screen needs to be able to do, and be sure to have adequate test data available to ensure your re-faced screen works correctly with all the edge cases. For more involved updates, a design document is crucial for planning out what logic goes where and how the re-faced UI will interact with the host.
Re-facing is a useful technology whose flexibility if often underestimated. Since rewriting an application from scratch is fraught with risk and expense, re-facing can be a valuable alternative for bringing legacy applications up-to-date with current technologies and business processes. Focus on how the application should work, and choose the right tools to get there.