Mainframe Modernization: Start With the User Interface

What is mainframe modernization? It depends on who you ask.

The mainframe is an interesting beast. In fact, just as the term mainframe modernization means different things to different people, so does the term mainframe by itself. The core of the mainframe includes the operating system, applications, and access interfaces.

Let’s take a standard mainframe environment. The mainframe is running CICS or IMS. Users access the applications using a terminal emulator, also referred to as a “green screen.” If you talk to a system architect, he might use the term mainframe modernization to mean converting back-end applications to be more modern. If you talk to an end user, he/she will tell you it means an easy-to-use graphical interface. Those are two completely different visions.

Most large organizations’ IT departments take the architect’s view — modernizing the back-end mainframe. This could consist of converting COBOL code to Java, or running COBOL applications under a Linux environment, or converting the database from IMS to DB2 to make it easier to integrate with external applications. All of this takes time, possibly years, and lots of money. So, you have to ask the question: “What’s the goal?”

Hide in Plain Sight

If the goal is to reduce costs, you should look at the back end to find ways to modernize and reduce MIPS costs. However, if your goal is to improve productivity, usability, and overall cost of operations, you should consider updating the front end (user interface) first. To do that, you need a layer of abstraction. That’s a software layer that understands how to communicate with two different layers while hiding the layers from each other. As an example, you could have a modern Web-based user interface that communicates with legacy “green-screen” applications. The UI doesn’t know it’s communicating with “green screens,” and the “green screens” don’t know they’re being converted to a Web interface.

Here’s how you might implement this solution. You want to first design your user interface without regard for the mainframe’s communications protocol or architecture. Simply design your user interface using standard UX practices. Now, you need a layer of abstraction — a layer that knows how to talk to the mainframe, using the standard native protocol, and communicate with the new user interface. If you decide, as most companies do, to create a Web-based user interface, you would use the standard Web architecture used by all your internal Web applications. Maybe you use J2EE or Microsoft, or maybe your standard is Struts or Ruby on Rails. Whatever it is, just design your Web application the same way you would if it were using a standard relational database.

Can We Talk, Mainframe?

Now you need a way to communicate with the mainframe “green screens.” There are several options available. OpenConnect has one called ConnectiQ. It’s a server-based platform that communicates directly with the mainframe, using the TN3270 protocol. It consumes the raw 3270 packets and interprets them in memory. It then converts that information into standard Web services that can be called and consumed by your Web application. The user interface doesn’t know it’s talking to an old legacy mainframe application, and the mainframe application doesn’t know it’s communicating with a modern Web-based user interface. In other words, you have a layer of abstraction; get it? In this case, the layer of abstraction is ConnectiQ. The Web application simply communicates with ConnectiQ, using standard Web services.

Why is the layer of abstraction so important? Because, once you have the new UI in place, you can start working on modernizing the back end applications, databases, and network interfaces. Again, that could take years, but you already have a nice, intuitive, easy-to-use, easy-to-learn user interface which should be saving money; so maybe the urgency isn’t quite as great.

The key is: once the back end is modernized, you simply change your layer of abstraction so it now communicates with the new back end. Users don’t see any changes — other than, perhaps, better performance. In the example above, you would remove ConnectiQ and use different Web service calls in your Web applications. This approach also allows you to modernize a little at a time. You can move an application, or function, at a time and have a mixture of Web service calls to ConnectiQ and the new mainframe interface. Again, the users don’t know the difference. They’re just using a nice, new, modern interface.

The benefits of this approach are numerous — including improved user productivity, simpler and faster training to bring people onboard more quickly, better and more timely customer support, and access from any Web browser so work-from-home users don’t need any special software.

Macros, Schmacros

Let’s also talk about a very serious problem related to mainframe terminal emulators: macros!

Almost all terminal emulators provide a macro interface that allows a user to press a “Record” key and record a set of keystrokes. She can then play back the recording any time. For example, a common problem is copying data from one screen onto another one. The macro would be recorded to navigate to the first screen, copy specific fields, navigate back to the original screen, and paste the data into that screen.

This option saves a lot of time, and users can create their own macros. However, that’s actually the problem. You end up with hundreds or even thousands of user macros running. Most aren’t written correctly. Macros are not “intelligent,” and have no way to know if they’re working correctly. If a user hits the “Play” button while on the wrong screen, the macro is still going to try to run. In some situations, this can actually cause harm.

So, why am I talking about macros in a mainframe modernization blog post? Simple: if you modernize your user interface, you can provide the same benefits that macros provide without the risk of users creating their own, possibly harmful macros. You now have control.

Users will ask for changes that help them be more productive. That’s great, and now you have a centralized way to provide those changes. The best part is that all users benefit, not just the one person who knew how to create a macro.

Front First,Back Last

Here’s the bottom line. Please your users first to improve quality, reduce costs, and improve employee satisfaction. Then, look for ways to modernize your back end. But remember, you don’t have to modernize your back end after you modernize the front end. If users are more productive and operations costs are down, you already may have achieved the results you sought. Also, you already know how to maintain the back end. So why introduce new technology, processes, and procedures if you don’t have to?

Mainframes and the Desktop: Bridging the Gap

There’s a perception among the general public, not to mention a surprising number of tech journalists, that mainframes belong in a long-ago yesterday.

In fact, the truth is quite different. Mainframes are still highly relevant, and will stay that way well into the foreseeable future.

Mainframes Stay Mainstream

The funny thing is that today’s computing reality actually needs mainframes at least as much as yesterday’s did — probably more! For example, smartphone apps typically consult distant mainframes for whatever information you’re seeking. Moreover, numerous enterprises not only have decades’ worth of data on their mainframe, but also are adding to that storage every minute.

So, if mainframes will stick around, how can they most readily integrate with everything else? What happens when ordinary PCs in today’s Web-enabled workplace must “talk” to the office mainframe and work with its data?

One answer is terminal emulation software. As the name implies, it acts like a mainframe’s classic terminal interface. This lets you access the mainframe’s applications and data via your PC, just as if you were sitting at a mainframe terminal.

It Matters Where It Lives

So far, so good; you can view, and use, mainframe apps and data from the comfort of your everyday PC. However, depending on the specific emulation product, deployment can be a big, hairy deal for your IT department. It also can be a big, hairy, expensive deal for your CFO.

Here are some of the potential problems:

  • PC-by-PC — You’ve probably heard the expression, “It’s like being nibbled to death by a duck.” That pretty much sums up how your IT department feels when it has to install and support a given application on a desktop-by-desktop, PC-by-PC basis. It’s even more problematic in today’s telecommuting-driven reality, when many people work entirely from home. So, if the chosen terminal emulation product is installed and updated one-by-one, that’s plenty of added work for IT.
  • Managing macros — A similar drawback lies in the common need for macros — programmed keystrokes that perform recorded sequences of commands. Macros are particularly useful with terminal emulation. But if every user has his or her own unique macros, that’s still another thing IT must try to manage. (Imagine if a user forgets any of the macros or loses his cheat-sheet for them!)
  • Licensing costs — You usually buy enterprise software through licensing the number of users for the product. Some terminal emulation products require you to buy enough licenses to cover all the desktops which might use the product, no matter how many of them really will. As a result, that wastes a lot of money over time. Also, just as in the case of PC-by-PC software, it’s more difficult for IT to setup and maintain.

A Better Way to Get There

With all these potential flies in the ointment, then, what’s a better way to access all the goodies on the mainframe? We feel your best bet is to use an emulation software product that:

  • Is server-based — Rather than the “duck-nibbling” desktop-by-desktop approach, your emulation software choice should live on a server that the terminal users can access. That provides centralized management which greatly simplifies things for IT, both when it’s time to install the software and when it needs updates.
  • Is browser-based — With the terminal emulation process occurring on a server, your company can then give each user access to the mainframe through a Web browser. (Of course, it must work well with the browser of choice. We’ll address that shortly.) This simplifies interaction with the mainframe. It also can facilitate access from anywhere — usually through a virtual private network (VPN) — and via a wide choice of devices, including compact tablets.
  • Has centralized macros — The server-based approach has another benefit: it means the macros also live in one place, accessible by all users. It’s much easier for IT when each macro means the same thing regardless of who’s using it.
  • Has concurrent user licensing — With concurrent user licensing, you pay for only the number of simultaneous users you know you’ll actually have. Moreover, the licensing “cares” about only how many PCs, not which PCs, are accessing the mainframe. If you’ve paid for 25 licenses, it doesn’t matter who those 25 simultaneous users are. This gives you much more flexibility regarding access to the mainframe.

Some Additional Recommendations

We also highly recommend that you select terminal emulation software with these additional advantages:

  • SSO — Why have to enter a user ID and password for each separate mainframe application you access? Single sign-on (SSO) lets you authenticate just once per session to get into all applicable mainframe applications.
  • End-to-end security — The mountains of data on your mainframe require the highest security. Your terminal emulation must maintain that security, end-to-end, in four levels: application, session, transport, and host.
  • Various client options — Enterprises’ IT departments often must limit their users’ choices of Web browsers and versions thereof. For that reason, your browser-based terminal emulation software should come in a variety of clients. If so, your emulation software will be compatible with what you use. It won’t matter whether you’re on a Java®-supporting legacy platform or the latest-and-greatest, HTML 5-savvy browser and version.
  • Portal integration compatibility — Your IT team may want to integrate the emulation software with a custom mainframe portal. In that case, the software should be compatible with industry standards such as EHLLAPI and, for environments using Java, JHLLAPI.

Want more information about these and other benefits of this approach to mainframe terminal emulation? Visit our website to learn about our WebConnect product. WebConnect is among many reasons why mainframes will remain very much alive and relevant for quite some time to come.

Java is a registered trademark of Oracle Corporation.