Home > Data Center Tips > CICS Newsletter > Mainframe applications never die: Using the 3270 bridge
Data Center Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

CICS NEWSLETTER

Mainframe applications never die: Using the 3270 bridge


Robert Crawford, Contributor
02.26.2008
Rating: -4.17- (out of 5)


IT infrastructure news
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Despite claims to the contrary, old 3270 applications will not die. In fact, instead of dying, people seem to find more and more uses for them. Different ways of interfacing with old applications have evolved through the years, from screen scraping (e.g. CICS' FEPI) down to the 3270 bridge. At this time, the 3270 bridge has the advantage of talking to the old transactions through data areas instead of navigating treacherous 3270 streams. This column provides an overview of the 3270 bridge Link3270 interface.

Overview of 3270 bridge
To discuss the bridge, some definitions are in order.

Server: The transaction to be driven through the bridge
Client: The transaction or program that uses the bridge to drive the server
Facility: What the bridge calls the "fake terminal" that the server transaction interacts with

The bridge comes in two flavors. The older version uses the BREXIT parameter of the START command. BREXIT names a routine to act as a "bridge exit" that interacts with the server transaction. This interaction takes the form of simulated messages over a pretend terminal. If everything works correctly, the server transaction is none the wiser. In the meantime, the client transaction waits to hear back from the bridge exit through a mechanism like a temporary storage (TS) or transient data (TD) queue.

CICS/TS 2.2 introduced the Link3270 mechanism. Instead of using an intermediary bridge exit, the client program links to program DFHL3270, passing a communications area (COMAMREA) expressing its wishes. DFHL3270, in turn, interprets the COMMAREA and manages the server transaction. Usually there is one DFHL3270 link for each message to the client program besides the other types of necessary housekeeping calls.

Note that, although the bridge can talk with symbolic maps, it also supports native 3270 streams. However, this is not recommended unless you're trying to drive a non-BMS transaction.

Preparing to use the 3270 bridge
The bridge doesn't involve a lot of setup, but there are a few interesting system initialization table (SIT) parameters:

AIBRIDGE Specifies if you want the bridge to invoke your terminal auto-install exit when creating a new facility.
BRMAXKEEPTIME Number of seconds to keep an idle bridge facility before deletion
WEBDELAY Two values; the first is the number of minutes a web bridge transaction can wait in a terminal read before CICS purges it. The second tells CICS how long to keep a web bridge transaction's state data.

The bridge also requires the definition of VSAM file DFHBRNSF to track facility use. There are sample IDCAMS statements for defining DFHBRNSF in the CICS External Interfaces Guide. How you define DFHBRNSF depends on your terminal naming space and function shipping, transaction routine and distributed program link (DPL) requirements. Also note that there is no utility for adding records to it. Instead, you should initialize it with one bogus record and let the bridge do the rest.

Last, there are several sample resource definition online (RDO) definitions for the many configurations of DFHBRNSF. Pick the sample based on your own needs.

Talking to the Sever
What makes the bridge easier to use than ordinary screen scraping (such as FEPI) is that data can be exchanged through the symbolic maps spit out by the basic mapping support (BMS) definition macros. Most programmers can easily include the symbolic maps and understand how to populate them, especially in higher-level languages like COBOL and C.

DFHBMSUP can provide the symbolic map utility if you don't have one. Just point it to the load library containing the map's load module and provide the mapset's name as a parameter. Out pops a copy book suitable for inclusion in a program of the same language for which the mapset was originally created. One downside is DFHBMSUP-generated symbolic maps contain imaginative field names such as "FLD00001," meaning you might have to use a little guesswork to flange up the data with the actual screen field. For more information, please see the CICS Operations and Utility Guide.

The bridge refers to the symbolic map as an Application Data Structure (ADS). In addition, with the proper call, the bridge can provide an Application Data Structure Descriptor (ADSD). The ADSD provides a list of map field names (the real ones), lengths, attributes and positions. This is particularly useful if you want to create a generic utility program to interface between a client and server. In short, the logic would look like this:

  • Client calls the utility specifying the server transaction and a list of input and output fields.
  • The utility starts the transaction and asks the bridge for an ADSD.
  • The utility matches the client's requested fields with those in the ADSD. Then the utility can drive the server transaction with the given inputs to provide the requested outputs.

Conclusion
I didn't pay too much attention when IBM presented information about the 3270 bridge because it was usually in the context of accessing "legacy" applications from the Internet. That was of little interest to my shop. However, at the suggestion of IBM Level 2, my dim bulb went off and I realized it could used to drive a transaction for which I don't have the source or file record layouts. My next column will go into more details including my lessons learned from the experience.

ABOUT THE AUTHOR: For 24 years, Robert Crawford has worked off and on as a CICS systems programmer. He is experienced in debugging and tuning applications and has written in COBOL, Assembler and C++ using VSAM, DLI and DB2.

Rate this Tip
To rate tips, you must be a member of SearchDataCenter.com.
Register now to start rating these tips. Log in if you are already a member.




BROWSE BY TAG
CICS Newsletter,   Mainframe operating systems and management,   Mainframe computers,   Server hardware,   Mainframe management,   Chapter 1: Mainframe modernization,   SOA on the mainframe,   VIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
CICS Newsletter
IBM z/OS 1.11 preview: New features and functions
New statistics for CICS Transaction Server 3.2
Manage CICS workloads with transaction classes
Run CICS in batch to beat a shrinking batch window
Ensuring CICS security with the Web Services Security standard
Use DFHLS2WS to expose CICS applications as a Web service
Using IBM IPCS to battle software bugs
CICS and Web services: Ready to go
Using External Call Interface (EXCI) to access CICS
Using CICS event monitoring points (EMPs) for tuning and debugging

Mainframe operating systems and management
Improve CICS Web services security and handle Web transaction requests
Coding a simple mainframe cryptography program
How is CICS prepared for future IT market demands?
Why IBM should listen to Neon Software, customers on zPrime
Aussie financial firms dump Unix, Windows for Linux on the mainframe
Using cryptography on the mainframe: An amateur's guide
How mainframes fit into cloud computing
IBM z/OS 1.11 preview: New features and functions
Neon Software CEO rejects IBM warnings on mainframe licensing issues due to zPrime
IBM upgrades Parallel Sysplex, boosts importance of mainframe clustering

SOA on the mainframe
SOA on mainframe allows SunTrust to offer cell phone banking
For large mainframe shops, SOA on the upswing
IBM mainframe CICS Transaction Server enhanced for SOA
Bringing the mainframe into the SOA fold
Mainframe SOA adoption: Interest high, adoption low
New mainframe migration tools: It's really about app modernization
Roadmap to mainframe application modernization part 3
Roadmap to mainframe modernization part 2
Roadmap to mainframe application modernization
Web services development needs the mainframe

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
epoch  (SearchDataCenter.com)
ISPF  (SearchDataCenter.com)
job  (SearchDataCenter.com)
Job Entry Subsystem  (SearchDataCenter.com)
job scheduler  (SearchDataCenter.com)
job step  (SearchDataCenter.com)
MVS  (SearchDataCenter.com)
P/390  (SearchDataCenter.com)
Remote Job Entry  (SearchDataCenter.com)
z/OS  (SearchDataCenter.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



White Papers - Data Center Networking

The Intel IT Technology Center - Power, Performance and Mobility Solutions

HomeNewsTopicsITKnowledge ExchangeTipsBlogsMultimediaWhite PapersEvents
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2005 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts