IMS Transaction Message Processing: Unit 6
IMS Transaction Message Processing: Unit 6
Unit 6
Copyright IBM Corporation 2008 Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
5.1
Objectives
Discover the message flow from terminals through IMS/TM or EMH to an MPR and how application programs (MPPs) are scheduled Discover the components and flow of MPPs (message processing programs) Learn a little about the macros that define MPPs to IMS/TM Differentiate BMPs from MPPs and learn about extended checkpoints and restart Learn some of the implications of APPC Identify the functions of OTMA (Open Transaction Manager Access) and IMS Connect
Message Queue
IMS DB(s)
Copyright IBM Corporation 2008
001
SKILLINQ (8) SKILLUPD (5) PAYROLL (4) INVENT (10) STOKSTAT (8)
002
003
ORDER RECEIVE
(6) (4)
Transactions are "grouped by" priority within class... Class and priority can be changed via /ASSIGN command
Copyright IBM Corporation 2008
Message "Scheduling"
Application programs are automatically scheduled only into
Message Processing Regions (MPRs) Driven by occurrences of "messages"...
IMS MESSAGE-QUEUE SKILLINQ CLASS=1, PRTY=8
IMS/ MPR1
Classes 2,3,4,1
IMS/ MPR2
Classes 3,4,5,6
IMS/ MPR3
Classes 4,5,6,7
MESSAGE 1
MESSAGE N
MESSAGE 1 MESSAGE M
Control Region
Message Region 1
Application Program: ...
INPUT MESSAGE
DATABASE(S)
OUTPUT MESSAGE
GET MESSAGE ... ... ... ACCESS DB ... ... ... INSERT REPLY GET NEXT MSG TERMINATE
TIME 1
TIME 2
TIME 3
MESSAGE 1 MESSAGE N
8 10
30 8
8 10
30
8 10 30
30
NORMAL PRIORITY
MESSAGE 1 MESSAGE 2
9 12 4 2
9 12 4 1
9 12 4 3
MESSAGE M
Copyright IBM Corporation 2008
Parallel-scheduling:
Allows the same program to be scheduled in parallel address-spaces at the same time
IF processing a different transaction code Subject to queue-count of each transaction code Upper limit maximum
All updates and messages for the previous transaction are committed.
ABEND
Dynamic transaction backout is invoked automatically when a program abends. Any uncommitted updates or messages are purged when a program abends.
APPLCTN TRANSACT
APPLCTN TRANSACT
Class
LTERM SF101
(Class 2,3,4,1)
IMS/MPR1
IMS/MPR2
(Class 4,5,6,7)
PGMLIB
SKILLINQ XXX INVENTUP XXX
PGMLIB
INVPGM VENPGM
RESULTS
INQPGM UPDPGM
Copyright IBM Corporation 2008
PCB
IO-PCB IO-PCB
CODE
GUbb GNbb
IO-PCB
ISRT
SENDING MESSAGES to ALTERNATE TERMINALS: CHANGE INSERT PURGE CHECKPOINTING of the BATCH APPLICATION: CHECKPOINT SYNC-POINT
IO-PCB IO-PCB
Copyright IBM Corporation 2008
CHKP SYNC
Conversational Processing
SCRATCH-PAD AREA
NAME: JOHN DOE ADDR: 123 MAIN CHICAGO ZIP: 60601 ACCT: 12-3456
ORDERENT
BEFORE
'ORDPGM' PROGRAM
AFTER
SCRATCH-PAD AREA
ORDER; 98765 ITEM QTY DESC 1 50 BLUE 2 75 RED 3
BEFORE
'ORDPGM' PROGRAM
AFTER
ORDERENT DOE,J 12-3456 000000 00000000000000 ORDERENT DOE, J 12-3456 98765 50 BLUE 75 RED
SCRATCH-PAD AREA
ORDER: 98765 PRICE: 50.00 TAX : 5.00 TOTAL: 55.00 ORDER COMPLETE
BEFORE
'ORDPGM' PROGRAM
AFTER
ORDERENT DOE, J 12-3456 000000 50 BLUE 75 RED BBBBBBBB DOE, J 12-3456 98765 50 BLUE 75 RED
IMSGEN
APPLCTN PSB=HQPGM, PGMTYPE=(BATCH)
Control Region
DATABASE(S)
APPC
APPC is the most commonly used SNA protocol when accessing IMS from a CGI program
Conversational Model APPC Supports
Asynchronous Synchronous
interactive
CGI Pgm
IMS SNA
APPC Calls
APPC Calls
SNA
APPC Calls
Standard
Copyright IBM Corporation 2008
CPIC Driven
IMS
CONFIRM
APPC/MVS
LU 6.2 DEVICE
Copyright IBM Corporation 2008
APPC Support
APSB (allocate PSB) call
Dynamically allocate a PSB CPIC driven programs have no access to a PSB when scheduled Allows access to IMS resources when application is CPIC driven
DL/I data bases Alternate PCB output
WebSphere
TCP/IP Client
Common Interface (XCF) IMS Data Comm. APPC Comm. (Using XCF)
I M S T M
Transaction Manager
Appl. DB2
Appl.
...
Appl.
Open DB Access Facility
IMS
OTMA
XCF
TCP/IP
IMS TCP/IP Client
IMS Connect
Back-end Services (IMS) Internet
z/OS
TCP/IP
IMS Connect
Unit Summary
Transactions are scheduled as a function of matching classes defined in MPR JCL with the class (CLASS) and priority (PRTY, PROCLIM) assigned to a transaction in an IMSGEN Message processing programs (MPPs) receive messages from terminals by issuing get calls (GU and GN) and return messages with insert calls (ISRT) to an I/O PCB Application transactions are defined in an IMSGEN using APPLCTN and TRANSACT macros BMPs execute during online processing and should also have checkpoint and restart logic APPC programs can contain dynamic allocations of PCBs and are scheduled by IMS, however, other IMS/TM communication processes are bypassed OTMA provides the facility for IMS to communicate with IMS applications other than VTAM, such as TCP/IP IMS Connect provides enhanced TCP/IP support for easy access to IMS from the Internet
Copyright IBM Corporation 2008