Table of Contents Previous Next PDF


CICS Runtime Servers

CICS Runtime Servers
The CICS Runtime Servers
This section describes the different servers and the role they play in the overall handling of transactions. The configuration of the servers is described in Server Configuration.
3270 Terminals and User Session Management (ARTTCPL/ARTTCPH)
Description
The role of these servers is to accept and manage user connections made thru a 3270 terminal emulator and manage the resulting user session and related 3270 inputs and outputs until the end of the user session.
Functionally, this role resembles the one played by the Terminal Owning Region in a CICS MRO configuration.
These 3270 user session management tasks are managed by a couple of server types: ARTTCPL and ARTTCPH, where the final ‘L’ stands for listener and the final ‘H’ stands for handler.
It is the role of the ARTTCPL to launch and manage the requested number of handler processes (ARTTCPH).
Each time a user requests a transaction, ARTTCPH transmits (via tpconnect) this transaction request to the transaction server.
This functionality resembles that provided by T.O.R. in a CICS MRO configuration when it routes a transaction to an A.O.R (Application owning Region).
Connection Server (ARTCNX)
This server offers technical services needed by terminal handlers during user connection and disconnection phases.
The technical services are offered using internal message oriented services like connect and disconnect:
connect performs various initialization tasks such as attributing the user Session ID and Terminal_ID.
disconnect manages final tasks during disconnection.
The connection server also provides a few classical CICS transactions:
Specifically, ARTCNX handles the request from ARTTCPH and ARTSTRN/ARTSTR1, LUNAME validation check, and TERMID/LUNAME assignment. All services that ARTCNX publishes and their functionalities are listed as below.
gensess generates a session ID for each terminal; the session ID is maintained internally in ART CICS.
delsess frees session ID when its terminal terminates.
connect generates a locally unique (unique in each CICS region) TERMID and a globally unique LUNAME (unique in all CICS regions) for auto-install terminal, checks LUNAME validation for the LUNAME specified terminal, and changes TERM status to ACQUIRED.
disconnect frees TERMID and LUNAME, and change TERM status to RELEASED.
inquire handles INQUIRE NETNAME/TERMID request from ARTSTRN.
update handles SET TERMINAL request from ARTSTRN.
authfail outputs the error message in terminal if CESN logon fails.
CESN specifies the Sign oN transaction
CESF specifies the Sign ofF transaction
CSGM specifies the Good Morning transaction (default Good Morning transaction)
Note:
If ISC_ENABLE=YES is set, gensess and delsess will be published by ARTLOGN instead.
See “Authentication Transactions” in System Commands and Transactions for more information.
Logon Server (ARTLOGN)
This server offers technical services needed by terminal handlers when users log on ART CICS.
This server offers the following services:
ART_LOGON sends the "ART runtime welcome" panel and asks for APPLID input.
gensess generates a globally unique session ID (unique in all CICS regions) with 16 characters for each terminal.
delsess removes the session ID when the corresponding terminal disconnects.
Note:
ARTLOGN should be only configured when ISC_ENABLE=YES is specified; otherwise, the server will not boot.
System and Resource Management Server (ARTSRM)
This server centralizes the management of ART runtime information, which is generated and queried by applications.
Note:
System and Resource Management Server (ARTSRM) has three versions: ARTSRM, ARTSRM_ORA (for Oracle), and ARTSRM_UDB (for UDB). ARTSRM uses shared memory. ARTSRM_ORA (for Oracle) and ARTSRM_UDB (for UDB) use shared memory or database to store data; when configured to use database, the server utilizes DB to provide HA capability.
When your ARTSRM server uses shared memory and you do not specify SRM_IPCKEY, ARTSRM for the same region must be configured in the same Tuxedo group.
ARTSRM for the same region can be only configured on one host in MP environment.
ARTSRM does not support "Multiple Servers, Single Queue (MSSQ)" configuration.
To get correct running time information, ARTSRM must be configured and started when Oracle Tuxedo is booted.
To use ARTSRM_ORA or ARTSRM_UDB, database tables must be created before startup; ARTSRM_ORA or ARTSRM_UDB from the same region can belong to different Tuxedo groups on different machines (the Tuxedo group must be TMS group which has OPENINFO specified).
Synchronous Transaction Servers (ARTSTRN/ARTSTR1)
Description
The task of these servers (ARTSTRN and ARTSTR1) is to offer application transactions and process the corresponding programs.
This server provides a similar functionality to that provided by an Application Owning Region in a CICS MRO configuration. ARTSTRN/ARTSTR1 servers present application transactions as Tuxedo services and when receiving a transaction request execute the corresponding programs. Theses servers are conversational in order to be able to manage true conversational CICS transactions.
Processing
1.
When starting, a ARTSTRN/ARTSTR1 server publishes one service per transaction it offers.
2.
When a user transmits a transaction request, the ARTTCPH performs a tpconnect to the corresponding transaction (service).
3.
One ARTSTRN/ARTSTR1 server offering this service receives the request with the associated commarea and screen, then processes the transaction.
4.
Non Concurrent Synchronous Transaction Servers (MAXACTIVE = 1 (ARTSTR1))
The transactions belonging to a tranclass with a maxactive =1, will not be offered by ARTSTRN servers, because several such servers can automatically be started to manage parallel processing.
Instead, a dedicated type of server—ARTSTR1—is allocated to this role. An ARTSTR1 server publishes the transactions belonging to one TRANCLASS with MAXACTIVE = 1, guaranteeing that two transactions of the same tranclass with maxactive =1, will not execute concurrently. In Tuxedo terms, guaranteeing than two such transactions are not published by two different servers.
To summarize the differences:
ARTSTR1: Publishes only once transactions belonging to a MAXACTIVE 1 tranclass.
ARTSTRN: Publish as many times as needed, transactions with MAXACTIVE >1.
Temporary Storage Queue Management (ARTTSQ)
The role of the ARTTSQ servers is to centralise the management the TS Queue operations which are requested by applications. These tasks are managed by ARTTSQ servers.
Depending on the workload expected on the TS queue, a single server or many ARTTSQ servers are configured.
ARTTSQ servers publish technical services:
TSQUEUE to service operations on queues not matching any TS Queue Model.
{MODEL}_TSQUEUE to service operations on queues matching a specific model, one such service must be published using one ARTTSQ server for each model.
In a simple configuration, a single ARTTSQ server will treat all the TS operations, offering the TSQUEUE service, and all {MODEL}_TSQUEUE services.
In a more complex configuration, one ARTTSQ server may offer the TSQUEUE and some {MODEL}_TSQUEUE services, while other ARTTSQ servers will each offer different {MODEL}_TSQUEUE services.
Tuxedo 12c EM pack monitors ARTTSQ, detailed TSQ properties, and statistics information can be retrieved via EM.
Temporary Storage Queue Pool (ARTTSQP)
The role of the ARTTSQP server is to manage TS queue which is defined in shared TS pool.
It uses database to store queue data. You must configure this server in a Tuxedo TMS group; you can configure more than one ARTTSQP servers serving for the same TSMODEL.
ARTTSQP supports Tuxedo EM TSQ monitor interface, detailed TS queue properties, and statistics information that can be retrieved via EM.
Transient Data Queue Management (ARTTDQ)
Description
The role of the ARTTDQ servers is to centralise the management the TD Queue operations which are requested by applications. These tasks are managed by one ARTTDQ server.
A single ARTTDQ server publishes one service per declared queue in the configuration file.and will treat all the CICS TD operations, offering the TD QUEUE service for each queue.
Tuxedo 12c EM pack monitors ARTTDQ, detailed TDQ properties, and statistics information can be retrieved via EM.
DPL Servers (ARTDPL)
In complex configurations an application may need to make distributed program calls. In this case another kind of server ARTDPL is needed to manage DPL program.
ARTDPL servers publish DPL programs or Mirror transactions that are callable by CICS LINK and EXCI interface as services, and manage the execution of these services.
ARTDPL can be also accessed by a native customized Tuxedo client, the client can use Tuxedo FML32 fields or RECORD to compose the request to ARTDPL. Please refer to the section "DPL communication interfaces for external Tuxedo clients" for the details.
Following are the services ARTDPL publishes:
This service is called when make distributed program calls by "CICS LINK". <program> is defined in programs.desc and loaded by ARTDPL. <sysid> is specified by the ARTDPL CLOPT "-s" argument .
This service is called if both <applid> and <transid> are not specified in EXCI interface request. CSMI and CVMI are two kinds of CICS system mirror transaction.
This service is called if <transid> is not specified but <applid> is specified in EXCI interface request. <applid> is specified by the ARTDPL CLOPT "-a" argument or can be specified in the system.desc.
This service is called if <applid> is not specified but <transid> is specified in EXCI interface request. <transid> is defined as a customized mirror transaction in the transactions.desc.
This service is called if both <applid> and <transid> are specified in EXCI interface request. <transid> is defined as a customized mirror transaction in the transactions.desc, <applid> is specified by the the ARTDPL CLOPT "-a" argument or can be specified in the system.desc.
The service provides current CICS region <sysid> which is associated with <applid>. For EXCI interface request only.
This service is called if <applid> is not specified in EXCI interface by the client. For EXCI interface request only.
Asynchronous Transaction Servers (ARTATRN/ARTATR1)
An application may request an asynchronous transaction launch using EXEC CICS START TRANSID. In this case, the request needs to be treated asynchronously by another server. These tasks are managed by ARTATRN/ARTATR1.
Note:
A request using the EXEC CICS START TRANSID command TERMID option is managed by ARTSTRN/ARTSTR1.
These servers publish transactions callable by EXEC CICS START TRANSID as services named ASYNC_{Transaction_Name}, and manage execution of these services.
Conversation Server (ARTCTRN/ARTCTR1)
An application may request an a conversation launch using 'EXEC CICS CONVERSE' requests. In this case the request needs to be treated by another server. These tasks are managed by ARTCTRN/ARTCTR1 servers.
These servers publish transactions callable by EXEC CICS CONVERSE as services named {SysId}_{Transaction_Name}, and manage execution of these services.
Synchronous Transactions Servers for Non-3270s Terminal Of Tuxedo ATMI Base (ARTWTRN/ARTWTR1)
Description
The non-3270s terminal is different from common 3270 terminal emulator which should follow the 3270 protocol; The non-3270s terminal could be a native Tuxedo client, Java client, and Web UI based on Tuxedo ATMI and should be implemented by customer themselves or 3rd-party.
The task of servers of ARTWTRN/ARTWTR1 is to offer application transactions and process the corresponding programs.
These severs provide a similar functionality to ARTSTRN/ARTSTR1 and present application transactions as Tuxedo services when receiving a transaction request from non-3270s terminals.
Theses servers are non-conversational and thus can manage pseudo-conversational CICS transactions.
Processing
When the server boots, it will advertise each transaction defined in transactions.desc as a Tuxedo service. When ARTWTRN/ARTWTR1 receives the request from non-3270s terminals, the server loads corresponding CICS program located at directory $COBPATH ($COB_LIBRARY_PATH For COBOL-IT), reorganizes the application data received from FML buffer according to related COPYBOOK, and passes data to loaded CICS program for processing. When CICS program returns by invoking CICS RETURN, the server will insert application data into FML buffer and tpreturn to clients.
Delayed Asynchronous Transaction (/Q Part)
Asynchronous transactions are launched using 'EXEC CICS START TRANSID' requests that may also by launched with a delay set to an interval or to a fixed time.
In this case the transaction request is deposited into a Tuxedo /Q Queue, and when the time is ready, the transaction will be automatically invoked.
For this feature to be available, a few extra components must be activated:
A Tuxedo /Q Queue Space named ASYNC_QSPACE must be created.
A Tuxedo /Q Queue named ASYNC_QUEUE must be created in the queue space.
A TMQFORWARD server must be configured to receive messages from this queue and invoke the application transaction corresponding to the request.
Tip:
TMQFORWARD will always call the same technical transaction called ASYNC_QUEUE (the name of the queue). This transaction will extract the field CX_TRANSID, which will contain the name of the real application transaction to call and will perform a TPACALL(NOREPLY) of this transaction and tpreturn immediately.
Administration Server (ARTADM)
Description
The administration server is responsible for the administration of CICS resources. It provides the following functionalities:
The configuration files only need to be configured on the master node, and the administration servers propagate the configuration files to each slave node.
Shared Storage Management Server (ARTSHM)
Description
ARTSHM is used to manage shared memory for GETMAIN SHARED. It handles shared memory allocation and free request.
Environment variable KIX_SHR_IPCKEY and KIX_SHR_SIZE specify IPC key and size of shared memory, these two variables must be configured to enable this feature. User can specify shared memory attach address by KIX_SHR_ATADDR, default 0x300000000000, the specified address must be a page-aligned address. Environment variables must same for ARTSHM and application servers.
User can configure more than one ARTSHM in a domain. On startup, the first booted ARTSHM creates/initializes shared memory, following ARTSHM attaches to the shared memory. On shutdown, the last ARTSRM destroys shared memory.
ARTSHM must startup before any ART application servers (ARTSTRN/1, ARTATRN/1 and ARTDPL), and shutdown after all ART application servers.
If application servers that use shared memory are still alive when the last ARTSRM shutdown, ARTSRM doesn't destroy shared memory, user must clean up the shared memory manually.
If ARTSHM stops abnormally, the shared memory is not destroyed, when ARTSHM recovered either by Tuxedo RESTART feature or manually startup, it attaches to shared memory, the memory management information is kept.
If the feature is not enabled, the server failed to boot.
ART for CICS TCP/IP Listener (ARTCSKL)
Description
ARTCSKL is the listener of ART for CICS TCP/IP socket and can perform the same functions as CICS TCP/IP listener CSKL. When client request comes, it passes the request to work task for processing, and then waits for another client request. ARTCSKL can run in standard or enhanced mode; you can set the mode through FORMAT parameter of ART for CICS TCP/IP socket listener configuration file (listener.desc).
For more information, see "ARTCSKL Configuration" in this book and "Implementing Using ART for CICS TCP/IP Socket Interface" in Oracle Tuxedo Application Runtime for CICS User Guide.

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.