Define remote port and characteristics for OPENSERV port.
This command associates a remote server with a Janus OPENSERV port and specifies characteristics of connections with that remote server.
See JANUS DEFINE for a discussion of when you need to issue the JANUS DEFINE command.
JANUS DEFINEREMOTE portname remotename host portnum [optional parms...]
Where each of the first four parameters is positional and required:
|The name of the Janus port(s) with which a remote server is being associated. Wildcard characters may be used in portname, indicating that the remote server is associated with all previously defined SDS or OPENSERV ports matching the pattern. There must be at least one previously defined SDS or OPENSERV port matching portname. Any ports which match portname but have not yet been defined will not be associated with remotename, even if they are subsequently defined.
|A 1-30 character name for the remote server to which this Janus port will connect and/or from which connections will be accepted. The remote server may be a Sybase SQL Server, a Sybase Open Server or Janus Open Server, or another vendor's Open Server. Wildcard characters may not be used in the remotename specification.
|The IP address or hostname for the device on which the server specified in remotename is running.
|The port number on which the server specified in remotename is running.
Janus Open Server, Sybase Open Server, and SQL Server names are case sensitive. If you are using server names that contain lowercase characters, execute a *LOWER before running the JANUS DEFINEREMOTE.
Valid abbreviations for DEFINEREMOTE are DEFREM, DEFREMOTE and DEFINEREM.
The optional parameters are shown in the following sections.
This parameter specifies the character set to use for this remote port, allowing override of either the default character set or the character set specified on the JANUS CHARSET subcommand. The default character set is
iso_1. CHARSET has no effect on the operation of any application in Model 204. The name of the specified character set is simply forwarded to the target server for a Janus Open Client application. For further discussion, see JANUS CHARSET.
This parameter specifies that only incoming calls are allowed from this remote server, that is, Janus Open Client applications which are running on portname are not allowed to use $DB_xxx Janus Open Client functions to connect with remotename. The default is to allow connections both to and from the remote server. If a site does not have Janus Open Client, INONLY is the default since outgoing connections cannot be established without Janus Open Client.
This parameter specifies the language to use for this remote port, allowing override of either the default language or the language specified on the JANUS LANGUAGE subcommand. The default language is us_english. LANGUAGE has no effect on the operation of any application in Model 204. For further discussion, see JANUS LANGUAGE.
This parameter specifies that an outgoing Janus Open Client connection is not to use a site handler, that is, it is to appear as a client to server rather than a server to server connection to the target server. Use of NOSITE makes it possible to connect to a remote server without the Janus port being defined to the that server; this is required for Microsoft SQL Server. When using Sybase or Omni SQL Server or Sybase Adaptive Server, the
sp_addremotelogin procedure, which normally can translate Model 204 user IDs to Sybase user IDs, cannot be used on a client to server connection.
This parameter specifies that an outgoing (Janus Open Client) connection can choose to not use a site handler by using the NOSITE parameter on the Janus Open Client $DB_OPEN call. That is, it can appear as a client to server rather than a server to server connection to the target server.
This parameter specifies that only outgoing calls to this remote server are allowed. The default is to allow connections both to and from the remote server. If a site does not have Janus Open Server, OUTONLY is the default since incoming connections cannot be handled without Janus Open Server.
This parameter specifies the Model 204 ACCOUNT for the site handler for the remote server. If no SITEACCT is specified, the ACCOUNT for the user executing the DEFINEREMOTE command is used.
This parameter specifies the Model 204 user ID for the site handler for the remote server. If no SITEUSER is specified the user ID for the user executing the DEFINEREMOTE command is used.
This parameter specifies the number of seconds without a logical connection after which the site handlers will log off and the connection to the remote server will be broken. The default TIMEOUT is 60 seconds.
This parameter permits the port to initiate a user session for an incoming user ID by performing a trusted login and ignoring the password. To minimize the security hole introduced by this parameter, the VERIP parameter should also be specified when TRUST is specified.
This parameter specifies validation of the IP address of the connecting remote server. This indicates that Janus should reject a connection attempt by the remote server if the IP address does not match either the IP address specified on the JANUS DEFINEREMOTE command or the IP address found by doing a DNS name lookup on the host name specified on the JANUS DEFINEREMOTE command. VERIP does not provide bullet-proof security because it is not a difficult task to spoof (fake) an IP address. Nevertheless, it is better than nothing and should certainly be used whenever the TRUST parameter is specified.
Janus remote server processing and examples
Note that several of the optional parameters of JANUS DEFINEREMOTE use the term site handler. One reason a remote port must be defined is to allow a Janus Open Server port to accept requests from remote server host. A site handler is used for this purpose, and for Janus Open Client communications to remote servers without the NOSITE parameter.
A site handler is an sdaemon that performs the task of multiplexing logical user connections across a physical connection to a remote server. The site handler appears as a Model 204 user the first time a logical connection is established with the remote server. The site handler remains logged on for as long as any logical connection exists. Then, after TIMEOUT seconds have elapsed the site handler also logs off. The site handler occupies an sdaemon thread and counts as a Janus connection.
If a site handler is bumped, it is disconnected immediately irrespective of TIMEOUT, and all logical user connections to the remote server are lost. It is recommended that site handlers not be bumped.
The rest of this section contains several examples of JANUS DEFINEREMOTE.
JANUS DEFINE AGENTS OPENSERV 4021 CMD 'MAILLIST' JANUS DEFREM AGENTS AGENTS_SQL_SERVER RS6000 3010 INONLY SITEUSER 'GHOST'
In the previous example the remote server
AGENTS_SQL_SERVER is associated with port
AGENTS_SQL_SERVER is running on a host name
RS6000 at port number 3010. INONLY specifies that the port cannot be used by Janus Open Client functions. The site handler will appear as user ID
GHOST. and will timeout 60 seconds after the last user connection terminates (using the default TIMEOUT). Each user connecting from the remote server is thrown directly into subsystem
MAILLIST by the JANUS DEFINE command.
*LOWER JANUS DEFINE PRODUCERS OPENSERV 4022 CMD 'CONTACTS' JANUS DEFREM PRODUCERS big_shots RS6000 3030 SITEUSER 'CASPER' JANUS START PRODUCERS *UPPER
In this example, the session is first set to mixed case with *LOWER to allow the definition of a lower-case remote server name. Next, the Janus Open Server port
PRODUCERS is defined and associated with port number 4022 and the subsystem
CONTACTS. The remote server (for incoming and outgoing connections) is designated as server
big_shots running on host
RS6000 at port 3030 with the site handler having Model 204 user ID
CASPER. Then port
PRODUCERS is started, making it available for connections.
JANUS DEFINE DIRECTORS OPENSERV 4027 CMD 'WANNABE' MASTER UPCASE JANUS DEFINEREMOTE DIR* lights_cameras_action RS6000 3037 SITEUSER 'ICHABOD' OUTONLY JANUS START DIRECTORS
In this example, session is set to mixed case with *LOWER to allow the definition of a lowercase remote server name. Next, the Janus Open Server port
DIRECTORS is defined and associated with a port and subsystem. The port also acts as the MASTER port for Janus Open Client connections and forces uppercase translation of parameter names.
The remote server is designated as server
lights_cameras_action running on host
RS6000 at port 3037 with the site handler having Model 204 user ID
ICHABOD. The port allows only outgoing connections. Then port DIRECTORS is started, making it available for connections, and *UPPER status is reset.
JANUS DEFINE WRITERS_CONTRACT OPENSERV 4012 CMD 'UTILITIES' UPCASE JANUS DEFINE WRITERS_INHOUSE OPENSERV 4013 CMD 'LOGOFF' UPCASE MASTER JANUS DEFINEREMOTE WRITERS* SCRIBBLERS SPARC2 3013 JANUS START WRI*
In the above example, port
WRITERS_CONTRACT is defined at port 4012 and
WRITERS_INHOUSE is defined at port 4013, and a remote server
SCRIBBLERS is associated with both of them.
SCRIBBLERS runs on host
SPARC2 at port 3013. Note that OUTONLY is not specified on port 4013, but if any client attempts to connect, a LOGOFF command will execute, making this effectively a port for the exclusive use of Janus Open Client applications front-ended within the Model 204 Online.
WRITERS_CONTRACT however will put externally front-ended clients into subsystem
UTILITIES, and the DEFINEREMOTE definition will allow the
UTILITIES application to access the same remote server as users going out on
WRITERS_INHOUSE. A configuration such as the one above shows how a similar Open Client access is made available to two versions of an application, a 3270 version running in the Model 204 online, and a workstation version accessing Model 204 over Janus Open Server connections.