510 likes | 579 Views
Introduction to CICS Transaction Server. for OS/390 – Introduction and Unit 1. Preface.
E N D
Introduction to CICS Transaction Server for OS/390 – Introduction and Unit 1
Preface Trademarks - All brand names and product names used in this course are trademarks, registered trademarks or trade names of their respective holders. Course Technology is not associated with any product or vendor mentioned in this course. Audience – This is an introductory course for system administrators, database administrators, managers and programmers who are unfamiliar with CICS. Prerequisites – The student should have a basic understanding of software and hardware, mainframe operations procedures, databases and business applications.
Course overview This course, OS/390 Introduction to CICS Transaction Server, introduces you to IBM’s Customer Information Control System (CICS), which is an online transaction processing (OLTP) product that is used for transaction processing in a mainframe environment. You will learn about the internal structure of CICS, its various applications, and some of the utilities and products that enhance its use in an OS/390 environment. This course also introduces the basic architecture of the most commonly used OS/390 CICS setups, such as the CICSPlex structure, and facilities for managing and maintaining these systems.
Course overview The first unit, What is CICS? introduces the principles of OLTP, including the distinction between batch and online processes, the steps involved in transaction processing, and the concepts of multitasking and concurrent processing. The second unit, Managing Data and Resources, describes the different CICS regions and the resources for which they are responsible. Resource definition and the advantages offered by different methods of defining CICS resources are described. The unit also discusses the CICS utilities and structures that help ensure data integrity and recoverability.
Course overview The third unit, CICS and Databases, describes how CICS Transaction Server (TS) for OS/390 interacts with databases. In particular, it discusses the attachment facility that makes DB2 databases accessible from the CICS environment. An example of a CICS transaction involving interaction with an IBM Information Management System (IMS) database is also described. The fourth unit, CICS Intercommunication, introduces the facilities in CICS TS for OS/390 that allow communication across regions and systems, and the products that enable users to access CICS from a Web browser.
Course objectives Upon completing this course, this is what you should be able to do: • State the general purpose, structure, and potential uses of the CICS application for OS/390 • Define the basic terms used in CICS • List the CICS management modules involved in transaction processing • Identify the primary functions of the CICS application and describe the role these functions play in mainframe system management (continued)
Course objectives • Give examples of business computing situations where different CICS architectures would be used • Explain how CICS supports and interacts with DB2 and IMS, the two largest database products that are used • Trace the path of a transaction from a remote terminal through CICS to an IMS database • Identify the different methods in CICS for helping ensure data integrity and security • Describe the facilities for intercommunication with CICS TS for OS/390 • Name and describe the possible methods for configuring CICS for Web browser access
Unit 1: What is CICS? Topics: • 1A: Introducing CICS • 1B: Online transaction processing • 1C: The structure of CICS
Unit 1 overview In this unit you will learn how the Customer Information Control System (CICS) functions as an online transaction processing (OLTP) program for the OS/390 system. You will learn the different steps in the processing of a transaction in CICS, and become familiar with the major CICS components involved in each step. The concepts of multitasking and control passing will also be introduced. Also, you will become aware of some common CICS-based architecture.
Unit 1 objectives Upon completing this unit, this is what you should be able to do: • Distinguish between online and batch processing methods • List the major functions of an OLTP program • Define these terms: transaction, task, multitasking • List CICS management modules involved in transaction processing • Describe the respective functions of the management modules involved in transaction processing • Describe the steps involved in processing a transaction in CICS • Distinguish between LINK and XCTL operations • Describe the differences between single-region, IBM CICSPlex and Parallel Sysplex architectures
1A. CICS functions Transaction processing systems perform interactive electronic commerce from a network of terminals, processing both inquiries and updates to data stored in databases. CICS is a general-purpose data communication system that can support the development of transaction processing applications in an OS/390 environment. Operating systems are designed to make the best use of a computer’s resources. CICS helps by behaving as a middle layer, separating online application programs from other programs and handling their administration itself.
1A. CICS functions CICS is an OLTP product family from IBM. An OLTP is a class of software that administers transaction-related programs. OLTP software functions include: • Managing the user interface • Retrieving and modifying data • Tracking data locations and uses • Handling communications • Providing support functions for resource definition and use • Interfacing with security software
1A. CICS functions IBM introduced CICS (often pronounced “kicks”) in the early days of mainframe computer use. Its original purpose was as a transaction monitor, a window into a system’s operations allowing console operators and programmers to see what system activities were occurring. Today, CICS can be classified as a middleware application, functioning beneath the operating system and above other applications. CICS Transaction Server for S/390 (CICS TS) is the version of CICS that functions as an assistant to the OS/390 operating system, as well as an administrative director to other applications. CICS TS aids the system by handling complex tasks or transactions efficiently, freeing the system to process its normal non-transactional workload.
1A. CICS functions Unlike batch programs, CICS programs do not make direct calls to the operating system. Instead, CICS programs issue commands to perform terminal I/O, file I/O, program control, and other functions requiring a system resource. In this way, CICS TS behaves as a mini-operating system within the actual operating system to provide an environment for CICS program execution. All CICS programs run in the CICS region of storage, under CICS control. CICS programs use CICS for all interfaces. CICS, in turn, interfaces with the OS/390 operating system.
1A. CICS functions CICS TS serves as an interface between application programs, database managers and teleprocessing access methods. For that reason, both the operating system and the user need only interact with a single application (CICS) for transaction processing.
1A. CICS functions CICS’s ability to manage transaction processing and to interface with many different applications makes it an indispensable tool for businesses that require many transactions to be processed quickly and accurately. Systems that benefit from CICS include: • Bank ATM transaction processing services • Online library catalogues • Airline reservation systems
1A. Batch vs. online processing There are two different ways to process input requests: batch processing and online processing. In batch processing, similar requests are saved up and submitted to the computer as a group. After they are submitted, the requests are processed sequentially. After all of the requests have been processed, the results are transmitted. Batch processing is like a warehouse manager saving up all the orders for the day, sorting them into types of order, and then filling the orders, for example, packaging the merchandise for shipping.
1A. Batch vs. online processing In online processing, requests are submitted and processed individually as soon as the computer receives them. Results are transmitted to a user or file as soon as the results are available. Unlike batch input, online input comes from multiple sources, and there is no way to sequence, predict or control the order and type of input. In the warehouse example, online processing is like the warehouse manager taking each order as it comes in and filling it immediately. This is how CICS works as an OLTP – it receives requests to perform a service and it performs each of them immediately.
1B. Online transaction processing—transactions In CICS, a transaction is a sequence of related operations or steps that together perform a specific function. Transactions might involve a single action or a set of operations, such as the set of steps in database updating, or the entire process of registering a new student in a college course. The steps for a student registration transaction would include: 1) Reading the user’s registration request 2) Checking the current enrollment in the course 3) Determining whether there is space for an additional student 4) Adding the student to the class list 5) Sending confirmation of the transaction to the user
1B. Online transaction processing—transactions Each transaction in CICS has a four-character transaction identification (TRANSID) which describes the function that the transaction performs.
1B. Online transaction processing—tasks In CICS, an instance of a particular transaction request by a computer operator or user is called a task. When a user invokes a transaction, CICS begins a task for that request. CICS also loads any application programs required for the transaction. For example, when a student registration request comes into the CICS system, CICS represents and keeps track of that request and its associated work by starting a unique task for it. CICS then loads the application programs that are required for executing that task.
1B. Online transaction processing—tasks CICS provides concurrent transaction processing, which means that many users can enter and process requests at the same time. In order to allow for many users while ensuring swift response times, CICS employs multitasking methods. Under CICS, all users share application programs and data files. This means that if one transaction is being processed and another user make a similar request, CICS does not reload the application program. Instead, CICS starts a new task for the second request, using the same program or data file. CICS runs each task individually, briefly giving each task control of the CPU.
1B. Online transaction processing—tasks Because concurrent users all share the same data files, if one user updates a database, the changes are available to all users immediately. This has obvious advantages in business applications such as airline reservation booking systems, where all system users need to be kept informed of factors like the current state of seat availability.
1B. Online transaction processing—tasks These steps are involved in processing a transaction: 1) Entry – A transaction ID (TRANSID) enters the CICS system. 2) Task creation – CICS creates a task to process the transaction. The task is now ready to be run. 3) Dispatch – CICS determines which of the ready tasks should be run next, and dispatches that task to be started. 4) Execution – The task invokes the appropriate CICS program and runs. (continued)
1B. Online transaction processing—tasks 5) Processing – When the invoked program calls CICS to perform a service on its behalf, the task gives up control of the CPU and waits for the requested service to be completed. 6) Redispatch – After the requested service has been completed, the task is ready to run again, and CICS dispatches it again. 7) Return – When all work required to process the TRANSID is done, the program issues a RETURN command to return control to CICS. 8) Termination – CICS removes the task from the system.
1C. CICS components and domains The CICS region is the area of storage that CICS manages. User programs share the CICS region with other CICS components. These are other types of objects in CICS: • Management modules – User programs interface with CICS management modules to handle terminal I/O, file I/O, program loading and control, and access to other system resources. • Tables – The management modules use the CICS system tables to obtain information about the terminals, files and application programs that are part of the CICS system. The tables are loaded into storage when the CICS system is started, and remain active until the system is shut down. (continued)
1C. CICS components and domains • Control blocks – The management modules create control blocks to keep track of the status of all transactions that are currently being processed. The control blocks are released when they are no longer needed (that is, when the task leaves the system). • System data sets – The management modules and application programs use the CICS system data sets for transaction logging, system recovery, and storing processing results that are needed by other transactions or application programs.
1C. CICS components and domains The CICS region is divided into a set of domains, each containing a set of objects grouped together to perform a common set of functions. domains contain management modules, tables and control blocks. A small set of domains handles a large part of the transaction processing cycle. Three domains supervise and control transaction processing. They are: • Transaction Manager (XM) • Program Manager (PG) • Storage Manager (SM)
1C. CICS components and domains • Transaction Manager (XM) – The domain responsible for receiving transaction requests, and creating and organizing tasks to process transaction requests. • Program Manager (PG) – The domain responsible for locating and invoking application programs required for processing transactions. • Storage Manager (SM) – The domain responsible for allocating memory resources required for transaction processing.
1C. CICS components and domains CICS keeps full control of virtual storage in OS/390 environments. The Storage Manager (SM) handles dynamic storage, which is the available space in a CICS region that is left over after CICS has been loaded. Dynamic storage is used for programs, I/O areas and workspaces. In response to requests from other CICS domain managers, the Storage Manager frees, acquires, controls and keeps track of this open space. The CICS Transaction Manager (XM) organizes all tasks currently in the system.
1C. CICS components and domains When a TRANSID enters the system, XM starts a task for that transaction request to be processed. XM does this by first searching the Program Control Table (PCT) to validate the TRANSID. XM then calls the Storage Manager (SM) to create a control block called the Task Control Area (TCA) to keep track of task processing. A separate TCA is associated with each task.
1C. CICS components and domains During processing, a task alternates among these different states: • Ready to run • Running • Waiting
1C. CICS components and domains After a TCA has been created for the task, it is ready to run. Several tasks might be ready to run at one time – the XM orders them according to their CICS-assigned priority status. The priority of a task can change at various stages of processing, because the XM assesses and assigns priority status based on the function and relative importance of the pending tasks. When the XM selects a task that is ready to run, it sends the task to another CICS component called the dispatcher. CICS stores a pointer to the TCA of the currently dispatched task in the common system area (CSA).
1C. CICS components and domains The CSA is a control block that exists for as long as the CICS system is active. In addition to a pointer to the currently dispatched task, the CSA also contains: • Other control blocks • The CICS system tables • The CICS management modules
1C. CICS components and domains While a task is executing, it has control over the CPU. When the task requires CICS to perform a service on its behalf (for example, to read in some data), the task gives up control of the CPU and waits for the requested service to complete. At that stage the task is waiting. While the first task is waiting, the next task that is ready to run can be started. This is how CICS performs multitasking. When a task is dispatched for execution, control is passed to the Program Manager (PG). The PG locates and invokes the first application program needed to process the transaction.
1C. CICS components and domains To locate the required application program, the PG searches the Processing Program Table (PPT) for the name of the module to receive control.
1C. CICS components and domains As already mentioned, CICS loads only a single copy of an application program, regardless of the number of users requiring it. • If the target application is already loaded into virtual storage, the PG passes control to it and allows it to run as required. • If the program is not already loaded, the PG locates it in the program library and loads it into virtual storage before passing control to it. When the currently executing program module terminates, the PG again receives control and determines what to do next.
1C. CICS components and domains The processing of a single task may involve several different programs, either serially (one program after another) or in an embedded fashion because a single program may have calls to other programs embedded in it. The PG manages the passing of control between programs. An application program may use a LINK operation to call another program to perform a service. When the main program issues a LINK command, control is passed to the linked-to program. When the linked- to program issues a RETURN command, control returns to the main program. Execution in the main program resumes with the statement immediately following the LINK command.
1C. CICS components and domains An XCTL operation causes control to be passed permanently from one subprogram to another. The calling program does not regain control when the linked-to programs terminates. Instead, control goes to the program at the next higher level in the calling hierarchy, if the programs are multiply embedded. If there is no higher calling program to which control can be returned, the Program Manager gives control to the Transaction Manager (XM) to terminate the task.
1C. Single-region and CICSPlex setups As you have learned, CICS manages an area of storage called a region. In some systems, CICS can manage more than one region. These different regions are identical except for the system or data function they perform. Each region can be devoted to particular types of transactions or applications while communicating easily with other regions in the system.
1C. Single-region and CICSPlex setups A system of connected CICS regions might contain: • Test regions for testing a new application • Function-specific regions for handling terminals or user interface and system services • Use-specific regions for managing certain applications, such as databases
1C. Single-region and CICSPlex setups When CICS is structured into multiple regions, the resulting architecture is called a CICSPlex. The different regions within a CICSPlex might reside in: • The same MVS image • Different MVS images • Different operating systems (for example, MVS, VSE, OS/390) • Different hardware platforms (for example, S/390, PC, AS/400) Communication features in CICS, along with networking products such as VTAM, NetView and others, allow separate mainframe systems to function as one entity, and allow users of those systems to have remote access.
1C. Single-region and CICSPlex setups CICS can be used in any business that requires the power of a mainframe to operate efficiently. Different CICS architectures suit different business needs.
1C. Single-region and CICSPlex setups Cluster technology links several individual OS/390 systems through CICS intercommunication to create a single computing resource. Sysplex clustering helps prevent downtime, because other OS/390 systems are available and can take over if one system fails. Another advantage of this type of distributed system is the nearly unlimited growth that a sysplex model can accommodate. As business needs change, the system can be expanded or reconfigured, and systems can be added to the sysplex in order to handle new data streams.
1C. CICS extras CICS is a powerful tool. However, when there are several CICS systems operating together and interacting with other applications, it becomes necessary to add managing tools for the CICSPlex systems. One of the tools is the CICSPlex Systems Manager (CICSPlex SM), which allows management of a collection of CICSPlex systems by consolidating them and treating them as a single system image. CICSPlex SM is used with CICS Transaction Server (CICS TS) and other products from the CICS family.
1C. CICS extras Other useful managing tools are from the NetView family of products. The NetView family of products consists of a useful set of tools for CICSPlex system network management. CICSPlex SM has a monitoring interface with NetView, which allows NetView’s Resource Object Data Manager (RODM) to track the use of CICS resources.
1C. CICS extras Another feature of CICSPlex SM is Business Application Services (BAS), which allows resource definition (including CICS transaction commands) across the entire CICSPlex. Using the CICS System Definition (CSD) feature, resource definitions are confined to a single CICS region or system. This system-replicated resource definition provides consistency, control and error prevention. (CSD is discussed in detail in Unit 2, Managing Data and Resources.)
Unit 1 summary Batch processing involves the processing of a group of similar items, and online processing involves the processing of a single item at a time. The major functions of an OLTP program include: • User-interface management • Data retrieval and modification • Communications handling • Security software interface • Data-use tracking and reporting A transaction is a sequence of related operations that together perform a particular function. A task is the CICS-internal representation of a particular transaction request. (continued)
Unit 1 summary Multitasking allows many users to process transactions concurrently, and to access recent updates to data sets. CICS is an OLTP software program that: • Manages requests arriving from concurrent users • Controls access to and updates all applications and data files • Makes it appear that the user is interacting with only one application Objects within the CICS region include management modules, controls, tables and system data sets. (continued)
Unit 1 summary CICS includes three management modules (SM, XM, PG), two control blocks (TCA and CSA) and one table (PCT). During transaction processing, control is passed back and forth between relevant application programs. In both the LINK and XCTL operations, a program makes a call to another program. • In the LINK operation, control is returned to the calling program when the linked-to program is finished. • In the XCTL operation, control is returned to the calling program, but to the next higher program in the hierarchy. A CICS structure can consist of a single region on a single system, or of multiple regions distributed over several systems. When CICS is structured into multiple regions, the resulting architecture is called a CICSPlex.