The following explains what happens when a task, designated as
the Server "task," is started on one or more systems in the sysplex.
More than one task can be started for the same server name. When more
than one task is started for a server name on the same system, the
server has created multiple instances. Multiple instances of a server
might be useful to manage workload or provide multiple levels of server
support for clients:
- The task issues IXCSRVR to begin the server definition process
with XCF:
START IXCSRVR REQTYPE=START,SERVER=MYSERVER,SERVEREXIT=(R2), X
DESCRIPTION=SRVRDESC,MINLEVEL=0,MAXLEVEL=0, X
USERDATA=SRVRUSERDATA,INFO=(R8), X
RESPBIND=INSTANCE, X
RETCODE=RETURN,RSNCODE=REASON
- XCF calls the server exit specified on the IXCSRVR SERVEREXIT
macro keyword to have the server instance perform initialization.
- The server exit gets control with addressability to a parameter
list pointed to by R1 and mapped by IXCYSRVR_TSXPL. The SXPL_SERVERCODE
field contains ixcysrvr_kSC_InitServer, which indicates to the server
exit that it is to perform its initialization processing.
- Depending on the client/server design and protocols, the server
might need to provide a work area to XCF to process received requests.
For this example, the server does not need a work area.
- The server exit returns to XCF after completing initialization.
The server is now ready to receive requests from a client. When a
server request is received from a client, XCF calls the server exit
with a parameter list containing information provided by the client
and needed by the server exit to process the request.