XTND Tn3270 Server

Top  Previous  Next

XTND is a tn3270 server which allows standard tn3270 terminal emulators (i.e. IBM Personal Communicator (TM), Tn3270plus (TM), etc.) to connect XCICS applications.

System requirements

XTND is pure Java (TM) code so it may be run on every system supporting a Java Virtual Machine.

JRE 1.4 or higher is required.

General concepts

XTND purpose is to convert native XCICS protocol into tn3270 protocol. The XTND daemon can be run embedded in the XCICS region or as standalone service. When it is  embedded in the region, it only serves the region itself. When it runs standalone it can be executed on the same system running the XCICS application or on another system; in this case each instance may handle one or more XCICS regions.

When a terminal emulator connects XTND a terminal identifier is assigned to the session and a connection with the defined XCICS application is established. From this moment on the terminal emulator starts working with XCICS.

The assigned terminal identifier corresponds to the physical name of a terminal entry defined in the XCICS TCT (define terminal).

How XTND assignes terminal identifiers

In order to grant a correct terminal identifier assignment, terminal entries must be defined. Each terminal identifier must be qualified by a terminal name, which is the device name of a TCT entry. Optionally it may be related to the following constraints:

LU name

the LU name defined in the terminal emulator connection

Hostname/IP address

the hostname or IP address of the system where the terminal emulator runs

If LU name and/or Hostname/IP is defined for a terminal identifier, XTND checks if the incoming tn3270 connection satisfies this defined costraint. Therefore only the connections specifying the defined LU name and/or coming from the specified network address may be assigned to that terminal ID.

If terminal identifier is defined without any constraint may automatically assigned to every terminal emulator requiring a connection.

When a connection arrives, XTND performs the following steps:

1.looks for the first available terminal identifier which satisfies the constraints for the terminal: it searches for a terminal id bind to the incoming network address and/or to the incoming LU name, if the terminal emulator sent one
2.if not constraint-related identifier is found, it looks for the first available one without constraints
3.if no available term is detected, the connection is refused
4.if an available terminal id is found, XTND assigns it to the incoming connection and connects XCICS

Multiple applications

Standalone XTND instances may serve more than one application: by default terminals connect to application defined as default: if no application has the "default" parameter set to "true", the default application is the first one defined in the configuration file.

The switch from an application to another is controlled by the user programs, by means of the ISSUE PASS command.

Multiplex mode

XTND may run in two different mode:

multithreaded
multiplexed

In the first case each terminal connection is handled by a pool of thread, while in the second one there is one only thread handling all the connections.

Choosing between the two different modes depends on:

JVM implementation
system load
memory availability

Usage

Standalone XTND services are controlled by the script xtndctl. Following commands are supported:

start 

Starts up XTND daemon 

stop 

Stops XTND daemon 

status 

Shows the status of XTND and of the connected terminals

reset 

resets the terminal specified as parm 

tracelevel

Sets the XTND tracing level to the specified parm. Admitted values:

none
log
debug

Syntax

xtndctl [options] (start|stop|status|tracelevel|reset) [parm]

Options

-d

java vm debug mode

-f

foreground mode

-l<file>

specifies alternate log name

-c<file>

xbm start with specified configuration file