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.
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.
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.
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.
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.
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.
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.
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.



