DBMS
 

 


Unlocking the Mainframe - Technical issues and architectures involved in making legacy databases accessible from a Web browser. - By Martin Rennhackkamp

Accessing a legacy database on a mainframe through a Web browser running on a PC may not sound as exciting as accessing the latest object-relational database through a universal DBMS server, but it is nonetheless a challenging task. Applications that are hosted on the Internet are different from the applications typically found on LANs in client/server architectures and the applications typically hosted on mainframe platforms. A Web browser application is usually more event-driven than a typical mainframe or older client/server application. The application must react to point-and-click actions from users, instead of guiding them through a predefined flow of control. Web browser applications are usually broken up into components that are downloaded to the Web browser when required. The Internet's architecture also places challenges and limitations on the types of applications it can support efficiently. Typical mainframe application users are usually quite stable with regards to working hours, but Web users are free to move and access the Web from wherever they are, whenever they want. A Web-enabled interface may have many more spur-of-the-moment access requests than the corresponding mainframe interface program.

However, there are many reasons for accessing a legacy database from a Web browser. Many organizations want to Web-enable their existing applications and their existing databases without having to reinvent the wheel or modify the existing host-based applications. This approach can extend the life of the legacy applications and legacy databases that probably required quite an investment to create and install in the first place. Accessing legacy applications from a Web browser also gives all of the old applications a common, modern look and feel. In addition, the legacy applications can now be deployed on any Web-based environment including corporate Intranets, the public Internet, and newer Extranets.

Technical Issues

Many technical issues are involved in accessing a legacy database on a mainframe from a Web browser. To begin with, the actions performed through the Web browser must be translated transparently to commands that are understandable by the DBMS on the mainframe. These commands must be shipped and executed on the mainframe. The data generated on the mainframe must be translated, formatted, and shipped back to the Web browser. Similarly, data entered through the Web browser must be translated, formatted, and shipped to the mainframe application and/or database. Take printing as a case in point: An SNA print request issued to the mainframe must be rerouted to printers on the TCP/IP network, without requiring any special software on the Web browser.

There has to be efficient and reliable connectivity from the Web browser running on a client PC, to the Web server running on an intermediate platform, to the legacy application and database running on the mainframe. The second part of this communication chain is one of the key issues in Web-legacy integration. The protocols used between the Web browsers and the Web server, such as TCP/IP and HTTP, were made for simple information transfer. However, business applications on a mainframe may require much more complex transaction and data communication functions, such as those found on SNA networks. Legacy applications usually run in secure and stable network environments, but the Internet applications are designed to cope with unreliable communication and network failures. A multiprotocol solution is required to seamlessly access, for example, 3270 applications from industry-standard Web browsers.

Applications accessed through the Internet may have much more stringent security requirements. Security control in a mainframe environment is quite different from the Internet environment. The legacy applications must now also accommodate firewall filters and user-password authentication mechanisms, without adding to their own complexity.

Architectures

You can use several different architectures to provide Web-based access to mainframe-based applications and databases. These include terminal emulators, CGI processes, application servers, TP monitors, and request brokers. Numerous products available on the market can also help you access legacy applications and legacy databases from the Web. In the remainder of this article, I review the various architectures that can provide Web-based access to mainframe-based applications and databases, noting some of the relevant products that illustrate each respective architecture.

Terminal Emulators

With the terminal-emulator approach, direct access is provided from the Web browser to the legacy application, without having to change anything on the host system. The application executing on the Web browser must have the built-in functionality to act exactly like a terminal user on the host system. This type of access is similar to calling a 3270 or a 5250 terminal emulator as a plug-in application from the Web browser. It merely provides access from a Web browser to an underlying green-screen application. In some of the more advanced terminal emulators, terminal data streams from 3270, 5250, and VT220 terminals are translated on the fly to HTML and vice versa. The only advantage of this type of interface is that it lets any user with a Web browser access the host terminal applications, without the need for an expensive terminal or terminal-emulation software.

Arpeggio Live! from Wall Data Inc. (Kirkland, Wash.) dynamically converts mainframe and AS/400 applications into HTML for viewing from a Web browser. It provides Distributed Relational Database Architecture (DRDA) access to IBM DB2 databases and to other relational databases through ODBC.

Many of the products described in this article also include terminal emulation components. However, as terminal emulators provide quite a ýlow-levelý type of access, I have not elaborated on these types of interfaces.

CGI Processes

The Common Gateway Interface (CGI) is a mechanism that invokes a script on the Web server from the Web browser, which returns its output as formatted HTML back to the Web browser. A server-side CGI executable can be any compiled program supported by the Web server's operating system, such as C or C++. Most of the Web servers now support a Windows CGI that lets you develop CGI executables in Microsoft Visual Basic or Visual C++. Each CGI call typically requires a separate process to be spawned, with its own overheads and CPU utilization. Each time a database access request is received from the Web browser, the spawned CGI script connects to the database and requests the DBMS server to perform a query. On a Web server with hundreds of users, this repeated spawning of processes and the repeated connections to the database can consume many resources.

Computer Associates International Inc. (Islandia, N.Y.) provides Web-enabled access to all of its legacy databases, such as CA-IDMS and CA-Datacom, through the Internet Computing Enabled (ICE) CGI processes. CA also provides the same type of access through enterprise-access gateways to databases such as DB2 and IMS. The Web server parses the HTML requests received from the Web browser and it extracts the SQL commands and passes them to the CGI program called ICE.EXE. Through the enterprise access gateway for CA-IDMS, CA-Datacom, or any other accessible database, the SQL commands are executed on the target database and the required results are passed back to the Web server, which returns it to the Web browser for display to the user. (See Figure 1.)

LegacyLink by Cel Corp. (Edmonton, Alberta, Canada) is a customized connectivity application that provides an interface among Web browsers, Web servers, and legacy applications to access legacy databases. It provides this interface through a terminal emulation connection. The CGI process can be implemented in any programming language, such as C++, or in any development environment, such as HyperCard or 4D. The Web server passes the legacy application requests to the LegacyLink server through a CGI interface. LegacyLink initiates a host application session similar to a normal terminal user. The legacy applications may be typical green-screen (text or character) applications running on host mainframe and minicomputer systems. All of the information destined for the host is bundled into sequential steps that ýwalk throughý the actual host application interface. LegacyLink predetermines exactly which commands the host application expects to receive, and then it returns confirmation and error messages sent from the host. LegacyLink is a standalone CGI application that can support multiple host sessions through threads. It can access various hosts through 3270, 5250, and VT100 emulators. LegacyLink also returns data received from the host application to the Web server, which presents it to the Web browser.

Application Servers

The application-server approach adds another tier to the application architecture. An application server is placed between the Web server and the database server, which provides specialized application services to the Web server. In the context of legacy applications and legacy databases, the application server provides all of the access to the legacy applications and the legacy databases. It is the application server's responsibility to execute the legacy application on the host platform. Alternatively, it can connect to the legacy database on the host platform as if it were a remote terminal, execute the required operations, and retrieve the requested data.

Jacada from Client/Server Technology Inc. (headquarters in Herzliya, Israel, with offices in Atlanta, Ga.) uses Java clients to access legacy applications through a specialized application server. The Java clients are generated automatically from mainframe and AS/400 applications without requiring any change to the applications. Using the Jacada development tools, you convert character-based screens into a server application and graphical Java applets that are deployed on the Web server. The Java clients maintain persistent, secure connections through the Jacada server to the host application. The server application intercepts the host generated 3270 and 5250 data streams and displays the relevant data in the appropriate Java applet. Similarly, the application collects data from the Java applet, converts it to a data stream, and sends it to the host application. The Jacada architecture is illustrated in Figure 2.

Enterprise/Connect from Apertus Technologies Inc. (Eden Prairie, Minn.) also makes use of the application server architecture. The Enterprise/Connect TN application server runs on platforms such as AIX and Solaris. From there it provides full 3270 and 5250 terminal access to IBM mainframe applications through a wide range of Telnet, SNA (such as CDLC, Token Ring, and SDLC), and LU 6.2 connections. A Java-enabled Web browser can access the Enterprise/Connect TN application server for access to the mainframe for terminal, file transfer, and printing services. The application server can be on the same or on a different platform from the Web server, but the second configuration may require more stringent security controls such as firewall filters and dedicated TCP/IP ports. Enterprise/Connect also includes a downloadable TN Emulator Java applet, which provides 3270 and 5250 terminal access to the mainframe.

TP Monitors

A transaction-processing (TP) monitor is an extensive framework into which you can embed your application logic. It consists of client applications, application servers, and resource managers. The client applications only manage the user interface-processing functions, such as screen logic, screen handling, input handling, and some validation functions. Most of the details of the application's logic are coded in the application server as so-called application services. All of the lower-level services, such as interfacing between the database and the application services, are provided by so-called resource managers. The resource managers are also responsible for all of the database accessing tasks. Tuxedo, Encina, and CICS are the most widely known TP monitors.

In a typical multitier architecture built around a TP monitor, the Web browser requests an HTML page from the Web server. The Web server passes the request to an application server. The application server translates this to a resource request, which it submits to the appropriate resource manager. The resource manager accesses the mainframe database and returns the required data along the same path. (See Figure 3.)

Through the CICS Gateway for Java, IBM Corp.'s (Armonk, N.Y.) Host On-Demand provides emulator-based access to CICS applications from Java-enabled clients through IBM's Customer Information Control System (CICS) TP monitor. Through a Java applet called JavaGateway, the Web browser can call CICS programs directly through the CICS client interfaces. The CICS client in turn communicates with the CICS server on the mainframe through the external EPI or ECI interfaces. IBM's Host On-Demand also includes a number of complimentary interfaces. For example, it includes a downloadable TN Emulator for Java, which provides 3270 and 5250 multisession terminal access to SNA applications running on the mainframe. The Java-based TN emulator is partitioned into separate functions -- a setup that enables you to download only the functions you use to your Web browser. The CICS Web Gateway is a CGI script provided by IBM that makes a Web browser appear like a 3270 terminal. It also works through the CICS client. The CICS Web Interface includes the CICS Transaction Server for OS/390, which provides a TCP/IP connection directly into CICS/ESA without going through the Web server. With this mechanism, you can get direct access from the Web browser to CICS/ESA through TCP/IP for MVS.

UniKix from UniKix Technologies (a subsidiary of Groupe Bull, Billerica, Mass.) also provides access from a Java-based Web browser to IBM mainframe and Unix-based CICS applications. This is accomplished through two components: Web Client and WebKix. The Web Client's graphical editor is used to develop easy-to-use Web interfaces to existing CICS applications on UniKix. WebKix is the application service component of UniKix's solution. It acts as a front end for CICS systems running under UniKix on Unix. It provides automatic translation between 3270 data streams and HTML. It accesses CICS applications through the EPI interface.

Request Brokers

An information request broker is the Web's version of the object request broker that is used in distributed applications. An information request broker gives Web applications access to different types of information and different applications by translating the requests for information to the types of requests required by the existing databases and applications. For example, it can translate SQL database access requests embedded in HTML scripts to ODBC calls to a DBMS. An information request broker can extend the capabilities of a Web server to access relational databases, legacy databases hosted on mainframes, and screen-based applications. The advantage of this type of interface is that the information request broker can provide seemingly seamless access to different applications through the same application interface running on the Web client.

Salvo from Simware Inc. (Ottawa, Ontario, Canada) uses an information request broker architecture to access data used in legacy applications and data stored in legacy databases and relational databases accessible through ODBC. Salvo's Information Object framework uses an object-oriented approach to encapsulate all of the different data access, application logic, and presentation functions as independent objects. Salvo's specialized Web server component runs on Windows NT. Various information rules (such as context interpreters, information builders, and information generators) are linked together to form a server-based information application. These applications can access screen-based applications residing on 3270 and 5250 hosts, VT100 and VT220 telnet applications, and relational databases accessible through ODBC.

Precise/CPE (Corporate Processing Environment) from Precise Software Solutions (Braintree, Mass.) is a powerful message-oriented middleware product that lets you integrate Web-based and client/ server applications with legacy systems. For example, you can access any legacy CICS or IMS program from any platform and development tool supported by Precise/CPE. The data through CPE is translated using an OSF DCE-compliant IDL compiler that is used to describe the interface between client and server applications. With the CPE IDL compiler, there is no need to compile the IDL sources on both client and server platforms. Because of the need to connect to legacy platforms, it is enough to marshal and translate the data on one side of the connection. Precise CPE determines the details of the remote platform through its directory services, and it connects applications over TCP/IP, SNA, IPX/SPX, and NETBIOS. Applications can be connected regardless of whether the applications reside on the same network or on networks using different protocols. Thus a TCP/IP-based Java application may converse with an SNA-based CICS, IMS, or IDMS/DC transaction as if it were talking to a local Java program.

N-Tier Architectures

One aspect that is causing Web architectures to evolve so fast is the requirement to access legacy data stores and applications, conventional relational databases and applications, and object databases and object-oriented applications. New application architectures must cater to various mechanisms ranging from simple terminal emulators, to server architectures, to message-oriented and request-broker-type architectures. (See Figure 4.)

Some of the conventional architectures, such as two-tier client/server architectures and three-tier Web application architectures, are sufficient and appropriate in many cases. In straightforward scenarios, these simpler architectures even provide enough functionality to access legacy applications and legacy databases from the Web. However, when you want to integrate the data from multiple and widely differing sources, you need to consider more advanced architectures such as TP monitors and request brokers, and you may even have to consider more general, evolving, n-tier architectures.


Martin Rennhackkamp is the owner and principal consultant of The Data Base Approach, a corporation specializing in relational and distributed databases, based in Cape Town, South Africa. You can email Martin at mr@dba.co.za or visit his Web site at www.dba.co.za.


Figure 1.


--A diagram of the CGI process architecture.

Figure 2.


--An illustration of the application server architecture.

Figure 3.


--An example of a TP monitor architecture.

Figure 4.


--An example of a hypertier architecture.

Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
June 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated Friday, May 16, 1997