Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Designing and Programming CICS Applications
SPECIAL OFFER: Upgrade this ebook with O’Reilly
A Note Regarding Supplemental Files
Preface
The Book’s Audience
Organization of the Book
About the CD-ROM
Conventions in This Book
How to Contact Us
Acknowledgments
I. Introduction to CICS
1. Introduction
The Essentials of a Business Application
Division of Responsibilities
Lifecycle Requirements
Technical Requirements
Business Applications as Creators of Value
Using CICS for Business Applications
Examples of Business Applications That Use CICS
2. Designing Business Applications
The Heart of a Business Application
Components
Business logic components
Presentation logic components
Component interfaces
A note about traditional CICS applications
Transactions
Limitations of ACID transactions
Error Handling
The need for a methodical approach
How CICS Can Help the Application Designer
CICS Transactions
CICS Programs and Linking
Synchronous calling between programs
Asynchronous calling between programs
Calling CICS programs from non-CICS programs
Defining resources
Working with MQSeries
Error Handling Facilities
Security
Transaction security
Resource security and command security
Other Services for the Application Designer
Developing the Components of a Business Application
Design
Programming
Test and Debug
Deployment
What’s Next…
3. Introducing the Sample Application
The Business Case
The IT Requirements
The Cross-Functional Team
The Design of the Sample Application
The Initial Architecture
What’s Next…
II. The COBOL Business Logic Component
4. Designing the Business Logic
Understanding What COBOL Components Need to Do
Looking at the Data Structure
Assessing Restrictions
Estimating the Workload
Summary
Incorporating CICS Design Guidelines
Using Resources Efficiently
Shared resources
Single-user resources
Maintaining File Integrity: Using Locking
Handling Errors
Categories of errors in a CICS transaction
Handling Data
The Account File
The Name File
The Locking File
Recovery Requirements
Designing the Individual Functions
Creating, Reading, Updating, and Deleting Account Records
Reading a record
Browsing Records
Error Processing
Mapping the Functions to CICS Programs
Looking at the Business Logic Programs
The Create, Read, Update, and Delete Backend Progam (NACT02)
The ABEND/Error Handler Program (NACT04)
The Name Browse Backend Program (NACT05)
Summary
5. Programming the COBOL Business Logic
Writing CICS Programs in COBOL
Invoking CICS Services
Differences from Standard COBOL Programs
Handling Files
READ Commands
Using the READ Command in the Sample Application
Browsing a File
Starting the browse operation
Reading the next record
Finishing the browse operation
Using the browse commands in the sample application
Write Commands
Rewriting a file record
Adding (writing) a file record
Deleting a file record
Using the write commands in the example application
Errors on file commands
Other File Services
Saving Data: Using a Scratchpad Facility
Affinities
Controlling Programs
Associating Programs and Transactions
Commands for Passing Program Control
The LINK Command
The XCTL Command
The RETURN Command
The COBOL CALL Statement
Subroutines
Examples of Passing Control and Data Between Programs and Transactions
Communicating Between Transactions in the Sample Application
Accessing the COMMAREA in the called program
Examples of EXEC CICS RETURN use
Errors on the Program Control Commands
Abending a Transaction
Other Program Control Commands
Queuing Facilities: Temporary Storage and Transient Data
Temporary Storage
Transient Data
The EXEC CICS WRITEQ TD Command
The EXEC CICS WRITEQ TD command as used in the NACT04 program
Handling Errors
The EXEC CICS ASSIGN Command
The EXEC CICS ASSIGN command as used in the NACT04 program
The EXEC CICS INQUIRE PROGRAM Command
Description
Browsing
The EXEC CICS INQUIRE PROGRAM as used in the NACT04 program
The EXEC CICS DUMP TRANSACTION Command
EXEC CICS DUMP TRANSACTION as used in NACT04
The EXEC CICS SYNCPOINT ROLLBACK Command
The EXEC CICS SYNCPOINT ROLLBACK command as used in the NACT04 program
The EXEC CICS WRITE OPERATOR Command
The EXEC CICS WRITE OPERATOR command as used in the NACT04 program
Other Commands
What’s Next…
III. The CICS Java Component
6. Designing the CICS Java Component
Background to Java and CORBA in a CICS Environment
Java in a CICS Environment
Introduction to CORBA
CICS IIOP Support
Understanding What This Component Needs to Do
Describing a Customer Account Object with IDL
Design of the CICS Java Component
Implementing CICS Java Components
What’s Next…
7. Programming the CICS Java Component
Tools
Setting Up Your Development Environment
Creating and Compiling the IDL Definition
Writing the Server Implementation Class
Examining the Methods in the _accountInterfaceImpl Class
Exporting and Binding the Server Application to the CICS Region
Creating the CORBA Client
Creating the Client Program
Create genfac.ior File
Creating the RunClient Class
Testing the Client
What’s Next…
IV. The Web Component
8. Designing the Web Component
Understanding What the Component Needs To Do
Designing the Web Interface
Designing the Web Server Components
The Java Servlet
The JavaBean
The Java Server Pages (JSP files)
Why Design It This Way?
Designing the CORBA Client Implementation
What’s Next…
9. Programming the Web Component
Tools
Install and Configure a Web Server
Using WebSphere Studio
Servlet Configuration
Building the Web Site
Programming the Web Server Components
Creating a WebSphere Studio Project
Creating AccountBean
Looking at the coding in AccountBean
Creating KanDoItServlet
Creating the Java Server Page File
Examining the details of the Java Server Page
Creating the Error JSP File
Incorporating the CORBA Client
Modifying KanDoItServlet.java
Modifying ClientStub.java
Publishing Your Files
Testing the Sample
What’s Next…
V. The 3270 Interface
10. Designing the Presentation Logic
Understanding What the Presentation Logic Component Needs to Do
IBM 3270 Information Display System
3270 Field Structure
Planning Your 3270 Screen Layout: Using a Menu Screen
Interface Design Principles
Incorporating CICS Design Guidelines
Conversational or Pseudo-conversational Transactions?
Conversational transactions
Pseudo-conversational transactions
Handling Errors
Designing the Functions
11. Programming the 3270 Presentation Logic Component
Defining Screens with Basic Mapping Support (BMS)
What Is BMS and What Does It Do?
Defining a Menu Map Using BMS Macros
The DFHMDF macro: generate a map definition for a field
The DFHMDI macro: generate BMS map definition
The DFHMSD macro: generate BMS map set definition
Rules on macro formats
Map Definitions for the Sample Application
Defining the account detail map
Notes on the Account Detail map
Defining the error map
The Mapset
Symbolic Description Maps
Copying the Map Structure into a Program
Notes on DSECTs
Sending a Map to a Terminal
The SEND MAP Command
Using SEND MAP in the sample application
Positioning the Cursor
Sending Control Information Without Data
Receiving Input from a Terminal
The RECEIVE MAP command
Finding Out What Key the Operator Pressed
The EXEC Interface Block (EIB)
AID byte definitions
Errors on BMS Commands
MAPFAIL errors
Starting Another Task, and Other Time Services
Starting Another Task
Retrieving data passed to the START command
Using the START and RETRIEVE commands in the sample application
Errors on the START and RETRIEVE commands
Local Printing (NACT03): Requests for Printing
What’s Next…
VI. The Visual Basic Component
12. Designing the Visual Basic Component
Understanding What the Component Needs to Do
Designing the Graphical User Interface
Designing the Log In panel
Designing the Main Menu
Designing the Print Function
Designing the Online Help
Designing the Data Validation
Designing Access to and Control of the CICS Application
Understanding the CICS External Call Interface (ECI)
Using the ECI
Initiating the CICS client
Data Conversion Between the CICS Universal Client and CICS Transaction Server
Accessing Applications on the CICS Server with Standard CICS Object-Oriented Support
Using the CICS Client Component Object Module (COM) libraries
Accessing Applications on the CICS Server Using the VisualAge Interspace API
Creating the link to the CICS ECI
Communicating with the CICS application
Designing Error Handling
13. Programming the Visual Basic Program
Writing the Graphical User Interface
Implementing the Print Function
Implementing the Online Help
Implementing the Data Validation Code
Accessing Applications on the CICS Server
Handling Data
Writing the ECI Component
Making an ECI link call to CICS
Handling ECI errors
Accessing Applications on the CICS Server with the VisualAge Interspace API
Creating the VisualAge Interspace Service for the NACT02 CICS Server Application
Testing the VisualAge Interspace Service
Generating the Visual Basic module for the service
Incorporating the generated service module into the Visual Basic project
Coding the required VisualAge Interspace API calls
Communicating with CICS
A Digression About TCP62
Configuring the Application
Configuring CICS Transaction Server for OS/390 for TCP62
Configuring VTAM for OS/390
Handling Data Conversion
Configuring the Windows NT HOSTS File on the Client
Configuring the CICS Universal Client
Testing the TCP62 Connection
Running the ACCT Application
What’s Next….
VII. CICS and MQSeries
14. Designing an Application to Use the MQSeries-CICS Bridge
Background to MQSeries
Queue Managers
How Applications Identify Themselves to Queue Managers
Opening a Queue
Putting and Getting Messages
Messaging Using More Than One Queue Manager
The MQSeries-CICS Bridge
When To Use the MQSeries-CICS Bridge
Designing the Graphical User Interface
Designing the Java Application
Configuring MQSeries
Running CICS DPL Programs
Why Design It This Way?
What’s Next…
15. Programming the MQSeries-CICS Bridge
Building the Java GUI
Coding the Java Application
Coding the Java Application
Opening the Relevant MQSeries Queues
Creating the MQSeries Message
Adding the CICS Program Name and COMMAREA Fields to the Message Buffer
Sending the Request Message to the Bridge Queue on MQSeries for OS/390
Receiving the Response Message.
Checking for CICS-Related Errors
Displaying the Relevant Information
Setting Up MQSeries and CICS
Define MQSeries for Windows NT
Starting MQSeries for Windows NT
Setting Up MQSeries for OS/390
Setting Up CICS To Use the MQSeries-CICS Bridge
Defining MQSeries for OS/390 Objects
Starting Your Channel
Connecting to MQSeries from Your CICS Region
Starting the CICS Bridge
Starting the Listener on OS/390
Running the Application for the Workstation
Troubleshooting
What’s Next…
VIII. Debugging
16. Debugging in CICS
CICS-Supplied Transactions
EDF: Execution Diagnostic Facility
Interception Points
EDF Displays
Other Information Displayed
Useful Techniques with EDF
EDF Options
Getting Started
Examples of EDF Displays
Program Initiation with EIB
About to Execute Command
Command Execution Complete
Command Sequence for the Browse
Working Storage
Task Termination
Summary
IX. Appendices
A. Configuring Your CICS for OS/390 Environment
Getting Ready
Using the CD-ROM
Getting the Data from the CD-ROM
Uploading the Files
Receiving the data sets
Configuring the COBOL Component
Setting up the VSAM File
Setting Up and Installing the CICS Resource Definitions
Running the Application
Configuring the CICS Java Component
Defining Your CICS Resources
Setting Up CICS Java on OS/390
Using the PDF Files for the CICS Main Library
B. List of CD-ROM Files
Files Used by the COBOL Application
Glossary
C. Suggestions for Further Reading
Index
About the Authors
Colophon
SPECIAL OFFER: Upgrade this ebook with O’Reilly
← Prev
Back
Next →
← Prev
Back
Next →