IBM® TXSeries® for Multiplatforms V6
IBM® TXSeries® for Multiplatforms V6 CICS® customization : Introduction to user programs
This presentation will cover the CICS customization technique referred to as User Programs.
Goals
Goals Define user programs Understand user programs provided by TXSeries Typical advantages of user programs
The goal of this presentation is to provide an overview of User Programs, help you to understand specific user programs provided by TXSeries, and outline the advantages of employing user programs.
Agenda
Agenda User programs What are user programs ? User programs provided by TXSeries User programs in brief Typical advantages of user programs
The agenda for this presentation is to first define user programs and then describe the user programs provided with TXSeries and the advantages they offer.
User programs
User programs Section
This section covers the concept of User programs and the benefits they provide.
What is a user program?
What is a user program? User programs are customized programs that are invoked by the CICS system for a specific purpose. It allows you to modify the CICS system without changing any of its standard user interfaces. CICS provides the default user program: It can be customized or replaced to suit the requirements of an installation.
User programs are user replaceable modules that make it possible for you to modify the system without changing any of its standard user interfaces. For many of the user programs, CICS provides a default user program which can be customized or replaced to suit your requirements.
User programs at a glance
User programs at a glance External Authentication Manager (EAM) External Security Manager (ESM) Terminal autoinstall Connection autoinstall Performance Monitoring Post-initialization program Shutdown program
The user programs provided with TXSeries are listed here.
TXSeries provided user programs
TXSeries provided user programs Section
This section covers the details of each of the User Programs provided by TXSeries.
User programs – In brief
User programs – In brief External Authentication Manager (EAM) user program: Performs CICS user security checks Default EAM used by CICS is UD (User Definition) Can be replaced with RACF or any other security product through LDAP. Provides a predefined interface module that is parameter driven. You have to customize the parameters accordingly Samples supplied under: /samples/eam Region configuration: EAMLoad
The default External Authentication Manager (EAM) program, cics_eam, is supplied as part of CICS. You can implement it in its unmodified form, or you can customize it to meet the particular requirements of your application. The initial configuration of a CICS region sets the EAMLoad attribute in the Region Definitions (RD) to no. This action specifies that internal authentication is performed. If you want to override internal authentication, you must modify the EAM program to perform the required user authentication checks. After you have modified the program, you must place the generated executable load module into the required load library, so that it is available for use by the CICS system. You must then set the EAM attributes in the RD to make your program available to the region.
User programs – In brief (cont.)
User programs – In brief (cont.) External Security Manager (ESM) user program: Performs CICS resource authorization Default ESM in CICS is implemented through a set of 10 keys and TSLCheck/RSLCheck Can be replaced with other security products such as RACF to perform resource authorization Provides a predefined interface module that is parameter driven. You have to customize the parameters accordingly Samples supplied under: /samples/eam Region configuration: EAMLoad
The default External Security Manager (ESM) program, cics_esm, is supplied as part of CICS. You can implement it in its unmodified form, or you can customize it to meet your particular requirements. In its unmodified form, the ESM simply returns CICS_ESM_RETURN_OK to every security check, indicating that authorized access has been granted to the transaction or resource. The initial configuration of a CICS region sets the ESMLoad attribute in the Region Definitions (RD) to no, therefore specifying that internal security checking is performed. If you want to override internal security checking, you must modify the ESM program to perform the security checks that you require. After modification, you must place the generated executable load module into the required load library, so that it is available for use by the CICS system. You must then set the ESM attributes in the RD to make your program available to the region.
User programs – In brief (cont.)
User programs – In brief (cont.) Terminal autoinstall user program: Controls process of dynamically adding / removing terminals from WD database Default user program in CICS would generate the terminal name from the supplied net name Can be replaced Not invoked for shipped terminals Can be used to count and limit the total number of terminals that are logged on
The terminal autoinstall user program is called when the terminal is installed and added to the terminal definitions (WD), and also when the terminal is uninstalled and removed from the WD. You can customize the user program to carry out any processing that you may require. For example, you can count and limit the total number of terminals that are logged on, or you can keep utilization information about the terminal. The terminal autoinstall user program is not called when a shipped terminal is installed. A shipped terminal is one that has a terminal definition associated with it when it is sent from the local CICS system. The IsShippable attribute in the WD stanza must be set to yes for the terminal definition to be shipped with the install request from the local system. The default user program supplied by TXSeries generates the 4-character terminal identifier (TERMID) when a terminal install is requested, and is taken from the supplied NETNAME. You can customize the user programs to generate terminal identifiers in a way through which you can identify or map it to real terminal users. However, the terminal identifier generated should remain unique within the CICS system.
User programs – In brief (cont.)
User programs – In brief (cont.) Connection autoinstall user program: Controls process of dynamically adding / removing connections from the CD database Default user program in CICS would generate a SYSID Can be used to count and limit the total number of terminals that are logged on
The connection autoinstall user program is called when a connection is installed and added to the CD, and also when the connection is uninstalled and removed from the CD. You can customize the user program to carry out any processing that you require. For example, you can count and limit the total number of connections that are logged on, or you can keep utilization information about the connections. The default user program supplied by TXSeries generates the 4-character system identifier (SYSID) when a connection install is requested, and is taken from the hostname. You can customize the user programs to generate the system identifier. However, the system identifiers generated should remain unique within the CICS system.
User programs – In brief (cont.)
User programs – In brief (cont.) Performance Monitoring User Program Allows user programs to pass data in user fields to the monitoring facility CICS calls the programs under the following condition: During task start-up During task exit To process the EXEC CICS ENTER command To stop the user clocks and return the user data monitoring transient data queue To restart the user clocks At the end of a task, to clean up the user data Defined in the MD stanza UserMonitorModule
With the help of the performance monitoring user program, you can monitor your application specific performances along with other standard CICS specific performance monitoring. CICS calls the user program under the conditions listed on the slide. For example, you can define user clocks or counters that would be used to time your application functions or logic. The user program must be defined with the CICS region in the MD stanza, by setting the UserMonitorModule attribute.
User programs – In brief (cont.)
User programs – In brief (cont.) Post-Initialization user program User programs can be run after completing the region initialization phase but before allowing users to sign-on No default post-initialization user programs Defined in the CICS region Add a PD entry for the startup program Define the PD entry in the RD stanza StartupProgList
Post-initialization programs are user-written programs that CICS runs sequentially and automatically, after completing the initialization phase but before allowing users to sign-on. Post-initialization programs that are user-written allow you to implement functions that are specific to your system, and show your unique requirements. For example, you can issue an EXEC CICS START command from within a post-initialization program to perform a long-running background task. When writing these programs, however, you must remember that they run before CICS is generally available to users. This imposes particular limitations on their functions. The startup user program must be defined with the CICS region in the RD stanza, by setting the StartupProgList attribute.
User programs – In brief (cont.)
User programs – In brief (cont.) Shutdown user program User programs can be run during shutdown No default programs supplied by TXSeries Defined in the CICS region: Add a PD entry for each shutdown user program Define the PD entry in the RD stanza: ShutdownProgList1 (for phase-1 shutdown) ShutdownProgList2 (for phase-2 shutdown)
Shutdown programs are user-written programs that CICS runs sequentially and automatically, during the first and second quiescent stages of normal shutdown processing. The shutdown user program must be defined with the CICS region in the RD stanza, by setting the ShutdownProgList1 and ShutdownProgList2 attributes. You can run up to 10 programs in each quiescent stage in this way. If this limit is too small for your processing requirements, you can run more by using the EXEC CICS LINK and EXEC CICS XCTL commands within each program. During normal CICS shutdown processing, CICS waits for all the user transactions to complete before shutting down the region. This could take a long time, especially when there are terminal users that left their system logged on, or when there are long running transactions. In such cases you can use the shutdown program to inquire a list of current tasks and accordingly PURGE/FORCEPURGE, allowing you to gracefully shutdown the region.
Typical uses of user programs
Typical uses of user programs Shutdown user programs can be used to gracefully terminate the region by purging the existing tasks Post initialization programs
Listed here are some typical uses for user programs.
Summary
Summary Define user programs Understand user programs provided by TXSeries Typical uses of user programs
In summary, this presentation provided a definition of user programs, including the user programs provided with TXSeries and typical uses.
Trademarks