Somehow, we printed, “The money saved the dwarfs that spent on remediation.”
I was explaining why we used two-byte year fields in the first place, and meant to point out that because storage cost so much when we wrote our legacy systems, the money saved was much greater than what we spent to fix the problem.
Instead, an extra “the” put me in Middle Earth, doing my Gandalf impression. (To be honest, I like the printed version better than the original, for reasons I can’t begin to explain.) My apologies if I accidentally offended any low-altitude readers.
A legacy system is like any other corporate asset. You invest in it, you maintain it, and you maximize the returns you get from it. With all the money you (and the dwarfs) spent remediating your legacy systems, you had better get some extra leverage from them, don’t you think?
One way to do this is web-to-host integration — products that take functionality from your legacy systems and make it available through a browser. Like so many other subjects in information technology, though, the obvious solutions are often short-sighted.
Go back to the basics — the need for IS to manage technical architecture. Technical architecture management is a core discipline for IS these days, as described in this space over a year ago (from 8/17/98 through 10/5/98). You’ll recall that your technical architecture consists of three layers: Application, Information, and Platform. Business value comes from the Application layer. Applications make use of Information (which includes both databases and unstructured data), and runs on the Platform layer (which includes, among other items, hardware, networks, operating software, and database management systems).
Let’s approach web-to-host integration from an architectural perspective — a process that begins by describing the application-layer functionality you need and then traces a path for its implementation that maintains as much simplicity and design elegance as possible in the lower layers of the architecture. What functionality are you looking for?
You may be looking for a less-costly way to deliver 3270 screens to your end-users, figuring you can simplify your platform layer by leveraging your intranet. If so, congratulations — you’re taking an architectural view.
On the other hand, you may be trying to export legacy functionality to your company’s web site — perhaps to encourage customer self-service, or as part of a supply-chain optimization effort.
If so … you’re about to make a big mess.
Your goal is to export mainframe functionality via the Web. Beyond any shadow of a doubt, though, you’ll also need to export that functionality through other channels as well — through the Web, for sure, but also through interactive voice response (IVR), your call center, possibly through tools customized for your direct sales force …
Get the idea? Once you start thinking you need a web-to-host integration solution, you’ll start thinking you need a separate host integration solution for every other category of application. That’s bad enough.
What happens next is worse. Since your Web site, call center, and IVR system will have separate host connections, they’ll also have their own, separate, possibly inconsistent host integration logic.
Host integration logic belongs in the mid-tier, where all applications … Web, call center, IVR, back-office … can use it. That’s what Enterprise Application Integration (EAI) systems are for. The case for EAI is compelling: The alternative is to create a spiderweb of separate interfaces between each legacy system and every front-end application. Do this and managing the impact of legacy system maintenance is a polynomial nightmare.
EAI isn’t simple. It is, in fact, a very difficult technology to implement well. In a first-class EAI implementation you have to figure out how to use host wrappers and integration tools to map your legacy systems into a well-designed object class hierarchy, both to present them and to “persist” any updates.
A good EAI implementation is very hard. The alternative, though, isn’t hard … it is, in the long run, completely unworkable.