ims fundamentals - tm processing

20
Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 5.1 © Copyright IBM Corporation 2008 IMS Transaction Message Processing Unit 6

Upload: ibm-ims

Post on 08-Jan-2017

169 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: IMS Fundamentals - TM Processing

Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 5.1

© Copyright IBM Corporation 2008

IMS Transaction Message Processing

Unit 6

Page 2: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

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

Page 3: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

User Terminal

z/OS

VTAM IMS/ MPR

IMS/ MPR

IMS/ BMP

IMS/ IFP

MSG

IMS/TM

Receive Task

Scheduler Task

Queue Manager

Expedited Message Handler

APPL........................

APPL........................

APPL........................

APPL........................

Message Queue

IMS DB(s)

IMS/TM Message Flow

Page 4: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

001

002

003

SKILLINQ (8)SKILLUPD (5)PAYROLL (4)

INVENT (10)STOKSTAT (8)

ORDER (6)RECEIVE (4)

CLASSES TRANSACTIONS (PRTY)

Message Classes and Priorities

• TRANSACTIONS are assigned two (2) attributes:– Class, and– Priority

– Transactions are "grouped by" priority within class...– Class and priority can be changed via /ASSIGN command

Page 5: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

IMS MESSAGE-QUEUE

SKILLINQCLASS=1, PRTY=8

MESSAGE 1

MESSAGE N

SKILLUPDCLASS=1, PRTY=5

MESSAGE 1

MESSAGE M

IMS/MPR1

IMS/MPR2

IMS/MPR3

Classes2,3,4,1

Classes3,4,5,6

Classes4,5,6,7

IMS

SCHE

DULE

R TA

SK

Message "Scheduling"

• Application programs are automatically scheduled only into– Message Processing Regions (MPRs)– Driven by occurrences of "messages"...

Page 6: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Control Region Message Region 1

INPUT MESSAGE

DATABASE(S)

OUTPUT MESSAGE

GET MESSAGE . . . . . . . . .ACCESS DB . . . . . . . . .INSERT REPLYGET NEXT MSGTERMINATE

Application Program: . . .

// EXEC PGM=DFSRRC00, PARM='MSG,002003004001...'

Scheduled Transaction Flow

Page 7: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

COBOL Coding ExampleREAD THE INCOMING MESSAGE:CALL 'CBLTDLI' USING GU, IOPCB, IO-AREA

CHECK THE STATUS CODE:

IF STATUS-CODE = 'QC' END THE PROGRAM - OUT OF MESSAGES

HANDLE THE REQUEST:BLAH, BLAH, BLAH.

SEND THE REPLY

CALL 'CBLTDLI' USING ISRT, IOPCB, IO-AREA.

LOOP TO THE TOP TO GET THE NEXT MESSAGE.

Page 8: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

IMS MESSAGE-QUEUE SKILLINQCLASS=1,PRTY=(8,10,30)PROCLIM =20

MESSAGE 1

MESSAGE N

SKILLUPDCLASS=1,PRTY=(9,12,4)PROCLIM=5

MESSAGE 1

MESSAGE 2

MESSAGE M

NORMAL PRIORITYLIMIT PRIORITYLIMIT COUNTQUEUE COUNT

NORMAL PRIORITYLIMIT PRIORITYLIMIT COUNTQUEUE COUNT

TIME 1 TIME 2 TIME 3

912 4 2

912 4 1

9 12 4 3

1030 0

1030 8

103030

88 8

Message Queue "Limit Priority"

• Additional factors affecting scheduling

Page 9: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Message Region Options

• More scheduling options

• "Wait-For-Input (WFI)" transactions:– Allows a program to remain scheduled to wait for the next

transaction, subject to PROCLIM=• 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

• Preload of application programs into certain regions– Program is "ready and waiting" when application schedules

Page 10: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Dynamic Transaction Backout• When the program reads the incoming message:

– Call 'CBTDLI' using GU, IOPCB...

• 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.

• Any uncommitted updates or messages are purged from the system.

Page 11: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

APPLCTN PSB=INQPGM,PGMTYPE=(TP,,1) Class

TRANSACT CODE=SKILLINQ,PRTY=(8,10,20),PROCLIM=20

APPLCTN PSB=UPDPGM,PGMTYPE=(TP,,1) Class

TRANSACT CODE=SKILLUPD,PRTY=(5,12,4),

PROCLIM=5

TRANSACT CODE=SKILLDLT, PRTY=(6,9,20)

APPLCTN PSB=ORDPGM,PGMTYPE=(TP,,4) Class

TRANSACT CODE=ORDERENT, PRTY=(8,12,4), SPA=(200)

APPLCTN PSB=BILLPGM,PGMTYPE=(TP,,7) Class

TRANSACT CODE=BILLING, PRTY=(12,14,5),

SPA=(200)

IMS GEN - Message Processing

Page 12: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

SKILLINQ XXXINVENTUP XXX

RESULTS

IMS/TMControlRegion

1 MESSAGE QUEUED2 IMSMPR2 AVAILABLE IMSMPR1

AVAILABLE3 CONTROL BLOCKS LOADED HERE...

IMS/MPR1 IMS/MPR2(Class 2,3,4,1)

(Class 4,5,6,7)

z/OS

4. INQPGM LOADED, EXECUTION BEGINS HERE...5. GET MESSAGE FROM QUEUE...6. GET DB SEGMENTS FOR INQUIRY...7. INSERT MESSAGE REPLY BACK TO THE QUEUE8. TERMINATE

THIS REGION WAITING FOR

WORK

9. SEND MESSAGE FROM QUEUE TO TERMINAL

LTERMSF101

PGMLIBINQPGMUPDPGM

INVPGMVENPGM

PGMLIB

SKILLNQ123456

SKILLINQRESULTS SCREEN

Message Processing Programs (MPPs)

Page 13: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

FUNCTION PCB CODE

RETRIEVING MESSAGES: GET UNIQUE GET NEXT

IO-PCBIO-PCB

GUbbGNbb

SENDING MESSAGES to ORIGINATING TERMINAL: INSERT IO-PCB ISRT

SENDING MESSAGES to ALTERNATE TERMINALS: CHANGE INSERT PURGE

ALT-PCBALT-PCBALT-PCB

CHNGISRTPURG

CHECKPOINTING of the BATCH APPLICATION: CHECKPOINT SYNC-POINT

IO-PCBIO-PCB

CHKPSYNC

Message Processing Calls

Page 14: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

SCRATCH-PAD AREA

'ORDPGM'PROGRAM

'ORDPGM'PROGRAM

'ORDPGM'PROGRAM

SCRATCH-PAD AREA

SCRATCH-PAD AREA

ORDERENT 00000000000000000000000000000000ORDERENT DOE,J12-3456 00000000000000000000

ORDERENT DOE, J12-3456 9876550 BLUE 75 RED

ORDERENT DOE,J12-3456 00000000000000000000

ORDERENT

ORDERENT DOE, J12-3456 00000050 BLUE 75 REDBBBBBBBB DOE, J12-3456 9876550 BLUE 75 RED

BEFORE

BEFORE

BEFORE

AFTER

AFTER

AFTER

NAME: JOHN DOEADDR: 123 MAIN CHICAGO ZIP: 60601ACCT: 12-3456

ORDER; 98765ITEM QTY DESC1 50 BLUE2 75 RED3

ORDER: 98765PRICE: 50.00TAX : 5.00TOTAL: 55.00 ORDER COMPLETE

Conversational Processing

Page 15: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Batch Message Processing (BMP) (1 of 2)

• Programs are "batch" programs– Submitted when ready by Operations

• May or may not access the message queue:– 1. Transaction oriented BMP: processes input messages and inserts

output reply• BMP address-space JCL parameters (IN= , OUT=)

– 2. Non-transaction oriented BMP: access databases only

• IMSGENAPPLCTN PSB=HQPGM,

PGMTYPE=(BATCH)

TRANSACT CODE=HQUPDT, PRTY=(0)

APPLCTN PSB=DB2PGM,PGMTYPE=(BATCH)

Page 16: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Control Region

DATABASE(S)

Batch Message RegionApplication Program:

. . .

. . .READ z/OSDATA SET

. . .. . .

ACCESS DB(S). . . . . .

CALL 'CHKP'GET NEXT I/PTERMINATE

// EXEC PGM=DFSRRC00, PARM='BMP,PGMNAME,PSB,...'

Batch Message Processing (BMP) (2 of 2)

• Non-Transaction Oriented BMP

Page 17: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

IMS Data Comm.

APPC Comm. (Using XCF)

Open Transaction Manager Access (OTMA)

OTMA and OTMA Callable Interface• IMS Component providing enhanced access to IMS from middleware

SNA Network TCP/IP MQSeries DCE/RPC WebSphere TCP/IP Client

Common Interface (XCF)OTMA Callable

Interface

Transaction Manager IMS Message

Queues

IMS

TM

Appl. Appl. Appl.. . .

DB2 IMS Database Manager

Open DB Access Facility

Page 18: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

z/OS

TCP/IP for z/OS

IMS Connect(BPE)

IMS

TRAN

DATA

OTMA XCF

User Exit

User Exit

WebSphere

IMS Connector for Java

IMS TCP/IP ClientTCP/IP

TCP/IP OTMA Connection

• Provides improved access via TCP/IP

Page 19: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

Back-end Services (IMS)

z/OS

IMS Connect

IMS

OTMA

IMS Application Programs

Java Applicationusing

IMS TM RA

XCF

TCP/IP

Internet

IMS Connect

Page 20: IMS Fundamentals - TM Processing

© Copyright IBM Corporation 2008

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