JANUS DEFINEREMOTE: Difference between revisions

From m204wiki
Jump to navigation Jump to search
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:JANUS DEFINEREMOTE}}
{{DISPLAYTITLE:JANUS DEFINEREMOTE}}
<span class="pageSubtitle"><section begin="desc" />Define remote port and characteristics for OPENSERV port.<section end="desc" /></span>
<span class="pageSubtitle">Define remote port and characteristics for OPENSERV port.</span>


This command associates a remote server with a Janus <var>OPENSERV</var> port and specifies characteristics of connections with that remote server.  
This command associates a remote server with a Janus <var>[[JANUS DEFINE#type|OPENSERV]]</var> port and specifies characteristics of connections with that remote server.  


See [[JANUS DEFINE]] for a discussion of when you need to issue the <var>JANUS DEFINE</var> command.
See <var>[[JANUS DEFINE]]</var> for a discussion of when you need to issue the <var>JANUS DEFINE</var> command.


==Syntax==
==Syntax==
<p class="syntax"><section begin="syntax" /> JANUS DEFINEREMOTE portname remotename host portnum [optional parms...]
<p class="syntax"><span class="literal">JANUS DEFINEREMOTE </span><span class="term">portname remotename host portnum </span><span class="squareb">[</span><span class="term">optional parms...</span><span class="squareb">]</span>
<section end="syntax" /></p>
<p class="caption">JANUS DEFINEREMOTE command syntax
</p>
</p>


Line 16: Line 14:
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>portname</th>
<tr><th>portname</th>
<td>The name of the Janus port(s) with which a remote server is being associated. Wildcard characters may be used in <var class="term">portname</var>, indicating that the remote server is associated with all previously defined <var class="term">SDS</var> or <var>OPENSERV</var> ports matching the pattern. There must be at least one previously defined <var class="term">SDS</var> or <var>OPENSERV</var> port matching <var class="term">portname</var>. Any ports which match <var class="term">portname</var> but have not yet been defined will not be associated with <var class="term">remotename</var>, even if they are subsequently defined.</td></tr>
<td>The name of the Janus port(s) with which a remote server is being associated. Wildcard characters may be used in <var class="term">portname</var>, indicating that the remote server is associated with all previously defined <var>SDS</var> or <var>OPENSERV</var> ports matching the pattern. There must be at least one previously defined <var>SDS</var> or <var>OPENSERV</var> port matching <var class="term">portname</var>. Any ports which match <var class="term">portname</var> but have not yet been defined will not be associated with <var class="term">remotename</var>, even if they are subsequently defined.</td></tr>
<tr><th>remotename</th>
<tr><th>remotename</th>
<td>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 <var class="product">[[Janus Open Server]]</var>, or another vendor's Open Server. Wildcard characters may not be used in the <var class="term">remotename</var> specification.</td></tr>
<td>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 <var class="product">[http://sirius-software.com/maint/download/josrvr.pdf Janus Open Server]</var>, or another vendor's ''Open Server''. Wildcard characters may not be used in the <var class="term">remotename</var> specification.</td></tr>
<tr><th>host</th>
<tr><th>host</th>
<td>The IP address or hostname for the device on which the server specified in <var class="term">remotename</var> is running.</td></tr>
<td>The IP address or hostname for the device on which the server specified in <var class="term">remotename</var> is running.</td></tr>
<tr><th>portnum</th>
<tr><th>portnum</th>
<td>The port number on which the server specified in <var class="term">remotename</var> is running.
<td>The port number on which the server specified in <var class="term">remotename</var> is running.
</td></tr>
<tr><th nowrap>optional parms</th>
<td>[[#Optional parameters|Optional parameters]].
</td></tr></table>
</td></tr></table>


''[[Janus Open Server]]'', Sybase Open Server, and SQL Server names '''are''' case sensitive. If you are using server names that contain lower case characters, execute a <var>*LOWER</var> before running the <var>JANUS DEFINEREMOTE</var>.  
<var class="product">Janus Open Server</var>, ''Sybase Open Server'', and ''SQL Server'' names '''are''' case sensitive. If you are using server names that contain lowercase characters, execute a <var>*LOWER</var> before running the <var>JANUS DEFINEREMOTE</var>.  


Valid abbreviations for <var>DEFINEREMOTE</var> are <var>DEFREM</var>, <var>DEFREMOTE</var> and <var>DEFINEREM</var>.
Valid abbreviations for <var>DEFINEREMOTE</var> are <var>DEFREM</var>, <var>DEFREMOTE</var> and <var>DEFINEREM</var>.
Line 35: Line 36:
===CHARSET xxx===
===CHARSET xxx===


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 <var>JANUS CHARSET</var> subcommand. The default character set is iso_1. <var>CHARSET</var> has no effect on the operation of any application in <var class="product">Model 204</var>. The name of the specified character set is simply forwarded to the target server for a ''[[Janus Open Client]]'' application. For further discussion, see <var>[[JANUS CHARSET]]</var>.  
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 <var>JANUS CHARSET</var> subcommand. The default character set is <code>iso_1</code>. <var>CHARSET</var> has no effect on the operation of any application in <var class="product">Model 204</var>. The name of the specified character set is simply forwarded to the target server for a <var class="product">[http://m204wiki.rocketsoftware.com/images/4/4a/JoclrNew.pdf Janus Open Client]</var> application. For further discussion, see <var>[[JANUS CHARSET]]</var>.


===INONLY===
===INONLY===


This parameter specifies that only incoming calls are allowed from this remote server, that is, <var class="product">Janus Open Client</var> applications which are running on <var class="term">portname</var> are not allowed to use <var>$DB_xxx</var> functions to connect with <var class="term">remotename</var>. The default is to allow connections both to and from the remote server. If a site does not have <var class="product">Janus Open Client</var>, <var>INONLY</var> is the default since outgoing connections cannot be established without <var class="product">Janus Open Client</var>.
This parameter specifies that only incoming calls are allowed from this remote server, that is, <var class="product">Janus Open Client</var> applications which are running on <var class="term">portname</var> are not allowed to use <var>$DB_xxx</var> <var class="product">Janus Open Client</var> functions to connect with <var class="term">remotename</var>. The default is to allow connections both to and from the remote server. If a site does not have <var class="product">Janus Open Client</var>, <var>INONLY</var> is the default since outgoing connections cannot be established without <var class="product">Janus Open Client</var>.


===LANGUAGE xxx===
===LANGUAGE xxx===
Line 47: Line 48:
===NOSITE===
===NOSITE===


This parameter specifies that an outgoing <var class="product">Janus Open Client</var> 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 <var>NOSITE</var> 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 <var class="product">Model 204</var> user IDs to Sybase user IDs, cannot be used on a client to server connection.  
This parameter specifies that an outgoing <var class="product">Janus Open Client</var> 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 <var>NOSITE</var> 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 <code>sp_addremotelogin</code> procedure, which normally can translate <var class="product">Model 204</var> user IDs to ''Sybase'' user IDs, cannot be used on a client to server connection.  


===OPTSITE===
===OPTSITE===


This parameter specifies that an outgoing (<var class="product">Janus Open Client</var>) connection can choose to not use a site handler by using the <var>NOSITE</var> parameter on the <var>[[$DB_OPEN]]</var> 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 an outgoing (<var class="product">Janus Open Client</var>) connection can choose to not use a site handler by using the <var>NOSITE</var> parameter on the <var class="product">Janus Open Client</var> <var>$DB_OPEN</var> call. That is, it can appear as a client to server rather than a server to server connection to the target server.  


===OUTONLY===
===OUTONLY===


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 <var class="product">Janus Open Server</var>, <var>OUTONLY</var> is the default since incoming connections cannot be handled without ''[[Janus Open 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 <var class="product">Janus Open Server</var>, <var>OUTONLY</var> is the default since incoming connections cannot be handled without <var class="product">Janus Open Server</var>.


===SITEACCT xxx===
===SITEACCT xxx===


This parameter specifies the <var class="product">Model 204</var> <var>ACCOUNT</var> for the site handler for the remote server. If no <var>SITEACCT</var> is specified the <var>ACCOUNT</var> for the user executing the <var>DEFINEREMOTE</var> command is used.
This parameter specifies the <var class="product">Model 204</var> <var>ACCOUNT</var> for the site handler for the remote server. If no <var>SITEACCT</var> is specified, the <var>ACCOUNT</var> for the user executing the <var>DEFINEREMOTE</var> command is used.


===SITEUSER xxx===
===SITEUSER xxx===
Line 79: Line 80:
==Janus remote server processing and examples==
==Janus remote server processing and examples==


Note that several of the optional parameters of <var>JANUS DEFINEREMOTE</var> use the term <var class="term">site handler</var>. One reason a remote port must be defined is to allow a <var class="product">[[Janus Open Server]]</var> port to accept requests from remote server host. A '''site handler''' is used for this purpose, and for <var class="product">Janus Open Client</var> communications to remote servers without the <var>NOSITE</var> parameter.  
Note that several of the optional parameters of <var>JANUS DEFINEREMOTE</var> use the term <var class="term">site handler</var>. One reason a remote port must be defined is to allow a <var class="product">Janus Open Server</var> port to accept requests from remote server host. A '''site handler''' is used for this purpose, and for <var class="product">Janus Open Client</var> communications to remote servers without the <var>NOSITE</var> 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 <var class="product">Model 204</var> 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 <var>TIMEOUT</var> seconds have elapsed the site handler also logs off. The site handler occupies an sdaemon thread and counts as a Janus connection.  
A site handler is an [[Sdaemons|sdaemon]] that performs the task of multiplexing logical user connections across a physical connection to a remote server. The site handler appears as a <var class="product">Model 204</var> 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 <var>TIMEOUT</var> 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 <var>TIMEOUT</var>, and all logical user connections to the remote server are lost. It is recommended that site handlers not be bumped.  
If a site handler is bumped, it is disconnected immediately irrespective of <var>TIMEOUT</var>, and all logical user connections to the remote server are lost. It is recommended that site handlers not be bumped.  
Line 87: Line 88:
The rest of this section contains several examples of <var>JANUS DEFINEREMOTE</var>.
The rest of this section contains several examples of <var>JANUS DEFINEREMOTE</var>.


<p class="code"> JANUS DEFINE AGENTS OPENSERV 4021 CMD 'MAILLIST'
<p class="code">JANUS DEFINE AGENTS OPENSERV 4021 CMD 'MAILLIST'
JANUS DEFREM AGENTS AGENTS_SQL_SERVER -
JANUS DEFREM AGENTS AGENTS_SQL_SERVER RS6000 3010 INONLY SITEUSER 'GHOST'
RS6000 3010 INONLY SITEUSER 'GHOST'
</p>
</p>


In the previous example the remote server <code>AGENTS_SQL_SERVER</code> is associated with port <code>AGENTS</code>. <code>AGENTS_SQL_SERVER</code> is running on a host name <code>RS6000</code> at port number 3010. <var>INONLY</var> specifies that the port cannot be used by <var class="product">Janus Open Client</var> functions. The site handler will appear as user ID <code>GHOST</code>. and will timeout 60 seconds after the last user connection terminates (using the default <var>TIMEOUT</var>). Each user connecting from the remote server is thrown directly into subsystem <code>MAILLIST</code> by the <var>JANUS DEFINE</var> command.
In the previous example the remote server <code>AGENTS_SQL_SERVER</code> is associated with port <code>AGENTS</code>. <code>AGENTS_SQL_SERVER</code> is running on a host name <code>RS6000</code> at port number 3010. <var>INONLY</var> specifies that the port cannot be used by <var class="product">Janus Open Client</var> functions. The site handler will appear as user ID <code>GHOST</code>. and will timeout 60 seconds after the last user connection terminates (using the default <var>TIMEOUT</var>). Each user connecting from the remote server is thrown directly into subsystem <code>MAILLIST</code> by the <var>JANUS DEFINE</var> command.


<p class="code"> JANUS DEFINE PRODUCERS OPENSERV 4022 -
<p class="code">*LOWER
CMD 'CONTACTS'
JANUS DEFINE PRODUCERS OPENSERV 4022 CMD 'CONTACTS'
JANUS DEFREM PRODUCERS big_shots RS6000 3030 -
JANUS DEFREM PRODUCERS big_shots RS6000 3030 SITEUSER 'CASPER'
SITEUSER 'CASPER'
JANUS START PRODUCERS
JANUS START PRODUCERS
&#42;UPPER
</p>
</p>


In this example we first set the session to mixed case with <var>*LOWER</var> to allow us to define a lower-case remote server name. Next we define the <var class="product">Janus Open Server</var> port <code>PRODUCERS</code> and associate it with port number 4022 and the subsystem <code>CONTACTS</code>. We designate the remote server (for incoming and outgoing connections) as a server named big_shots running on host <code>RS6000</code> at port 3030 with the site handler having <var class="product">Model 204</var> user ID <code>CASPER</code>. Then we start port <code>PRODUCERS</code>, making it available for connections.
In this example, the session is first set to mixed case with <var>*LOWER</var> to allow the definition of a lower-case remote server name. Next, the <var class="product">Janus Open Server</var> port <code>PRODUCERS</code> is defined and associated with port number 4022 and the subsystem <code>CONTACTS</code>. The remote server (for incoming and outgoing connections) is designated as server <code>big_shots</code> running on host <code>RS6000</code> at port 3030 with the site handler having <var class="product">Model 204</var> user ID <code>CASPER</code>. Then port <code>PRODUCERS</code> is started, making it available for connections.


<p class="code"> JANUS DEFINE DIRECTORS OPENSERV 4027 -
<p class="code">JANUS DEFINE DIRECTORS OPENSERV 4027 CMD 'WANNABE' MASTER UPCASE
      CMD 'WANNABE' MASTER UPCASE
JANUS DEFINEREMOTE DIR* lights_cameras_action RS6000 3037 SITEUSER 'ICHABOD' OUTONLY
JANUS DEFINEREMOTE DIR* lights_cameras_action -
JANUS START DIRECTORS
      RS6000 3037 SITEUSER 'ICHABOD' OUTONLY
JANUS START DIRECTORS
</p>
</p>


In this example we set the session to mixed case with <var>*LOWER</var> to allow us to define a lower-case remote server name. Next we define the <var class="product">Janus Open Server</var> port <code>DIRECTORS</code> and associate it with a port and subsystem. The port also acts as the <var>MASTER</var> port for <var class="product">Janus Open Client</var> connections and forces upper case translation of parameter names.  
In this example, session is set to mixed case with <var>*LOWER</var> to allow the definition of a lowercase remote server name. Next, the <var class="product">Janus Open Server</var> port <code>DIRECTORS</code> is defined and associated with a port and subsystem. The port also acts as the <var>MASTER</var> port for <var class="product">Janus Open Client</var> connections and forces uppercase translation of parameter names.
The remote server is designated as server <code>lights_cameras_action</code> running on host <code>RS6000</code> at port 3037 with the site handler having <var class="product">Model 204</var> user ID <code>ICHABOD</code>. The port allows only outgoing connections. Then port <var>DIRECTORS</var> is started, making it available for connections, and *UPPER status is reset.


We designate the remote server as a server named lights_cameras_action running on host <code>RS6000</code> at port 3037 with the site handler having <var class="product">Model 204</var> user ID <code>ICHABOD</code>. The port allows only outgoing connections. Then we start port <var>DIRECTORS</var>, making it available for connections, and reset *UPPER status.
<p class="code">JANUS DEFINE WRITERS_CONTRACT OPENSERV 4012 CMD 'UTILITIES' UPCASE
 
JANUS DEFINE WRITERS_INHOUSE OPENSERV 4013 CMD 'LOGOFF' UPCASE MASTER
<p class="code"> JANUS DEFINE WRITERS_CONTRACT OPENSERV 4012 -
JANUS DEFINEREMOTE WRITERS* SCRIBBLERS SPARC2 3013
    CMD 'UTILITIES' UPCASE
JANUS START WRI*
JANUS DEFINE WRITERS_INHOUSE OPENSERV 4013 -
    CMD 'LOGOFF' UPCASE MASTER
JANUS DEFINEREMOTE WRITERS* SCRIBBLERS SPARC2 3013
JANUS START WRI*
</p>
</p>


In the above example port <code>WRITERS_CONTRACT</code> is defined at port 4012 and <code>WRITERS_INHOUSE</code> defined at port 4013, and a remote server <code>SCRIBBLERS</code> is associated with both of them. <code>SCRIBBLERS</code> runs on host <code>SPARC2</code> at port 3013. Note that we don't specify <var>OUTONLY</var> on port 4013 but if any client attempts to connect, a <var>LOGOFF</var> command will execute, making this effectively a port for the exclusive use of <var class="product">Janus Open Client</var> applications front-ended within the <var class="product">Model 204</var> online.  
In the above example, port <code>WRITERS_CONTRACT</code> is defined at port 4012 and <code>WRITERS_INHOUSE</code> is defined at port 4013, and a remote server <code>SCRIBBLERS</code> is associated with both of them. <code>SCRIBBLERS</code> runs on host <code>SPARC2</code> at port 3013. Note that <var>OUTONLY</var> is not specified on port 4013, but if any client attempts to connect, a <var>LOGOFF</var> command will execute, making this effectively a port for the exclusive use of <var class="product">Janus Open Client</var> applications front-ended within the <var class="product">Model 204</var> Online.  


Port <code>WRITERS_CONTRACT</code> however will put externally front-ended clients into subsystem <code>UTILITIES</code>, and the <var>DEFINEREMOTE</var> definition will allow the <code>UTILITIES</code> application to access the same remote server as users going out on <code>WRITERS_INHOUSE</code>. 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 <var class="product">Model 204</var> online, and a workstation version accessing <var class="product">Model 204</var> over <var class="product">Janus Open Server</var> connections.
Port <code>WRITERS_CONTRACT</code> however will put externally front-ended clients into subsystem <code>UTILITIES</code>, and the <var>DEFINEREMOTE</var> definition will allow the <code>UTILITIES</code> application to access the same remote server as users going out on <code>WRITERS_INHOUSE</code>. 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 <var class="product">Model 204</var> online, and a workstation version accessing <var class="product">Model 204</var> over <var class="product">Janus Open Server</var> connections.


==References and links==
==See also==
See: [[List_of_Janus_commands|Janus command list]]
<ul>
<li>[[List_of_Janus_commands|Janus command list]]
</ul>
 
[[Category:Janus commands|JANUS DEFINEREMOTE]]
[[Category:Janus commands|JANUS DEFINEREMOTE]]

Latest revision as of 21:19, 14 October 2014

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.

Syntax

JANUS DEFINEREMOTE portname remotename host portnum [optional parms...]

Where each of the first four parameters is positional and required:

portname 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.
remotename 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.
host The IP address or hostname for the device on which the server specified in remotename is running.
portnum The port number on which the server specified in remotename is running.
optional parms Optional parameters.

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.

Optional parameters

The optional parameters are shown in the following sections.

CHARSET xxx

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.

INONLY

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.

LANGUAGE xxx

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.

NOSITE

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.

OPTSITE

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.

OUTONLY

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.

SITEACCT xxx

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.

SITEUSER xxx

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.

TIMEOUT xxx

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.

TRUST

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.

VERIP

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. 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.

Port 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.

See also