CICS Web Support: Moving Transactions to the Web
CICS Web Support provides Web-enablement facilities for existing applications with minimal effort and modification
The CICS facilities that expand its reach into the Web are varied and many: the CICS LINK3270 Bridge, CICS Web Support (static, dynamic Web-aware, and/or client options), CICS Web Services (including the Simple Object Access Protocol for CICS feature in CICS Transaction Server V3.2), CICS Sockets, CICS Transaction Gateway and several more external product interfaces. It’s quite a list—a lot to evaluate and a lot to understand. But one of these functions offers a unique capability to quickly move existing CICS transactions into the Web in a straightforward, minimal effort, minimal modification manner. For many clients who just want to move CICS functions into the Internet, or who are looking for a good entry point into CICS Webification, CICS Web Support is a great solution. CICS Web Support provides the capability to deliver existing 3270 data streams as HTML output to Web browsers, in most cases as-is, with a limited, but useful capability to tailor that output to in a manner that exploits browser capabilities.
CICS provides HTTP Server support for both dynamic, Web-aware applications and static, 3270 applications. Dynamic, Web-aware programs are written specifically to interface to Web browsers (although they may interface to 3270-type devices as well), and implement the CICS WEB command level interface (WEB RECEIVE, WEB SEND, WEB OPEN/CLOSE, WEB READ HTTPHEADER, etc.). Dynamic, Web-aware programs can look at the HTTP Header and take appropriate actions, and use documents via the EXEC CICS DOCUMENT command-level interface as a way of building HTML browser output. Dynamic, Web-aware programs require application development effort, but can more effectively exploit browser capabilities and functions.
Static HTTP Server support, on the other hand, is designed to take existing 3270 applications—using the 3270 SEND/RECEIVE commands—and produces HTML output that is delivered to a browser. Either Basic Mapping Support (BMS) applications or CICS Terminal Control applications are supported, but with a difference. BMS applications, via Map definitions, can be converted into templates, while Terminal Control (including runtime application development or generation products that do not use BMS) cannot exploit templates. A template is a set of HTML statements that effectively define a browser screen of the same layout, color scheme, input field characteristics, etc. as the 3270 screen defined by BMS DFHMSD, DFHMDI, and DFHMDF statements. In fact, the creation of HTML templates is an extension of the BMS-generation process. An additional Job Control Language step can be added to the BMS generation proc that will produce a template and store it in a library referenced in the DFHHTML DD statement of the CICS startup proc.
Once generated a template can be tailored to change the appearance of the screen. Want to change the background color from gray to blue? Just make the right alteration to the ‘bgcolor’ specification. Want to move fields around, or change titles? Just do it. Want to add radio buttons? No problem. Of course, you have to have a rudimentary understanding of HTML, but it’s not rocket science; it’s pretty straightforward. There are limitations. If you want to add input fields or combine 3270 screens, there’s really no alternative but to modify the application program. But, templates provide the means to improve the appearance of an existing application as it appears on a browser. At the time an application program does a BMS SEND, a template is merged with the 3270 data stream—much as a BMS symbolic map is merged with the physical map—to produce the Web browser window. Even for Terminal Control application, there is a limited ability for tailoring window appearance through the use of heading and footing templates. The heading template goes in front, or above, the portion of the window dynamically generated from the 3270 data stream produced by the application program. The footing template goes behind, or below, this data stream. So there is a way to change the background color on a dynamically generated screen; put it in the heading template. And, there is a way to put PFKey icons at the bottom of a screen; put them in the footing template.
One last point: there is a substantial amount of configuring that has to be done to enable CICS Web Support. System Initialization parameters have to be added or changed. A TCPIPSERVICE (or more) definition will be needed, and a URIMAP (or more) definition may be needed. TRANSACTION and TSQUEUE definitions may also be needed. The CICS Internet Guide, at http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/DFHTLC00/CCONTENTS provides all this information and more.
CICS Web Support for static, 3270 applications provides powerful Web-enablement facilities for existing applications with minimal effort and modification. It’s an effective and powerful way to move transactions into the Internet.
Search our new 2013 Buyer's Guide.
Tips and Techniques | Overcome eight key challenges and reduce costs
E-Newsletter | Steps you can take to avoid late nights and system frights.
Technical Corner | A mainframe systems programmer must address high-level issues when installing a data warehouse