Introduction to z/OS Basics Chapter 11: Transaction managers on z/OS CICS and IMS Click to add text © 2006 IBM Corporation Chapter 11 Transactional Systems Chapter objectives Be able to: Describe the role of large 2 systems in a typical online business. List the attributes common to most transactional systems. Explain the role of CICS in online transaction processing Describe CICS programs, CICS transactions, and CICS tasks Explain what conversational and pseudo-conversational programming is Explain CICS and Web-enabling Discuss the IMS components © 2006 IBM Corporation Chapter 11 Transactional Systems Key terms in this chapter BMP task/thread BMS region conversational PSB CICS TS IMS TM CICS command transaction IRLM unit of work multithreading multitasking 3 two-phase commit wireless access point (WAP) © 2006 IBM Corporation Chapter 11 Transactional Systems CSMG 4 © 2006 IBM Corporation Chapter 11 Transactional Systems Example of online processing: a travel agency Mainframe applications designed for: – employee and customer information – contacts with car rental companies – hotels – airline schedules – theaters Changes must be immediately reflected to endusers Contrast with batch processing 5 © 2006 IBM Corporation Chapter 11 Transactional Systems Example of online processing (continued) Car Rental Agency Airline Hotel WAP HTTP Travel Agency 6 © 2006 IBM Corporation Chapter 11 Transactional Systems A practical example Car Rental Agency Hotel Airline Travel Agency HTTP WAP 7 © 2006 IBM Corporation Chapter 11 Transactional Systems Transactional systems Requirements: ACID Properties Atomicity Consistency Isolation Durability 8 © 2006 IBM Corporation Chapter 11 Transactional Systems Transactional systems: terminology Commit and roll back Multitasking Multithreading Thread Reentrancy 9 © 2006 IBM Corporation Chapter 11 Transactional Systems Characteristics of a transactional systems Many users Repetitive Short interactions Shared data Data integrity Low cost / transaction 10 © 2006 IBM Corporation Chapter 11 Transactional Systems Two-phase commit - First commit then 2 phase commit Phase1 A B C IN ITIATO R Agent of A Agent of B U pdatelocal resources U pdatelocal resources U pdatelocal resources Prepare R eceive Prepare R eceive SYN C PO IN T C om m it SYN C PO IN T C om m it Phase2 SYN C PO IN T 11 © 2006 IBM Corporation Chapter 11 Transactional Systems What is CICS? Customer Information Control System Transactional subsystem of z/OS which: – runs online applications – At the same time, many users, same application(s) – manages the sharing of resources – integrity of data – prioritization of execution, with fast response. 12 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS in a z/OS system z /O S T ra n s a c tio n a l s y s te m D A T A A p p lic a tio n P ro g ra m U s e r 13 © 2006 IBM Corporation Chapter 11 Transactional Systems Languages & Platforms Languages: - COBOL - OO COBOL - C - zSeries (z/OS, OS/390, VSE) - C++ - Intel servers - JAVA (JCICS) - TXSeries (AIX, HP- - PL/I - Assembler 14 Platforms: UX, Solaris and Windows) © 2006 IBM Corporation Chapter 11 Transactional Systems Generating a CICS Application Program Example: COBOL 1) Translated Program 2) Object Module Link Edit 3) Load Module Program Library 15 //DFHRPL DD DSN=CICSV3.SDFHLOAD1,DISP=SHR // DD DSN=CICSV3.SDFHLOAD2,DISP=SHR // DD DSN=CICSV3.ULOADLIB,DISP=SHR © 2006 IBM Corporation Chapter 11 Transactional Systems CICS Programming road-map Design application Write & test program (includes compiling) Define program & transaction in CICS resources Define other resources (files, queues, etc…) in CICS resources Make resources known to CICS 16 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS in one or multiple LPARS SYS 1 LPAR AB LPAR LPAR C Other Subsyst Other Subsyst CIC S CIC Other S TOR CIC S Other CIC Subsyst S CIC Other S Subsyst 17 FOR AOR WOR AOR Subsyst CIC S AOR Terminals Programs } one address space containing all functions Files * A CICS subsystem may be composed of one or more address spaces to isolate functionality, administration and throughput. As an example: - TOR = Terminal Owning Region - AOR = Application Owning Region - FOR = File Owning Region - WOR = Web Owning Region - ROR = Routing Owning region * This is a configuration known as: Multi Region Operation (MRO) SYS 2 PPT TCT FCT PCT CICS ROR CICS Inter-System Communication (ISC) CICS * CICS has strong flexibility for business configuration needs thru table definitions Other Subsyst © 2006 IBM Corporation Chapter 11 Transactional Systems CICS Features •Transaction (Message) Driven •Multitasking CICS •Multithreading CICS CICS •Quasi-reentrant 18 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS Programs, Transactions, Tasks and Tables Transaction > Program Control Table (PCT)- Maps input transaction to Application >Program Processing Table (PPT) – Contains TCT names of application programs Files PPT FCT >File Control Table (FCT) – User Files PCT names e.g. where to save user state >Terminal Control Table (TCT) - terminals, sequential devices, logical units, and other systems to CICS **** Table Definitions are usually done by the CICS Systems Programmer through a CICS facility called Resource Definition On-Line (RDO). 19 © 2006 IBM Corporation Chapter 11 Transactional Systems A CICS Transaction A transaction is given a 4-character name in the program control table (PCT) A transaction is one or more application programs that do the processing needed. You describe each transaction type to CICS with a transaction resource definition. It gives the type a name (TRANSID) and tells CICS about the work to be done, such as what program to invoke first A unit of Work is a complete operation that is recoverable; can be committed or backed out entirely In many cases, a CICS transaction is unit of work. When CICS receives a request, it starts a new task associated with this instance of the transaction, with a particular set of data, on behalf of a user at a terminal. It is analogous to a thread. When the transaction completes, the task is terminated. 20 © 2006 IBM Corporation Chapter 11 Transactional Systems A CICS Transaction You can see how these two sets of definitions, transaction and program, work in concert: >The user types in a transaction identifier at the terminal (or the previous transaction determined it). > > > > 21 CICS looks up this identifier in the list of installed transaction definitions. This tells CICS which program to invoke first. CICS looks up this program in the list of installed transaction definitions, finds where it is, and loads it (if not already loaded). CICS builds the control blocks necessary for this combination of transaction and terminal, using both sets of definitions. CICS passes control to the program, which begins running. This program may pass control to any other program in the installed program definitions, in the course of completing the transaction. © 2006 IBM Corporation Chapter 11 Transactional Systems Conversational and Pseudo Conversational Transaction A conversational transaction is when the programs being executed exists while a user interacts with it. A non-conversational transaction processes one input, responds, and ends. It never pauses to read a second input from the terminal. In CICS pseudo-conversational processing, in which a series of non-conversational transactions gives the appearance (to the user) of a single conversational transaction. -No transaction exists while the user inputs information to the screen; -CICS reads the input when the user gets around to sending it. (next slide) Note: TPF runs in this mode 22 © 2006 IBM Corporation Chapter 11 Transactional Systems A Task executing in Multi-Tasking • Task Control • Application Program(s) • Basic Mapping Support • File Control • Program Control • Temporary Storage Control • Transient Data Control • Journal Control (logging) • Trace Control • Dump Control • Interval Control • Storage Control 23 © 2006 IBM Corporation Chapter 11 Transactional Systems Conversational Pseudo-Conversational Pseudo-Conversational: PROGV000 User Types Inputs Menu Enter account ______ Function code______ SEND MAP... RETURN TRANSID(V001).... PROGV001 Menu Enter account 1234_ Function code M____ Record Update User Types Changes Enter account 1234 Nam e: Sm ith Am ount: $10.00 Date: 05/28/04 Menu Enter account 1234 Nam e: Sm ith Am ount: $99.50 Date: 05/28/04 "Update Confirm ed" 24 RECEIVE MAP... .... READ FILE... .... SEND MAP... ... RETURN TRANSID (V002).... PROGV002 RECEIVE MAP... .... READ FILE UPDATE.... REW RITE FILE.... .... SEND MAP... ... RETURN TRANSID (V000)... © 2006 IBM Corporation Chapter 11 Transactional Systems Program Control There are two CICS commands for passing control from one program to another. >One is the LINK command, which is similar to a CALL statement. > The other is the XCTL (transfer control) command. When one program LINKs another, the first program stays in main storage. When the second (linked-to) program returns, the first program resumes after the LINK. In contrast, when one program XCTLs to another, >the first program is considered terminated, and >the second operates at the same level as the first. When the second program returns, control is returned not to the first program, but to the last program that issued a LINK. 25 © 2006 IBM Corporation Chapter 11 Transactional Systems RETURN XCTL LINK LOAD RELEASE Program Control Level 0 CICS CICS Level 1 Program1 LINK ...RETURN Level 2 Program 2 XCTL EXEC CICS LINK PROGRAM(PROGRAM-2) END_EXEC. Program 3 LINK ...RETURN Level 3 EXEC CICS XCTL PROGRAM(PROGRAM-3) END_EXEC. Program 4 .....RETURN 26 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS COMMUNICATION AREA (COMMAREA) This area of a program is used to pass information between other programs and transactions. • It is automatically provided to you via the Translator phase • It initially provides you one byte to be used as a programming SW although it can range up to 32K bytes in size . 27 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS and Web-enabling 4 major elements of web-enabled applications: Presentation logic Integration logic Business logic Data logic 28 © 2006 IBM Corporation Chapter 11 Transactional Systems CICS Transaction Gateway and WebSphere Application Server 29 © 2006 IBM Corporation Chapter 11 Transactional Systems What is IMS? Information Management System 3 components: – The Transaction Manager (TM) – the Database Manager (DB) – Set of system services, providing common services to the TM and DB 30 © 2006 IBM Corporation Chapter 11 Transactional Systems IMS overview IM S Logs z /O S C o n s o le IM S S y s te m T ra n s a c tio n M anager IM S M essage Q ueues 31 D a ta b a s e M anager IM S D a ta b a s e s © 2006 IBM Corporation Chapter 11 Transactional Systems IMS Transaction Manager (TM) messages Four types of messages: – Transactions – To go to another logical destination – Commands for IMS – For the IMS APPC feature to process 32 © 2006 IBM Corporation Chapter 11 Transactional Systems Summary : Transaction based systems Interaction with the computer happens online through the help of a transaction manager. The continued growth of the Internet has caused many corporations to consider the best ways to make their legacy systems available to users on the Internet. CICS is a transactional processing subsystem. CICS applications are traditionally run by submitting a transaction request. Information Management System (IMS) consists of three components: – Transaction Manager (TM) – Database Manager (DB) – A set of system services common to both TM and DB 33 © 2006 IBM Corporation