IBM introduced the first CICS Internet connection option in CICS/ESA 3.3, with support for the CICS socket interface option of TCP/IP for MVS. Since then, with each new release—and often between releases via SupportPac offerings—IBM has continued to provide CICS with new Internet connectivity capabilities and features, generating so many support features that it’s difficult to keep up with them all.
This article won’t attempt to cover all the various interface options available to the CICS developer; there are simply too many. Instead, we’ll focus on the most popular, provide a brief overview of the capabilities of each, and list the basic pros and cons. The functions covered are:
- The 3270 Bridge
- CICS Web Support
- The CICS Socket Interface
- CICS Web services.
A brief discussion of terminology is required before we consider the Internet options. A confusing aspect of discussing CICS connection options is that the phrases often used to describe CICS Internet functionality in general mean something quite different when used technically. The three most significant terms are:
- CICS Web services relates specifically to CICS support for Web services functionality as defined by the Web Services Interoperability Organization (WS-I) Basic Profile 1.1 Web Services statement.
- CICS Web support relates to a specific subset of CICS-provided services, which are designed to facilitate communication between CICS application programs and the Internet.
- CICS Sockets Interface defines the CICS-specific support provided by the z/OS Communication Server, and not to any functionality provided by CICS or the CICS Sockets domain.
Common misuse of the terms “CICS Web services” or “CICS Web support” to mean CICS Internet support in general, causes confusion and should be avoided.
The 3270 Bridge
Introduced in CICS TS 1.2, the 3270 bridge supports creation of an HTML front-end for 3270-based Basic Mapping Support (BMS) applications without requiring application code changes. The bridge provides for a one-to-one mapping of a 3270 screen to an HTML Web page, but additional functionality can be built into the HTML the utility produces.
Using the 3270 bridge requires minor changes to affected CICS regions; these are documented in the CICS External Interfaces Guide. To enable a program to use the 3270 bridge, reassemble the program’s BMS map using the DFHMAPT procedure found in SDFHPROC. DFHMAPT adds an Application Data Structure (ADS) to the map load module and places an HTML template in the DFHHTML data set. If you don’t have the source for your map, IBM supplies a utility that can create source from the load module, DFHBMSUP, and that generated source can then be used as input for the DFHMAPT proc.
Once DFHMAPT has generated the HTML and related control information, the transaction’s Web front-end can be used in place of the 3270 simply by entering a transaction-specific URL on any Web browser. The HTML, as generated by the DFHMAPT utility, is designed to emulate the look and feel of a 3270 and, as such, is usually inappropriate for end-user access. Fortunately, the HTML generated is fully customizable and you can change it to improve both appearance and usability. For example, you can change the HTML to use a standard company intranet template, change Programmable Function (PF) keys to icons, remove unneeded fields, add drop-down lists of formerly cryptic processing options, etc. Using the 3270 bridge, a fully functional Web front-end to an existing CICS application can be developed and implemented in an afternoon, without any coding changes required.
While there are significant limitations to the 3270 bridge that you must consider before using it, it does support rapid development of Web interface capability at minimal cost.
Besides the functionality previously described, the 3270 bridge facility also includes the “linkable” bridge. The linkable bridge provides the ability to go beyond the 3270 bridge’s one page per 3270 screen limitation by providing an interface where a customer-provided program initiates multiple calls to the 3270 bridge facility to gather several 3270 screens’ worth of data before formatting a single Web page for the end user. For example, the new program could call the linkable bridge to initiate a customer inquiry transaction and then issue “next page” transactions to acquire all of the information about the customer to present to the end user on the same page.