BEA Logo BEA MessageQ Release 5.0

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   MessageQ Doc Home   |   LU6.2 Services for OpenVMS User's Guide   |   Previous Topic   |   Next Topic   |   Contents   |   Index

Configuring the LU6.2 Port Server

 

This chapter describes how to configure, start up, and manage the LU6.2 Port Server.

Note: Before you configure or use your LU6.2 Port Server, make sure that the BEA MessageQ LU6.2 Services software is properly installed and operational on your system. Refer to Installing BEA MessageQ LU6.2 Services for OpenVMS for installation information.

Specific topics covered in this chapter include:

Port Server Functions

The LU6.2 Port Server is a connection-point management software tool that provides network applications (in this case, LU6.2 type) connection and namespace mapping services. The LU6.2 Port Server uses predefined messages (verbs) to simplify setting and managing applications' connections of the BEA MessageQ clients to remote partners.

To provide these functions, the LU6.2 Port Server must know:

Therefore, before you can use the LU6.2 Port Server, you need to set up the context (targets and resources) in which it operates. This means that you must determine and prepare the information that the LU6.2 Port Server requires to configure itself when it is initialized.

To summarize, to configure a port server, you must configure the following:

Port Server Limits of Operation

Use of the LU6.2 Port Server is restricted by the limits described in Table 3-1. You can configure the LU6.2 Port Server only within these limits.

Table 3-1 Port Server Operational Limits

Limit

Description

Targets

Targets are defined by a user as part of the LU6.2 Port Server configuration process. A maximum of 512 targets can be defined for any LU6.2 Port Server.

SNA Logical Units

A maximum of 256 SNA LUs can be defined for any LU6.2 Port Server.

Concurrent Sessions

A maximum of 256 concurrent LU6.2 sessions are supported for any LU6.2 Port Server. The available pool of LUs is divided into inbound and outbound groups; the sum of the active sessions in each group cannot exceed 256 at any one time.

Message Size

The maximum data message size is 31982 bytes. This limit is imposed by the BEA MessageQ maximum message size of 32000 bytes. An 18-byte header is generated internally by LU6.2 Services for OpenVMS, leaving 31982 bytes for user data.

Target Sync Level

The LU6.2 Port Server supports both SYNC_LEVEL 0 (NONE) and SYNC_LEVEL 1 (CONFIRM). Support for SYNC_LEVEL is controlled globally by the DMQLU62$SELECT_SYNC and DMQLU62$DISABLE_CONFIRM logical names, and at the individual target level through the SYNC_LEVEL option on an extended target definition.

If the logical name DMQLU62$SELECT_SYNC is not defined, defining the logical name DMQLU62$DISABLE_CONFIRM disables SYNC_LEVEL 1 support.

SYNC_LEVEL 1 is supported as follows: A Change Direction request from a BEA MessageQ client results in a PREPARE_TO_RECEIVE verb being issued at SYNC_LEVEL 1. A Terminate Connection request from a BEA MessageQ client results in a DEALLOCATE verb being issued at SYNC_LEVEL 1.

The LU6.2 Port Server automatically and unconditionally issues a CONFIRMED message in response to any CONFIRM verb issued by an IBM client.

Multiple Connections for BEA MessageQ Clients

BEA MessageQ clients are allowed multiple active connections to IBM clients. However, a BEA MessageQ Client can have only one active connection to any one IBM client (see Figure 3-1). The LU6.2 Port Server provides context information when each connection is established, enabling the BEA MessageQ client to distinguish connections from each other.

It is the responsibility of the BEA MessageQ client to present the correct context information to the LU6.2 Port Server when using a previously established connection.

Multiple Connections for IBM Clients

IBM clients can initiate connections to multiple BEA MessageQ clients. However, any IBM Client can have only one active connection to any one target (see Figure 3-1). Because BEA MessageQ clients can register themselves with multiple target names, an IBM client can have multiple connections to a single BEA MessageQ client.

Security

Support for inbound conversation security is provided to those VTAM application programs that support this APPC feature, such as CICS. BEA MessageQ clients can present a user name, password, and profile when obtaining a connection through the LU6.2 Port Server.

The LU6.2 Port Server presents these values to the VTAM application program when allocating the conversation on behalf of the BEA MessageQ client.

Security File

Security support for inbound connection requests is provided through a security file. The file specifies which permanent processes are allowed to initiate an inbound connect request. You can create a security file with any text editor. Each record must have a group and queue number. A logical name in the LNM process table, DMQLU62$SECURITY_FILE, must be defined as the full path name of the security file. The file is read at Port Server startup, and only processes defined in this file are allowed to initiate inbound conversations. If no logical name is defined, no security checking will occur. A sample security file follows:

 ! Dmq LU62 Security File
! Group Queue
3 4
3 5
305 12

Figure 3-1 describes valid and invalid connections between the BEA MessageQ (SNA) and IBM (CICS) clients and partners. The invalid connections are the multiple connections (two or more) between two network partners.

Figure 3-1 Valid and Invalid BEA MessageQ and IBM Multiple Connections

Configuring the Port Server

When initialized, the LU6.2 Port Server builds two tables-LU_CONFIG and TARGET_CONFIG. These tables must contain the following information:

These tables are built by reading two text files, known as configuration files, which are identified by the following logical names:

The following two sections describe how to prepare the configuration files that the LU6.2 Port Server uses to build the LU and TARGET configuration tables.

Building the LU Configuration File

The LU configuration file defines the SNA resources required by the LU6.2 port server:

To create or edit the LU configuration file, type

$ edit DMQLU62$SERVER_LU_CONFIG

Note: In the LU configuration file, data items are delimited by spaces or tab characters; any text following data items is treated as comments; and lines beginning with an exclamation point (!) or an asterisk (*) are treated as comments.

Listing 3-1 presents the LU configuration file format.

Listing 3-1 LU Configuration File Format


!                  LU CONFIGURATION FILE 
! ======================
!
! LOGICAL NAME: DMQLU62$SERVER_LU_CONFIG
! FUNCTION: DEFINES ALL SNA RESOURCES FOR PORT SERVER
! FORMAT: FREE-FORM POSITIONAL, WHITESPACE DELIMITED
! LEADING WHITESPACE REMOVED BEFORE PROCESSING
! LINES BEGINNING WITH "!" OR "*" ARE COMMENTS
!
! FIELDS: LU_SYSTEM_ID UP TO 8 CHAR
! LU_GATEWAY UP TO 6 CHAR
! LU_ACCESS UP TO 8 CHAR
! LU_SESSION 3 NUMERIC, 0 = ANY
! LU_TYPE 2 NUMERIC (1,2 DEFINED)
!
!ALL TEXT FOLLOWING THE POSITIONAL FIELDS IS A COMMENT
!
! 4 LU DEFINITIONS INBOUND TO CICS ADDRESS SPACE 1
!
!LU_SYSTEM_ID LU_GATEWAY LU_ACCESS LU_SESSION LU_TYPE
CICS01 SNAGW1 DECLU62 0 1 LU FOR INBOUND USE TO CICS01
CICS01 SNAGW1 DECLU62 0 1 LU FOR INBOUND USE TO CICS01
CICS01 SNAGW1 DECLU62 0 1 LU FOR INBOUND USE TO CICS01
CICS01 SNAGW1 DECLU62 0 1 LU FOR INBOUND USE TO CICS01
!
! 2 INBOUND LUS FOR CICS 2
!
CICS02 SNAGW1 DECLU62B 0 1 LU FOR INBOUND USE TO CICS02
CICS02 SNAGW1 DECLU62B 0 1 LU FOR INBOUND USE TO CICS02
!
! 3 LU DEFINITIONS OUTBOUND FROM CICS ADDRESS SPACE 1
!
CICSOUT1 SNAGW1 DECLU62 200 2 LU FOR OUTBOUND USE FROM CICS01
CICSOUT1 SNAGW1 DECLU62 201 2 LU FOR OUTBOUND USE FROM CICS01
CICSOUT1 SNAGW1 DECLU62 202 2 LU FOR OUTBOUND USE FROM CICS01
!
! ONE OUTBOUND TRANSPARENT LU FOR IMS TO USE
!
IMSTRANS SNAGW1 DECLU62 210 3 TRANSPARENT OUTBOUND LU FOR IMS

! END 


The data items required to define each resource are described in Table 3-2.

Table 3-2 LU Configuration File Data Items

Data Item

Description

LU_SYSTEM_ID

The system ID that uniquely identifies all LUs with common characteristics. It is used to locate an entry in the LU configuration file when a connection request is received for a given destination (target). The entry in the TARGET_CONFIG configuration file for this destination uses the LU_SYSTEM_ID to identify the LU_CONFIG entries that can be used to create and manage connections to this target. See Building the Target Configuration File for more information. The LU_SYSTEM_ID can be used to reserve blocks of LUs for use by particular processes. The degree of port contention can be controlled by adjusting the number of entries in the block. To eliminate contention, make the size of the block equal to the number of concurrent connections required.

LU_GATEWAY

The SNA Gateway through which this LU is accessed.

LU_ACCESS

The SNA Gateway access name by which this LU is accessed.

LU_SESSION

The SNA Gateway session number. The session number is required for LU_TYPE 2 OUTBOUND and LU_TYPE 3 OUTBOUND TRANSPARENT connections (described next) because the specific session number is required to activate the specified sessions for use by VTAM. We recommend using the LU_TYPE 1 INBOUND session number connection to facilitate problem diagnosis.

LU_TYPE

The type of connection for which the LU is being reserved. Three types of connections are available:

1 = INBOUND The LU is used for communication with IBM transactions on demand, when requested by an OpenVMS process.

2 = OUTBOUND The LU is used for communication with OpenVMS transactions on demand when requested by an IBM process.

3 = OUTBOUND TRANSPARENT The LU is used for communication with OpenVMS transactions on demand when requested by an IBM process. Received data is not translated from EBCDIC data format to ASCII data format.

No LU can be used for both inbound and outbound traffic. This restriction prevents contention for resources between the LU6.2 port server and VTAM.

Building the Target Configuration File

The Target configuration file defines all valid destinations known to the LU6.2 Port Server. The file translates the target name that is known to the sender program into a name that is known by the receiver program. This isolates sender programs from changes in the receiver program system.

Target definitions include:

To create or edit this file, type

$ edit DMQLU62$SERVER_TARGET_CONFIG

Note: In the target configuration file, data items are delimited by spaces or tab characters; any text following data items is treated as comments; and lines beginning with an exclamation point (!) or an asterisk (*) are treated as comments.

Listing 3-2 presents the target configuration file format.

Listing 3-2 TARGET Configuration File Format


!                  TARGET CONFIGURATION FILE 
! =========================
!
! LOGICAL NAME: DMQLU62$SERVER_TARGET_CONFIG
! FUNCTION: DEFINES ALL SNA RESOURCES FOR PORT SERVER
! FORMAT: FREE-FORM POSITIONAL, WHITESPACE DELIMITED
! LEADING WHITESPACE REMOVED BEFORE PROCESSING
! LINES BEGINNING WITH "!" OR "*" ARE COMMENTS
!
! FIELDS: TARGET_NAME UP TO 8 CHAR
! TARGET_TPN UP TO 8 CHAR
! TARGET_SYSTEM_ID UP TO 8 CHAR
! TARGET_TYPE 1 NUMERIC (1,2,3,4 DEFINED)
! COMMUNICATION_TYPE 1 NUMERIC (1,2 DEFINED)
! DEALLOCATE_TYPE 1 NUMERIC (1,2 DEFINED)
!
! CICS TRANSACTION PROGRAM NAMES FOR INBOUND DUPLEX TRANSACTIONS TO CICS 01
!
! TARGET_NAME TARGET_TPN TARGET_SYS_ID TARGET_TYPE COMM_TYPE DEALLOC_TYPE
!
TRANS1 TRN1 CICS01 1 2 2 INBOUND TRANS 1
TRANS2 TRN2 CICS01 1 2 2 INBOUND TRANS 2
! ! THE SAME TRANSACTIONS ARE ALSO ON CICS 2
!
TRANS1A TRN1 CICS02 1 2 2 INBOUND TRANS 1

TRANS2A TRN2 CICS02 1 2 2 INBOUND TRANS 2
!
! TP NAMES TO BE ALLOCATED BY CICS
!
VX01 VX01 VAX01 2 OUTBOUND TRANS 1
VX02 VX02 VAX01 2 OUTBOUND TRANS 2
!
! INBOUND EXTENDED TARGET
!
!=====================+ !TRANSLATION!=!SYNC LEVEL!
TRANSIN TRN3 CICS02 3 2 2 0 1 No Translation

!
! OUTBOUND EXTENDED TARGET
!
!===================== !TRANSLATION!SEND OPT!PERM!GRP!QUEUE!
OUTPERM VX03 VAX01 4 1 1 0 1 1 1 10
! END


The data items required to define each destination are described in Table 3-3.

Table 3-3 Target Configuration File Data Items

Data Item

Description

TARGET_NAME

The target name as it is known to BEA MessageQ application programs. For IBM targets, this is the name that OpenVMS application programs provide in the CONNECT_REQUEST message. For OpenVMS targets, this is the name that OpenVMS application programs provide in the REGISTER_TARGET message.

Note: The CONNECT_REQUEST and REGISTER_TARGET messages are described in Port Server Connection Messages.

TARGET_TPN

The actual TPN known to the IBM system. The specific use varies as a function of TARGET_TYPE. For inbound targets, the TARGET_TPN is the IBM TPN as it is known to the VTAM application (CICS/VS or IMS/VS). For outbound targets, the TARGET_TPN is the TPN used by the IBM application program to allocate conversations with the LU6.2 Port Server.

TARGET_SYSTEM_ID

The LU_SYSTEM_ID used as a key when searching the LU configuration file for a valid entry to use in tracking the progress of the connection. For IBM targets, the LU_NAME in the selected LU configuration entry is used in the LU62_ALLOCATE message. For OpenVMS targets, the LU_SYSTEM_ID entry in the LU configuration file is used to store context information, but it does not contribute any information used in establishing the connection.

TARGET_TYPE

The method used to establish connections to the target. Valid values are:

  • 1 = INBOUND

    Inbound targets reside on IBM systems and are activated when application programs request connections to them. Inbound targets are nontransparent, which means that the LU6.2 Port Server translates messages sent to inbound targets from ASCII data format to EBCDIC data format.

  • 2 = OUTBOUND

    Outbound targets reside on any system connected to the BEA MessageQ message queuing bus. Outbound application programs must be registered with the LU6.2 Port Server for the target names that they support before conversation allocation from IBM application programs is accepted for those targets. Outbound targets are nontransparent, which means that the LU6.2 Port Server translates messages sent to outbound targets from the EBCDIC data format to ASCII data format.

TARGET_TYPE (cont.)

  • 3 = INBOUND EXTENDED

    Inbound extended targets reside on the IBM system and are activated when OpenVMS application programs request connections to them. If TARGET_TYPE is INBOUND EXTENDED, you must also indicate the TRANSLATE OPTION and SYNC LEVEL values.

    Note: You must specify these values after you specify the TARGET_NAME, TARGET_TPN, TARGET_SYSTEM_ID, TARGET_TYPE, COMMUNICATION_TYPE, and DEALLOCATE_TYPE.

    This means that you must specify the major TARGET_TABLE configuration file data items first, then you specify any additional TARGET_TYPE data items required. (See Listing 3-2 for clarification.) The TRANSLATE OPTION controls whether data translation service is provided for this target. Valid values are:

    0-Do not translate (transparent)
    1-Translate (nontransparent)

    The SYNC_LEVEL determines the synchronization level permitted on conversations with this target. Valid values are:

    0-SYNC_LEVEL=NONE
    1-SYNC_LEVEL=CONFIRM

TARGET_TYPE (cont.)

  • 4 = OUTBOUND EXTENDED

    Outbound extended targets reside on any system connected to the BEA MessageQ message queuing bus. Outbound application programs must be registered with the LU6.2 Port Server for the target names that they support before conversation allocation from IBM application programs is accepted for those targets.

    If the TARGET_TYPE is OUTBOUND EXTENDED, you must also indicate the TRANSLATE OPTION, the SEND OPTION, and whether it is a PERMANENT TARGET. If it is a PERMANENT TARGET, then you must indicate the PERMANENT GROUP and the PERMANENT QUEUE.

    Note: You must specify these values after you specify the TARGET_NAME, TARGET_TPN, TARGET_SYSTEM_ID, TARGET_TYPE, COMMUNICATION_TYPE, and DEALLOCATE_TYPE.

    This means that you must specify the major TARGET_TABLE configuration file data items first, then you specify any additional TARGET_TYPE data items required. See Listing 3-2 for clarification.

    The TRANSLATE OPTION controls whether data translation service is provided for this target. Valid values are:

    0-Do not translate (transparent)
    1-Translate (nontransparent)

TARGET_TYPE (cont.)

The SEND OPTION controls the DELIVERY MODE parameter used on pams_put_msg calls that write messages to the message queue currently registered for the target. Valid values are:

0 = PDEL_MODE_NN_MEM, PDEL_UMA_RISC
1 = PDEL_MODE_WF_MEM, PDEL_UMA_RISC
2 = PDEL_MODE_WF_DQF, PDEL_UMA_SAF

The PERMANENT TARGET value indicates whether this is a permanent outbound target. Valid values are:

0-This is not a permanent target
1-This is a permanent target

Note: If the PERMANENT TARGET value is set to 1, you must specify PERMANENT GROUP and PERMANENT QUEUE.

The PERMANENT GROUP specifies the BEA MessageQ group ID permanently registered for this target. The PERMANENT QUEUE value specifies the BEA MessageQ queue number permanently registered for this target.

COMMUNICATION_TYPE

The type of communication supported by the target. Valid values are:

1 = SIMPLEX The initiator of the conversation is always the sender program. The sender program and the receiver program cannot exchange roles.

2 = DUPLEX The initiator of the conversation is the initial sender program. The initial sender program can become the receiver program by exchanging roles with the remote partner program.

DEALLOCATE_TYPE

The partner that is allowed to deallocate the conversation. Note that only the partner in send state can issue a normal deallocate, regardless of the deallocate type. Valid values are:

1 = INITIATOR-ONLY Only the partner that initiated the conversation is allowed to deallocate the conversation.

2 = OPEN Either partner can deallocate the conversation when in the send state.

Configuring Inbound and Outbound Connections

The following tables provide the data that you must enter to properly configure inbound and outbound connections.

Configuring Inbound Connections

Use the following data to configure inbound connections (targets) supported by the LU6.2 Port Server. Table 3-4 lists the data items that you specify to configure inbound targets properly.

Table 3-4 Data Items for Configuring Inbound Targets

Data Item

Value

TARGET_NAME

The target name presented by the OpenVMS end client in the CONNECT_REQUEST message.

TARGET_TPN

The TPN of the IBM program as known to the VTAM application (CICS/VS or IMS/VS).

TARGET_SYSTEM_ID

The value of an LU_SYSTEM_ID in the LU_TABLE configuration file for an LU_TYPE 1 INBOUND LU as known to the VTAM application (CICS/VS or IMS/VS).

TARGET_TYPE

1 = INBOUND.

COMMUNICATION_TYPE

Specify 1 (simplex) if the BEA MessageQ client does not receive messages from the IBM system.

Specify 2 (duplex) if the BEA MessageQ client receives messages from the IBM system.

DEALLOCATE_TYPE

Specify 1 if the IBM client does not issue LU62_DEALLOCATE messages.

Specify 2 if COMMUNICATION_TYPE = 2 and the IBM client issues LU62_DEALLOCATE messages.

Configuring Outbound Connections

Use the following data to configure outbound connections supported by the LU6.2 Port Server. Table 3-5 lists the data items that you specify to configure outbound connections (targets) properly.

Table 3-5 Data Items for Configuring Outbound Targets

Data Item

Value

TARGET_NAME

The TARGET_NAME presented by the OpenVMS end client in the REGISTER_TARGET message.

TARGET_TPN

The OpenVMS TPN as it is known to the IBM end client.

TARGET_SYSTEM_ID

The value of an LU_SYSTEM_ID in the LU_TABLE configuration file for an LU_TYPE 1 INBOUND LU known to the VTAM application (CICS/VS or IMS/VS).

TARGET_TYPE

2-OUTBOUND.

COMMUNICATION_TYPE

Specify 1 (SIMPLEX) if the BEA MessageQ client does not send messages to the IBM system.

Specify 2 (DUPLEX) if the BEA MessageQ client sends messages to the IBM system.

DEALLOCATE_TYPE

Specify 1 if the BEA MessageQ client does not issue LU62_DEALLOCATE messages.

Specify 2 if COMMUNICATION_TYPE = 2 and the BEA MessageQ client issues LU62_DEALLOCATE messages.

Defining Logical Names

Two sets of logical names are provided for LU6.2 Services for OpenVMS. One set is provided for convenience in using and managing LU6.2 Services for OpenVMS by allowing easy access to the LU6.2 on-disk structure; the second set is used to set startup options in the LU6.2 Port Server.

Logical Names for the On-Disk Structure

The logical names used to access the LU6.2 Services for OpenVMS on-disk structure are as follows:

Logical Names for Port Server Control

The logical names used to control the LU6.2 Port Server are:

Managing the LU6.2 Port Server

This section describes the DCL command procedures and utility programs that are provided to start up, stop, and manage the LU6.2 Port Server.

Starting Port Servers

Run the DMQLU62_SERVER_STARTUP.COM procedure to start LU6.2 Port Servers. This command procedure is stored in DMQLU62$SERVER_EXE and performs the following functions:

The command format is:

@DMQLU62_SERVER_STARTUP Y que_id ps_id lu_config_file target_config_file

The command procedure takes the following arguments, all of which are optional:

Watching Events

Use the DMQLU62_EVENT_WATCH utility to watch the result of the LU6.2 Port Server initialization.

DMQLU62_EVENT_WATCH.EXE listens to the BEA MessageQ broadcast stream defined by the logical name DMQLU62$SERVER_BROADCAST_STREAM (if the logical name is not defined, it defaults to address 4801) and displays the event messages received on that stream.

The utility is stored in DMQLU62$SERVER_EXE and is defined as the foreign command DMQLU62_EVENT_WATCH by the DMQLU62_SERVER_STARTUP.COM procedure. The utility accepts a Stream MOT (Multipoint Outbound Target) address as the P1 command-line parameter. This allows multiple EVENT_WATCH programs in a single group to monitor different log stream MOTS. Therefore, when multiple Port Servers are run in a single group, each may be monitored by a separate EVENT_WATCH utility. The event watch display screen border shows the name of the log stream MOT on which it is listening. Pressing any key terminates the event watch utility after a 5-second delay.

The DMQLU62_SERVER_STARTUP.COM procedure starts the Event Watch program with a foreign command, and passes the defined MOT address as the P1 parameter.

When the Event Watch program is run interactively, it may be started by a run command or a foreign command. If started with a run command, the program translates the DMQLU62$SERVER_BROADCAST_STREAM if present or defaults to 4801 if absent. When started by a foreign command, the P1 parameter is used as the log stream MOT.

Defining Logical Names with DMQLU62_SERVER_LOGICALS.COM

Use the DMQLU62_SERVER_LOGICALS.COM procedure to define LU6.2 Port Server logical names.

The command format is:

@DMQLU62_SERVER_LOGICALS  device install_dir V40-VAX que_id ps_id lu_config_file target_config_file

The command procedure takes the following arguments:

Stopping LU6.2 Port Servers

Run DMQLU62_SERVER_STOP to stop LU6.2 Port Servers. The DMQLU62_SERVER_STOP utility program sends a SHUTDOWN message to a designated BEA MessageQ address.

The utility is stored in DMQLU62$SERVER_EXE and is defined as the foreign command DMQLU62_SERVER_STOP by the DMQLU62_SERVER_STARTUP.COM procedure. The utility takes two arguments: the BEA MessageQ group ID and the queue number of the LU6.2 Port Server to be stopped.

For example:

$ DMQLU62_SERVER_STOP  5 63

where 5 = group_ID and 63 = port_server_queue_number.