|
All Tuxedo servers configured in the Tuxedo UBBCONFIG configuration file use standard arguments common to all servers. CICS Runtime servers benefit automatically from this flexibility.
The required arguments are SVRGRP and SVRID.
Other common arguments like MIN, MAX, SEQUENCE, CONV etc. are also available.
For precise information about the use of Tuxedo server configuration, consult the Tuxedo documentation, specifically the SERVERS section of UBBCONFIG(5).
One of the most useful of these optional arguments is the CLOPT (Command Line OPTions) argument.The CLOPT option is a string of command-line options that is passed to Tuxedo servers when they are booted.
This command line option is divided in two parts:
directing standard output and errors to specific files.
For precise information about using CLOPT options see the Tuxedo documentation, more specifically the servopts section.
The description of CICS Runtime specific servers systematically includes the two mandatory server arguments SVRGRP & SVRID, plus only the arguments needed specifically by the server type.
This section describes the options common to all CICS Runtime servers. These options are documented in this section only.
This argument defines the name of the CICS system.
Sets the value returned to programs by EXEC CICS ASSIGN SYSID.
Character, 1-256, A-Za-z0-9[/:-].
The system identifier (CICS SYSID) is limited to four characters.
This option does not apply to ARTTCPL servers and connection servers.
This argument defines the APPLID name of the CICS system.
-a INVOICE
Sets the value returned to programs by EXEC CICS ASSIGN APPLID.
Character, 1-256, A-Za-z0-9[/:-].
The application id (CICS APPLID) is limited to eight characters.
This option does not apply to ARTTCPL servers and connection servers.
This argument defines the lists of resource groups to be loaded by this server.
-L LIST1:LIST2:…
Enables a dynamic change of the groups in a list for a running server. The lists refered by the -L argument should be defined in the list_of_groups configuration file. This argument replaces the -l option which is deprecated now.
Lists in the resources configuration files are defined by 10 character strings. A server only loads in memory resources belonging to one of the groups included in one of the lists.
As a facility for tests or generic servers, it is possible to remove the filtering by using -L ‘*’ to allow a server to load all the lists defined in the list_of_groups configuration file. A group can be loaded by a server specifying -L ‘*’ only if it is included in at least one list.
This option does not apply to ARTTCPL servers and connection servers.
This argument is now deprecated and replaced by -L argument. It is still supported in this release but will be removed in future releases.
This argument lists the resource groups to be considered by the server when loading resources.
The list of groups defined statically in the CLOPTcannot be dynamically modified. For implementing a dynamic change of the list, use -L option instead.
-l group1:group2:…:groupn
Groups in the resources configuration files are defined by 10 character strings. A server only loads in memory resources belonging to one of these groups.
As a facility for tests or generic servers, it is possible to remove the filtering by using – l ‘*’ to allow a server to load all the resources defined in the configuration file.
This option does not apply to ARTTCPL servers and connection servers.
ARTTCPL – Terminal Control Program Listener.
ARTTCPL SRVGRP="identifier" SRVID="number" MAXWSCLIENTS="number" CLOPT="[servopts options] -- -n netaddr -S ssladdr -L pnetaddr [-m minh] [-M
maxh] [-x session-per-handler] [-p profile-name] [-z minencryptbits] [-Z maxencryptbits] [-D] [+H trace-level]"
The terminal control program (ARTTCP) is a group of Tuxedo servers that manage the connections of 3270 terminal emulators to CICS Runtime. When you run programs, the ARTTCP connects terminal emulators to the network ports assigned to ARTTCP. ARTTCP communicates with the emulator using a Telnet protocol.
The ARTTCP server is composed of two types of servers: a single ARTTCP listener (ARTTCPL) process and one or more ARTTCP handler (ARTTCPH) processes. The ARTTCPL process establishes a well-known listening port address to which terminal emulators may connect. The ARTTCPH process listens on this port and accepts incoming connection requests. The ARTTCPH process establishes your user session for the connection and handles all subsequent screen I/O for the terminal emulator. As a performance enhancement, each ARTTCPH process can manage multiple sessions simultaneously. When you disconnect the emulator from the port, the ARTTCPH terminates the session.
The following CLOPT run-time parameters are recognized:
ARTTCPL. The address is a string in standard internet URL format. For example:
//computer:4000 designates port 4000 on machine computer.
Character, 1-256, A-Za-z0-9[/:-]. Mandatory option if option -S is not specified.
ARTTCPL via SSL. The address is a string in standard internet URL format. For example:
//computer:5000 designates port 5000 on machine computer.
Character, 1-256, A-Za-z0-9[/:-]. Mandatory option if option -n is not specified.
ARTTCPL shares the same SSL related configuration with Tuxedo, so the following attributes should be configured in the RESOURCES section of Tuxedo UBBCONFIG configuration file: SEC_PRINCIPAL_NAME, SEC_PRINCIPAL_LOCATION, SEC_PRINCIPAL_PASSVAR. Please refer to the corresponding Tuxedo documentation for details.
ARTTCPL and ARTTCPH. The address is a string in standard internet URL format. For example:
//computer1:4001 designates port 4000 on machine computer.
Character, 1-256, A-Za-z0-9[/:-]. Mandatory option.
ARTTCPL. The actual number of handler processes will always be between the minh and maxh based on system load.
ARTTCPL. The actual number of handler processes will always be between the minh and maxh based on system load.
ARTTCP. 0 means no encryption, while 40, 56, 128, and 256 specify the length (in bits) of the encryption key. If this minimum level of encryption cannot be met, link establishment fails.
ARTTCP. 0 means no encryption, while 40, 56, 128, and 256 specify the length (in bits) of the encryption key.
*SERVERS ARTTCPL SRVGRP="TCPGRP" SRVID=1000 RESTART=Y GRACE=0 MAXWSCLIENTS=20
CLOPT="-- -n //hostname:4000 -L //hostname:4002 -m1 -M10 "
ARTSTRN – CICS Runtime main server for synchronous terminal oriented transactions with MAXACTIVE > 1.
ARTSTRN SRVGRP="identifier" SRVID="number" CONV=Y MIN=minn MAX=maxn RQADDR=queueaddr REPLYQ=Y CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2"
ARTSTRN servers present application transactions as Tuxedo services and, when receiving a transaction request, execute the corresponding programs.
These servers are conversational in order to manage true conversational CICS transactions.
ARTSTRN server publishes one service per transaction it offers. ARTTCPH managing the user performs a tpconnect to the corresponding transaction (service).ARTSTRN server offering this service receives the request with the associated commarea and screen and then processes the transaction.{TRANSID} a reply is sent to the client, finishing the conversation by a tpreturn() returning the new 3270 screen, and the commarea.ARTSTRN server transmits the prepared 3270 stream via tpsend(), then waits for a tpreceive, for the next user input to complete the RECEIVERETURN {TRANSID} the ARTSTRN server replies to the client, finishing the conversation by a tpreturn() returning the new 3270 screen, and the commarea.Only transactions belonging to no tranclass, or to a tranclass with maxactive >1 are advertised by these servers.
CONV=Y, because ARTSTRN is non-transactional.
*SERVERS
ARTSTRN SRVGRP="TCPGRP" SRVID=1000 RESTART=Y GRACE=0
CONV=Y MIN=2 MAX=3 RQADDR=QKIX1000 REPLYQ=Y
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTSTR1 – CICS Runtime main server for synchronous terminal oriented transactions with MAXACTIVE = 1.
ARTSTR1 SRVGRP="identifier" SRVID="number" CONV=Y MIN=1 MAX=1 CLOPT="[servopts] -- -s System_ID -a Application_ID-L list1:list2,…"
Theses servers are a specialized version of ARTSTRN servers presenting only transactions with MAXACTIVE = 1; While ARTSTRN servers present only transactions with MAXACTIVE > 1.
It is critical and verified by STR1 servers at boot time that MIN and MAX number of servers are set to 1. The goal of these servers being to guarantee the parallel processing of only one transaction in a group (with MAXACTIVE = 1), to start or let Tuxedo start a few servers offering the same transactions will be self-defeating for STR1 Servers.
Since MIN and MAX are set to 1 the Tuxedo argument RQADDR, become unnecessary, and should be avoided for simplicity.
The rest of the configuration and behavior of STR1 servers are exactly the same a STRN servers.
*SERVERS
ARTSTR1 SRVGRP="TCPGRP" SRVID=1000 RESTART=Y GRACE=0
CONV=Y MIN=1 MAX=1
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTTSQ – CICS Runtime Temporary Storage Queue Server
ARTTSQ SRVGRP="identifier" SRVID="number" MIN=1 MAX=1
CLOPT"[servopts] -- -L list1:list2"
ARTTSQr manages temporary storage queues, it serves the functionalities required by EXEC CICS: WRITEQ TS, READQ TS and DELETEQ TS.
ARTTSQ publishes two main kinds of services:
ARTTSQ starts. TSQUEUE processes TSQ requests for queues matching no TSMODEL.{TSMODEL}_TSQUEUE: One of those services is published for each TSMODEL.The server publishing this service will accomplish all the operations needed on the queues matching this TSMODEL.
One server will publish the TSMODELs belonging to the resource groups assigned to this server thru the -l option.
A group of resources must be assigned to a single tsq serverto avoid trying to publish the same service twice. This is checked at boot time and will generate error messages during the boot phase when not respected, but no action will be taken.
It is critical, and verified by TSQ servers at boot time, that MIN and MAX number of servers are set to 1.
It is critical that the same server which created one queue (first write) also serves all other read/write delete requests to this queue. This is the reason why each service, either generic or corresponding to a specific model, must be advertised by a single server.
This unicity is verified when services are published.
The auxiliary TSQ data is lost after the server is down (e.g. stop or crash).
SRVGRP must be a Tuxedo group with an Oracle Resource Manager configured with TMSNAME and OPENINFO.
The DBMS user indicated in the OPENINFO of the group containing the server, must have access to the TS_QCONTENT table; either directly (objects created in this schema) or thru a DBLINK.
On this pre-existing table it must have select, insert, update, delete permissions.
The script to create the table for Oracle is listed below:
drop table TS_Q_CONTENT purge;
create table TS_Q_CONTENT
( TS_QUEUE char(16) NOT NULL,
TS_ITEM number(8) NOT NULL,
TS_LENGTH number(8),
TS_RAW LONG RAW,
primary key (TS_QUEUE, TS_ITEM)
);
*SERVERS
ARTTSQ SRVGRP="GRP02" SRVID=30 RESTART=Y GRACE=0
MIN=1 MAX=1 CLOPT=" -- -L list1:list2"
ARTTDQ – CICS Runtime Transient Data Queue Server
ARTTDQ SRVGRP="identifier" SRVID="number" MIN=1 MAX=1
CLOPT"[servopts] -- -L list1:list2:..."
ARTTDQ manages transient data storage queues, it serves the functionalities required by EXEC CICS: WRITEQ TD, READQ TD and DELETEQ TD.
ARTTDQ publishes one service per declared queue as the name of the TDQueue suffixed by “_TDQ”:
A group of resources must be assigned to a single ARTTDQ server to avoid trying to publish the same service twice. This is checked at boot time and will generate error messages during the boot phase when not respected, but no action will be taken.
It is critical, and verified by TDQ server at boot time, that MIN and MAX number of servers are set to 1.
The extra partition TDQ data is lost after this server is down (e.g. stop or crash).
*SERVERS
ARTTDQ SRVGRP="GRP02" SRVID=30 RESTART=Y GRACE=0
MIN=1 MAX=1 CLOPT=" -- -s PROW -l group1:group2"
ARTDPL – CICS Runtime server for distributed program link execution.
ARTDPL SRVGRP="identifier" SRVID="number" MIN=minn MAX=maxn
CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2"
Theses servers present application programs restricted to DPL subsets as tuxedo services and when receiving a DPL service request execute the corresponding program.
These programs are screenless programs which cannot interact directly with terminal users.
Theses servers do not need to (cannot) address the principal facility (the user terminal) and so do not need to be conversational. They are pure RPC mode servers.
When starting, a ARTDPL publishes one service per program it offers.
When a program requests a LINK, if the requested program is configured as DPL then the link is not resolved as usual by a call, but by a tpcall, which will be served by one of the DPL servers offering this service (this DPL program).
Only programs with the attribute REMOTESYSTEM(sysid) positioned to DPL, will be advertised by DPL servers, and only by servers with this sysid as system indicated thru the -s option
The service advertised by ARTDPL for each of these programs, will be SYSID_ProgramName.
Conversely, these programs will not be available directly from synchronous and asynchronous transcation servers.
COMMAREA data to the FML field CXMW_MESSAGE, and then TPCALL the corresponding program which is published as a service by ARTDPL. After receiving the service request, ARTDPL executes the corresponding program and finally TPRETURN the COMMAREA data returned by program with FML field CXMW_MESSAGE.
COMMAREA data returned by program is larger than the length of the COMMAREA data initialized in Tuxedo client. In this case, you need to add one more FML field CXMW_COMMAREAINLENGTH before TPCALL to the Tuxedo client. The CXMW_COMMAREAINLENGTH must be specified the total length of COMMAREA which is initialized in Tuxedo client, and its data type is long. In this way, ARTDPL can TPRETURN COMMAREA data with the total length CXMW_COMMAREAINLENGTH which is definitely larger than the length of the data filled in COMMAREA.
COMMAREA data returned by program is smaller than the total length CXMW_COMMAREAINLENGTH, ARTPDL normally adds X'00' (null padding character) at the end in the return FML field CXMW_MESSAGE. If you want to strip the NULL padding characters to reduce the data communications between the Tuxedo client and ARTDPL and improve the performance, add “-S” in the CLOPT options of ARTDPL. ARTDPL server will strip the padding characters and then TPRETURN the COMMAREA data with FML field CXMW_MESSAGE.
*SERVERS
ARTDPL SRVGRP="GRP02" SRVID=60 RESTART=Y GRACE=0
MIN=1 MAX=1
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTATRN – CICS Runtime server for asynchronous oriented transactions with MAXACTIVE > 1.
ARTATRN SRVGRP="identifier" SRVID="number" CONV=N MIN=minn MAX=maxn RQADDR=QKIXATR REPLYQ=Y CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2:..."
ARTATRN servers present application transactions as Tuxedo services and when receiving a transaction request, execute the corresponding programs.
These programs are screenless programs which cannot interact directly with the terminal user.
In contrast to ARTSTRN servers, these servers are transactional in order to manage true CICS transactions. They are only called from other servers (START TRANSID) and never directly from terminals or clients.
When starting, an ARTATRN server publishes one service per transaction it offers. These transactions are named "ASYNC_{transaction_name} (.
This server also publishes an internal transaction called ASYNC_QUEUE.
KIX__START_TRANSID function makes a tpacall to the corresponding transaction (service).ARTATRN offering this service receives the request with the associated message, then processes the transaction.Only transactions belonging to no tranclasses, or to a tranclass with maxactive >1 are advertised by these servers.
CONV=N, because the ARTATRN is non conversational.
ARTATRN when it is booted. The following run-time parameters are recognized:
*SERVERS
ARTATRN SRVGRP="TCPGRP" SRVID=2000 RESTART=Y GRACE=0
CONV=N MIN=2 MAX=3 RQADDR=QKIXATR REPLYQ=Y
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTATR1 - CICS Runtime main server for asynchronous oriented transactions with MAXACTIVE = 1.
ARTATR1 SRVGRP="identifier" SRVID="number" CONV=N MIN=1 MAX=1 CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2:..."
ARTATR1 servers are a specialized version of ARTATRN servers presenting only transactions with MAXACTIVE = 1, whereas ARTATRN servers present transactions with MAXACTIVE > 1.
It is critical, and verified by ATR1 servers at boot time, that MIN and MAX number of servers are set to 1. The goal of these servers is to guarantee the parallel processing of only one transaction in a group (with MAXACTIVE =1). To permit Tuxedo to start several servers offering the same transactions would be self-defeating for ATR1 Servers.
Since MIN and MAX are set to 1, the Tuxedo argument RQADDR, becomes unnecessary, and should be avoided for simplicity.
The rest of the configuration and behavior of ATR1 servers are exactly the same as ATRN servers.
*SERVERS
ARTATR1 SRVGRP="TCPGRP" SRVID=2000 RESTART=Y GRACE=0
CONV=N MIN=1 MAX=1
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTCTRN – CICS Runtime server for conversation oriented transactions with MAXACTIVE > 1.
ARTCTRN SRVGRP="identifier" SRVID="number" CONV=N MIN=minn MAX=maxn RQADDR=QKIXCTR REPLYQ=Y CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2:..."
ARTCTRN servers present application transactions as Tuxedo services and when receiving a transaction request, execute the corresponding programs.
These programs are screenless programs which cannot interact directly with the terminal user.
In contrast to ARTSTRN servers, these servers are transactional in order to manage true CICS transactions. They are only called from other servers (CNVERSE) and never directly from terminals or clients.
When starting, a ARTCTRN server publishes one service per transaction it offers. These transactions are named {SysId}_{transaction_name}.
The {SysId} is the name of this region defined in the -s parameter.
KIX__CONVERSE function makes a tpacall to the corresponding transaction (service).ARTCTRN offering this service receives the request with the associated message, then processes the transaction.Only transactions belonging to no tranclasses, or to a tranclass with maxactive >1 are advertised by these servers.
CONV is optional for this server type; if you use it, it must be defined as CONV=N, because the ARTATRN is transactional.
A string of command-line options that is passed to the ARTCTRN when it is booted. The following run-time parameters are recognized:
*SERVERS
ARTCTRN SRVGRP="TCPGRP" SRVID=2500 RESTART=Y GRACE=0
CONV=N MIN=2 MAX=3 RQADDR=QKIXATR REPLYQ=Y
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTCTR1 – CICS Runtime main server for conversation oriented transactions with MAXACTIVE=1.
ARTCTR1 SRVGRP="identifier" SRVID="number" CONV=N MIN=1 MAX=1
CLOPT="[servopts] -- -s System_ID -a Application_ID -L list1:list2:..."
ARTCTR1 servers are a specialized version of ARTCTRN servers presenting only transactions with MAXACTIVE = 1, whereas ARTCTRN servers present transactions with MAXACTIVE > 1.
It is critical, and verified by ARTCTR1 servers at boot time, that MIN and MAX number of servers are set to 1. The goal of these servers is to guarantee the parallel processing of only one transaction in a group (with MAXACTIVE =1). To permit Tuxedo to start several servers offering the same transactions would be self-defeating for ARTCTR1 servers.
Since MIN and MAX are set to 1, the Tuxedo argument RQADDR, becomes unnecessary, and should be avoided for simplicity.
The rest of the configuration and behavior of ARTCTR1 servers are exactly the same as ARTCTRN servers.
*SERVERS
ARTCTR1 SRVGRP="TCPGRP" SRVID=2000 RESTART=Y GRACE=0
CONV=N MIN=1 MAX=1
CLOPT=" -- -s PROW -a INVOICE -L list1:list2"
ARTCNX — CICS Runtime connection server for user connection management.
ARTCNX SRVGRP="identifier" SRVID="number" CONV=Y MIN=1 MAX=1 RQADDR=QKIX110 REPLYQ=Y CLOPT="[servopts]"
This server offers internal services needed by terminal handlers during user connection and disconnection phases.
It offers internal message oriented services such as connect and disconnect:
It also offers a few classical CICS transactions:
It also publishes an internal transaction, authfail used by the handler in case of authentication error.
Theses servers are conversational in order to manage CICS transactions CESN, CESF.
This server must be unique in a CICS Runtime system.
CONV is mandatory for this server type, and must be defined as CONV=Y, because ARTSTRN is conversational.
CLOPT for more details)
*SERVERS
ARTCNX SRVGRP="TCPGRP" SRVID=1000 CONV=Y MIN=1 MAX=1
ARTADM — Administration Server
ARTADM SRVGRP="identifier" SRVID="number" SEQUENCE=1
This server is responsible for the administration of CICS resource. It provides the following functionalities:
artadmin to all the concerned servers in the system.The configuration files only need to be configured on the master node, and the administration servers propagate the configuration files to each slave node.
It is now compulsory to configure a ARTADM server on each machine (master or slave) of the system. The ARTADM server must be started up before other ART servers. The ARTADM server on the master machine must be started up before others on the slave machines.To ensure this sequence, it is necessary to make the following configurations using SEQUENCE:
| WARNING: | Do not use SEQUENCE for other servers, or in any case set with greater numbers. |
*SERVERS
ARTCKTI — ART CICS Transaction Trigger Monitor
ARTCKTI SRVGRP="identifier" SRVID="number" CLOPT="[servopts options] -- [-i trigger_interval] [-s retry_interval] [-m queue_manager_name] -q queue_name1,queue_name2,...”
The ART CICS Transaction Trigger Monitor (ARTCKTI) behaves the same as the CICS CKTI transaction. It listens on one or multiple WebSphere MQ initiation queues, gets the trigger message when trigger event occurs, and then forward the trigger message to the target transaction for further operations.
ARTCKTI server accepts the following parameters for the ubbconfig file.
-i trigger_interval
-s retry_interval
-m queue_manager_name
-q queue_name1,queue_name2,……
ARTCKTI server acts as an WebSphere MQ client, so the channel info for MQ client is needed for ARTCKTI to connect to the WebSphere MQ queue manager.
Generally there are two ways to do this. One is to specify it in the client configuration file, and the other one is to specify it with the environment variable MQSERVER.
The channel info should contain the location of the WebSphere MQ server and the communication method to be used. It is a string of the format ChannelName/TransportType/ConnectionName.
ConnectionName must be a fully-qualified network name. ChannelName cannot contain the forward slash (/) character because this character is used to separate the channel name, transport type, and connection name.
ARTCKTI server requires WebSphere MQ multi-threaded library.
For details, please refer to Websphere MQ Client document.
Object files are also provided for users who want to build their own ARTCKTI server based on a different version of WebSphere MQ.
To build the ARTCKTI server, execute the following command as the Tuxedo administrator with write permission for the $KIXDIR/bin directory:
buildserver -o $KIXDIR/bin/ARTCKTI -t -f "$KIXDIR/objs/ARTCKTI.o $KIXDIR/objs/list.o" -l "-L/$MQM/lib64 -lmqic_r"
$MQM is the path that WebSphere MQ has been installed.
|