PQO: Three-node network example

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Overview

This topic provides an example that demonstrates the use of the network definitions for an expanded Parallel Query Option/204 network. In the expanded network, communication is initiated in either direction.

This example is provided for illustrative purposes only. The options shown apply to the sample application. When setting up your PQO network, see PQO: Defining a PQO network for a detailed description of the definitions and their use.

Reporting application

The example is based on the insurance company reporting application that requires communication between two field offices (Detroit and Dallas) and one main office (Boston). Each office system operates independently, running under its own version of Model 204 in an z/OS environment.

In the example, the network definitions support one office location as a client only, one office location as a server only, and one office as both a client and a server. The main office produces a policy report based on information from data files in the field offices.

The SOUL procedure that produces the policy report uses locally stored customer data and accesses the remote files in Detroit and Dallas containing vehicle data.

The Detroit office can produce a regional policy report using data files from both Detroit and Dallas.

The following figure shows the physical configuration of the expanded network.

Physical configuration of expanded network

Network characteristics:

  • Three nodes: one client-only, one server-only, one client/server
  • Three two-way paths, when links are activated
  • Communication initiated by client

The following figure shows the interrelationship of the network entities defined for the expanded network.

Network entity relationships for System A

Defining the network

The following table lists the steps required to define the expanded PQO network. A detailed description of each step is provided in the sections following the checklist.

Defining the PQO network
Step Definition
Define the network to Model 204:
1. Define System A's link. LINK
2. Define System A's processgroups. PROCESSGROUP
3. Define System A's client process. PROCESS
4. Define System B's link. LINK
5. Define System B's processgroups. PROCESSGROUP
6. System B's server process. PROCESS
7. Define System B's client process. PROCESS
8. Define System C's link. LINK
9. Define System C's processgroups. PROCESSGROUP
10. Define System C's server process. PROCESS
Define the Online environment:
11. Set System A's Model 204 runtime and user parameters.

LOCATION
NRMTFILE
NRMTLOCS
NSUBTKS

12. Set System B's Model 204 runtime and user parameters.

LOCATION
NRMTFILE
NRMTLOCS
NSUBTKS
IODEV=51

13. Set System C's Model 204 runtime and user parameters.

LOCATION
NRMTLOCS
NRMTFILE
NSUBTKS
IODEV=51

Define the network to SNA Communications Server:
14. Define System A's SNA Communications Server application. APPL
15. Define System B's SNA Communications Server application. APPL
16. Define System C's SNA Communications Server application. APPL

Note: In an actual implementation, each site performs the steps appropriate for each set of definitions. In this section, to show the interrelationships between the systems, each set of definitions is presented for each system, first for System A (Boston), then for System B (Detroit), and then for System C (Dallas).

The locations (Boston, Detroit, Dallas) are the values specified in the CCAIN LOCATION parameter in the System A, B, and C Onlines, respectively.

The sample CCAIN input streams for the systems are provided in Sample CCAIN input streams.

Specifying DEFINE commands for System A

Defining the link for System A

The first step is to set up the DEFINE LINK command on System A:

DEFINE LINK LINK1 WITH SCOPE=SYSTEM LOCALID=DISUSR01 TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 SESSIONS=6

This definition provides the following specifications:

LINK1 Identifies LINK1 as System A's connection to the SNA network.
LOCALID The identity of the Boston office's Model 204 system as an application node in the SNA network is DISUSR01. The LOCALID value matches the name specified in the APPL statement label (see Defining the APPL statement for System A).
TRANSPORT and PROTOCOL The transport type SNA Communications Server and the protocol LU62 are used for communications.
INBUFSIZE The size of the "receive any" buffer for processing initial inbound conversations requests is 2048 bytes. This matches the mode table RUSIZES value. For more information about SNA Communications Server mode tables, see Mode table example.
SESSIONS A maximum of six sessions can be activated concurrently for this link. Note that PARSESS=YES is specified in the APPL statement for System A to support concurrent sessions.

Defining the processgroups for System A

The next step is to set up two processgroup definitions for System A: for conversations with Detroit and for conversations with Dallas.

Defining the processgroup for conversations with Detroit

DEFINE PROCESSGROUP PG1BOS WITH SCOPE=SYSTEM LINK=LINK1 OUTLIMIT=5 INLIMIT=0 REMOTEID=DISUSR02 LOGIN=TRUST

This definition provides the following specifications:

PROCESSGROUP, LINK, and REMOTEID The processgroup PG1BOS provides for conversations with System B at the Detroit office, known as DISUSR02, using the LINK1 connection.

Notice the following:

OUTLIMIT PG1BOS allows a maximum of five concurrent outbound conversations with Detroit (DISUSR02) for the local client process.
INLIMIT System A is a client only. No inbound conversations are serviced. System A's Online parameters include no IODEV=51 statements.
LOGIN For the local client process, the current user ID is shipped in an outbound conversation request. TRUST, which is required, specifies that no password is required when the remote server system logs the user in. TRUST must also be the LOGIN value specified in System B's DEFINE PROCESSGROUP command.

Defining the processgroup for conversations with Dallas

DEFINE PROCESSGROUP PG2BOS WITH SCOPE=SYSTEM LINK=LINK1 OUTLIMIT=5 INLIMIT=0 REMOTEID=DISUSR03 LOGIN=TRUST

The following specifications in this definition require comment:

PROCESSGROUP, LINK, and REMOTEID PG2BOS processes converse with System C at the Dallas office, known as DISUSR03, using the LINK1 connection.

Notice the following:

  • Both Boston processgroups use the same link.
  • The REMOTEID value matches the LOCALID value specified in System C's DEFINE LINK command.

Defining the client process for System A

The next step for defining network entities on System A is to set up the DEFINE PROCESS command for the local client process:

DEFINE PROCESS CCAD2C WITH SCOPE=SYSTEM DESTINATION=(PG1BOS,DET,PG2BOS,DAL)

This definition provides the following specifications:

PROCESS and DESTINATION

The client process CCAD2C belongs to the local PG1BOS processgroup, which directs conversations to the Detroit office. The DET symbolic name is a reference to the remote system specified by the REMOTEID parameter in the PG1BOS definition. System A client remote file specifications must specify AT DET.

Specifying DEFINE commands for System B

Defining the link for System B

The first step for defining network entities on System B is to set up the DEFINE LINK command:

DEFINE LINK LINK2 WITH SCOPE=SYSTEM LOCALID=DISUSR02 TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 SESSIONS=12

This definition provides the following specifications:

LINK2 Identifies LINK2 as System B's connection to the SNA network.
LOCALID The identity of the Detroit office's Model 204 system as an application node in the SNA network is DISUSR02. The LOCALID value matches the name specified in the APPL statement label.
TRANSPORT and PROTOCOL The SNA Communications Server transport type and the LU 6.2 protocol are used for communications.
INBUFSIZE The size of the "receive any" buffer for processing initial inbound conversations requests is 2048 bytes. This matches the mode table RUSIZES value. For more information about SNA Communications Server mode tables, see Mode table example.
SESSIONS A maximum of 12 sessions can be activated concurrently for this link. In the APPL statement, note that PARSESS=YES is specified to support concurrent sessions.

Defining the processgroups for System B

The next step is to set up two processgroup definitions for System B: for conversations with Boston and for conversations with Dallas.

Defining the processgroup for conversations with Boston

DEFINE PROCESSGROUP PG1DET WITH SCOPE=SYSTEM LINK=LINK2 OUTLIMIT=0 INLIMIT=5 REMOTEID=DISUSR01 LOGIN=TRUST

This definition provides the following specifications:

PROCESSGROUP, LINK, and REMOTEID The processgroup PG1DET provides for conversations with System A at the Boston office, known as DISUSR01, using the LINK2 connection.

Notice the following:

OUTLIMIT PG1DET provides service to System A. No outbound conversations are defined for the local client process.
INLIMIT PG1DET allows a maximum of five concurrent inbound conversations (from Boston) for the local server process. In System B's Online parameters, note that NOTERM specifies five threads.
LOGIN TRUST specifies that the local server process logs in an incoming client user without a password and assigns privileges from the CCASTAT password table. The SYSOPT parameter is set to include a value of X'10'.

Defining the processgroup for conversations with Dallas

DEFINE PROCESSGROUP PG2DET WITH SCOPE=SYSTEM LINK=LINK2 OUTLIMIT=5 INLIMIT=0 REMOTEID=DISUSR03 LOGIN=TRUST

The following specifications in this definition require comment:

PROCESSGROUP, LINK, and REMOTEID PG2DET processes converse with System C at the Dallas office, known as DISUSR03, using the LINK2 connection.

Notice the following:

  • Both Detroit processgroups use the same link.
  • The REMOTEID value matches the LOCALID value specified in System C's DEFINE LINK command.
LOGIN For the local client process, the current user ID is shipped in an outbound conversation request. TRUST specifies that no password is required when the remote server system logs the user in. TRUST must also be the LOGIN value specified in System C's DEFINE PROCESSGROUP command.

Defining the processes for System B

The last step for defining network entities on System B is to set up the DEFINE PROCESS commands. System B is a server for System A and a client for System C. Two process definitions are required.

Defining the server process

DEFINE PROCESS CCAD2S WITH SCOPE=SYSTEM FROM=PG1DET

This definition provides the following specifications:

PROCESS and FROM The server process CCAD2S belongs to the local PG1DET processgroup, which associates the process with internal resource limits such as a maximum of five concurrent inbound conversations when responding to client requests from System A.

Defining the client process

DEFINE PROCESS CCAD2C WITH SCOPE=SYSTEM DESTINATION=(PG2DET,DAL)

This definition provides the following specifications:

PROCESS and DESTINATION The client process CCAD2C belongs to the local PG2DET processgroup, which directs the conversation to the Dallas (System C) office. The DAL symbolic name is a reference to the remote system specified by the REMOTEID parameter in the PG2DET definition. System B client remote file specifications must specify AT DAL.

Specifying DEFINE commands for System C

Defining the link for System C

The first step for defining network entities on System C is to set up the DEFINE LINK command:

DEFINE LINK LINK3 WITH SCOPE=SYSTEM LOCALID=DISUSR03 TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 SESSIONS=12

This definition provides the following specifications:

LINK3 Identifies LINK3 as System C's connection to the SNA network.
LOCALID The identity of the Dallas office (System C) as an application node in the SNA network is DISUSR03. The LOCALID value matches the name specified in the APPL statement label.
TRANSPORT and PROTOCOL The SNA Communications Server transport type and the LU 6.2 protocol are to be used for communications.
INBUFSIZE The size of the "receive any" buffer for processing initial inbound conversations requests is 2048 bytes. This matches the mode table RUSIZES value. For more information about SNA Communications Server mode tables, see Mode table example.
SESSIONS A maximum of 12 sessions can be activated concurrently for this link. Note that PARSESS=YES is specified in the APPL statement to support concurrent sessions.

Defining the processgroups for System C

The next step is to set up two processgroup definitions for System C: for conversations with Boston and for conversations with Detroit.

Defining the processgroup for conversations with Boston

DEFINE PROCESSGROUP PG1DAL WITH SCOPE=SYSTEM LINK=LINK3 OUTLIMIT=0 INLIMIT=5 REMOTEID=DISUSR01 LOGIN=TRUST

This definition provides the following specifications:

PROCESSGROUP, LINK, and REMOTEID The processgroup PG1DAL provides for conversations with System A at Boston, known as DISUSR01, using the LINK3 connection.

Notice the following:

OUTLIMIT PG1DAL provides service to System A. No outbound conversations are defined for the local client process.
INLIMIT PG1DAL allows a maximum of five concurrent inbound conversations (from Boston) for the local server process. Note that NOTERM in System C's Online parameters specifies ten threads: five for PG2DAL and five for PG1DAL.
LOGIN TRUST specifies that the local server process logs in an incoming client user without a password and assigns privileges from the CCASTAT password table. The SYSOPT parameter is set to include a value of X'10'.

Defining the processgroup for conversations with Detroit

DEFINE PROCESSGROUP PG2DAL WITH SCOPE=SYSTEM LINK=LINK3 OUTLIMIT=0 INLIMIT=5 REMOTEID=DISUSR02 LOGIN=TRUST

The following specifications in this definition require comment:

PROCESSGROUP, LINK, and REMOTEID PG2DAL processes converse with System B at the Detroit office, known as DISUSR02, using the LINK3 connection.

Notice the following:

OUTLIMIT PG2DAL provides service to System B. No outbound conversations are defined for the local client process.
INLIMIT PG2DAL allows a maximum of five concurrent inbound conversations (from Detroit) for the local server process. Note that NOTERM in System C's Online parameters specifies ten threads: five for PG2DAL and five for PG1DAL.

Defining the server process for System C

The last step for defining network entities on System C is to set up the DEFINE PROCESS command for the local server process:

DEFINE PROCESS CCAD2S WITH SCOPE=SYSTEM FROM=(PG1DAL,PG2DAL)

This definition provides the following specifications:

PROCESS and FROM The server process CCAD2S belongs to both local processgroups.

Specifying the Online environment

Defining System A's Model 204 Online environment

To define the Model 204 Online environment to support the PQO network in System A, set the runtime and user parameters.

  1. Enter the User 0 runtime parameters in System A's CCAIN, as follows:

    LOCATION=BOSTON

    BOSTON specifies the unique symbolic name of System A's Model 204 Online for the PQO network.

    NRMTFILE=4

    NRMTFILE=4 specifies that a maximum of four remote file save areas are allocated by Model 204 for System A's Online for the local client process. No more than four remote Model 204 files can be open at the same time by users on the local system.

    NRMTLOCS=2

    NRMTLOCS=2 specifies the number of remote nodes that can be accessed by users on the client Online.

    NSUBTKS=3

    NSUBTKS=3 specifies the number of pseudo-subtasks for Model 204. Two additional subtasks are added for the single PQO link that is used for the client process running under z/OS in System A. Two added to the original value of one makes the total equal to three.

  2. No additional IODEV parameter lines are required for System A, because it is exclusively a client. Only service threads require an additional IODEV=51 statement.

Defining System B's Model 204 Online environment

Define the Model 204 Online environment to support the PQO network in System B. Set the runtime and user parameters:

  1. Enter the User 0 runtime parameter in System B's CCAIN, as follows:

    LOCATION=DETROIT

    DETROIT specifies the unique symbolic name of System B's Model 204 Online for the PQO network.

    NRMTFILE=2

    NRMTFILE=2 specifies that a maximum of two remote file save areas are allocated by Model 204 for System B's Online for the local client process. No more than two remote Model 204 files can be open at the same time by users on the local system.

    NRMTLOCS=1

    NRMTLOCS=1 specifies the number of remote nodes that can be accessed by users on the client Online.

    NSUBTKS=3

    NSUBTKS=3 specifies the number of pseudo-subtasks for Model 204. Two subtasks are added for the PQO link running under z/OS. Two added to the original value of one makes the total equal to three.

  2. Enter the IODEV statements in System B's CCAIN to support the local server process. Enter the user parameter lines after the User 0 parameters, as follows:

    IODEV=51,NOTERM=5 IODEV=51 IODEV=51 IODEV=51 IODEV=51

    IODEV=51 specifies a PQO service thread.

    NOTERM=5 specifies that five threads are allocated for PQO inbound conversations in System B's Online, indicating that five server applications can run concurrently.

Defining System C's Model 204 Online environment

Define the Model 204 Online environment to support the PQO network in System C. Set the runtime and user parameters.

  1. Enter the User 0 runtime parameter in System C's CCAIN, as follows:

    LOCATION=DALLAS

    DALLAS specifies the unique symbolic name of System C's Model 204 Online for the PQO network.

    NRMTFILE=0

    NRMTFILE=0 (the default) specifies that no remote file save areas are allocated by Model 204 for System C's Online. System C is exclusively a server and is not accessing any remote files.

    NRMTLOCS=0

    NRMTLOCS=0 (the default) specifies that no remote PQO nodes are accessed by System C. System C is exclusively a server and is not accessing any remote files.

    NSUBTKS=3

    NSUBTKS=3 specifies the number of pseudo-subtasks for Model 204. Two subtasks are added for the PQO link running under z/OS. Two added to the original value of one makes the total equal to three.

  2. Enter the IODEV statements in System C's CCAIN to support the local server process. Enter the user parameter lines after the User 0 parameters, as follows:

    IODEV=51,NOTERM=10 . . . IODEV=51

    IODEV=51 specifies a PQO service thread.

    NOTERM=10 specifies that ten threads are allocated for PQO inbound conversations in System C's Online, indicating that ten server applications can run concurrently. This number exactly accommodates the maximum of five threads specified by each of System C's clients. This exact accommodation is not required, however.

Specifying the SNA Communications Server environment

Defining the APPL statement for System A

The next step is to define the PQO network to SNA Communications Server. An APPL statement is required for LINK1 (see Defining the link for System A). The APPL statement is coded in System A's VTAMLST data set to define it as an LU in the network, as follows:

DISUSR01 APPL AUTH=ACQ, PARSESS=YES, MODETAB=LU62, VPACING=5

This definition provides the following specifications:

DISUSR01 Specifies the unique name that identifies System A as an LU application node in this SNA network. This name matches the name used for LOCALID in System A's Model 204 DEFINE LINK command.
AUTH=ACQ Specifies that Model 204 is authorized to acquire sessions with the remote conversation partner LU when initiating or responding to a request for a conversation. This setting authorizes SIMLOGON, the Model 204 SNA Communications Server request.
PARSESS=YES Specifies SNA Communications Server parallel session support between the System A LU and a partner. In the sample network, this supports concurrent sessions between System A and System B and between System A and System C.
MODETAB=LU62 Points SNA Communications Server to an existing mode table, called LU62, that contains the mode definition used by System A's Horizon facility. An entry in this mode table specifies LU 6.2 session parameters for PQO.
VPACING=5 Specifies five messages for SNA Communications Server pacing. This is the maximum number of chain elements received by the System A LU during a session before an acknowledgment is sent to the partner LU. An average message length is assumed.

Defining the APPL statement for System B

An APPL statement is required for LINK2, which is defined in Defining the link for System B. The APPL statement is coded in System B's VTAMLST data set to define it as an LU in the network, as follows:

DISUSR02 APPL AUTH=ACQ, PARSESS=YES, MODETAB=LU62, VPACING=5

This definition provides the same specifications as for System A except for the APPL label name DISUSR02.

Defining the APPL statement for System C

To complete the SNA Communications Server definition for the sample network, an APPL statement is required for LINK3, which is defined in Defining the link for System C. The APPL statement is coded in System C's VTAMLST data set to define it as an LU in the network, as follows:

DISUSR03 APPL AUTH=ACQ, PARSESS=YES, MODETAB=LU62, VPACING=5

This definition provides the same specifications as for Systems A and B except for the APPL label name DISUSR03.

Sample CCAIN input streams

Excerpts from the sample CCAIN input streams for Systems A, B, and C are provided in this section. These excerpts show the Model 204 Online environment and network definitions for PQO.

System A input stream (z/OS environment)

//CCAIN DD * * User zero parameters . . . NRMTFILE=4, NRMTLOCS=2, NSUBTKS=3, LOCATION=BOSTON * User parameter lines * Single link, multiple process network definition DEFINE LINK LINK1 WITH SCOPE=SYSTEM LOCALID=DISUSR01 - TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 - SESSIONS=12 DEFINE PROCESSGROUP PG1BOS WITH SCOPE=SYSTEM - LINK=LINK1 OUTLIMIT=5 INLIMIT=0 - REMOTEID=DISUSR02 LOGIN=TRUST DEFINE PROCESSGROUP PG2BOS WITH SCOPE=SYSTEM - LINK=LINK1 OUTLIMIT=5 INLIMIT=0 - REMOTEID=DISUSR03 LOGIN=TRUST DEFINE PROCESS CCAD2C WITH SCOPE=SYSTEM - DESTINATION=(PG1BOS,DET,PG2BOS,DAL) . . . /*

System B input stream (z/OS environment)

//CCAIN DD * * User zero parameters . . . NRMTFILE=2, NRMTLOCS=1, NSUBTKS=3, LOCATION=DETROIT * User parameter lines IODEV=51,NOTERM=5 IODEV=51 IODEV=51 IODEV=51 IODEV=51 * Single link, multiple process network definition DEFINE LINK LINK2 WITH SCOPE=SYSTEM LOCALID=DISUSR02 - TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 - SESSIONS=6 DEFINE PROCESSGROUP PG1DET WITH SCOPE=SYSTEM - LINK=LINK2 OUTLIMIT=0 INLIMIT=5 - REMOTEID=DISUSR01 LOGIN=TRUST DEFINE PROCESSGROUP PG2DET WITH SCOPE=SYSTEM - LINK=LINK2 OUTLIMIT=5 INLIMIT=0 - REMOTEID=DISUSR03 LOGIN=TRUST DEFINE PROCESS CCAD2S WITH SCOPE=SYSTEM - FROM=PG1DET DEFINE PROCESS CCAD2C WITH SCOPE=SYSTEM - DESTINATION=(PG2DET,DAL) . . . /*

System C input stream (z/OS environment)

//CCAIN DD * * User zero parameters . . . NRMTFILE=0, NRMTLOCS=0, NSUBTKS=3, LOCATION=DALLAS * User parameter lines IODEV=51,NOTERM=10 IODEV=51 IODEV=51 IODEV=51 IODEV=51 IODEV=51 IODEV=51 IODEV=51 IODEV=51 IODEV=51 * Single link, multiple process network definition DEFINE LINK LINK3 WITH SCOPE=SYSTEM LOCALID=DISUSR03 - TRANSPORT=VTAM PROTOCOL=LU62 INBUFSIZE=2048 - SESSIONS=12 DEFINE PROCESSGROUP PG1DAL WITH SCOPE=SYSTEM - LINK=LINK3 OUTLIMIT=0 INLIMIT=5 - REMOTEID=DISUSR01 LOGIN=TRUST DEFINE PROCESSGROUP PG2DAL WITH SCOPE=SYSTEM - LINK=LINK3 OUTLIMIT=0 INLIMIT=5 - REMOTEID=DISUSR02 LOGIN=TRUST DEFINE PROCESS CCAD2S WITH SCOPE=SYSTEM - FROM=(PG1DAL,PG2DAL) . . . /*

See also