  Summary on the new configuration resources for NCBI network clients
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      By Denis V. Vakatov NCBI/NLM/NIH (vakatov@ncbi.nlm.nih.gov)


Due to the recent works on the old NCBI dispatcher replacement
I introduced some new resources which affect the new NCBI network
client functionality.

Supported network interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SRV_CONN_MODE -- to specify which one of the now available network
                 interfaces should be used.
Value:
   DISPATCHER -- old NCBI dispatcher
   WWW        -- Web-based dispatcher in the stateful connection mode [default]
   FIREWALL   -- just like "WWW" but the data connection goes through the NCBI
                 firewall daemon that listens at one of well-known hosts/ports
   STATELESS  -- Web-based dispatcher in the stateless connection mode
   DEBUG      -- direct client-to-server connection(bypass dispatchers)


Resources for WWW, FIREWALL and STATELESS interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SRV_ENGINE_****:  to compose URL of the NCBI HTTP-based dispatcher
[default = http://www.ncbi.nlm.nih.gov:80/Service/nph-dispd.cgi]

SRV_ENGINE_HOST:  [default = www.ncbi.nlm.nih.gov]
SRV_ENGINE_PORT:  [default = 80]
SRV_ENGINE_URL:   [default = /Service/nph-dispd.cgi]


SRV_PROXY_****:  to connect via a CERN-like proxy server
[default = n/a]

SRV_PROXY_HOST:         [default = n/a]
SRV_PROXY_PORT:         [default = 80]

SRV_PROXY_TRANSPARENT:  [default = "no"]
Value:
   "1", "yes", "true" (case-insensitive) -- transparent CERN-like proxy
   otherwise -- non-transparent [default]

Notes:
 1) SRV_PROXY_PORT has no sense if SRV_PROXY_HOST is not specified
 2) If SRV_PROXY_HOST is set in WWW mode then auto-switch to FIREWALL mode


SRV_DEBUG_PRINTOUT:  to printout messages sent by dispatcher when
                     establishing client-server connection
Value:
   "1", "yes", "true" (case-insensitive) -- do printout
   otherwise -- do not printout [default]


SRV_NO_LB_DIRECT:  to prohibit the use of local load-balancing daemon
Value:
   "0", "false", "no" (case-insensitive) -- do not use local load-balancing
   otherwise -- try to use local load-balancing [default]


SRV_CONN_TIMEOUT:  to set timeout for the connection establishment
Value:
   a positive integer or floating-point value(in sec.)  [default = 30]


SRV_CONN_TRY:  maximum number of attempts to establish the connection
Value:
   a positive integer  [default = 3]


Resources for DEBUG interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

NI_DEBUG_HOST:  the server host to connect to
Value(mandatory):
   smth. like "123.45.67.89" or "mysrvhost" or "xxx@yyy.zzz.gov"

NI_DEBUG_PORT:  the server port to connect to
Value(mandatory):
   a positive integer

NI_DEBUG_TRY:  maximum number of attempts to establish the connection
Value:
   a positive integer [default = 2]


How to set the resource values
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The above resource values can be set either by using the NCBI resource
(configuration) file or (on UNIX, MS Windows and VMS) by setting relevant
environment variable.  The environment variable overrides the value
set in the NCBI resource file.

[NET_SERV]
SRV_CONN_MODE
SRV_DEBUG_PRINTOUT
SRV_NO_LB_DIRECT
SRV_CONN_TIMEOUT
SRV_CONN_TRY

[ENTREZ_NET]
NI_DEBUG_HOST
NI_DEBUG_PORT
NI_DEBUG_TRY


For example, in order to set the connection establishment timeout to
12.345 sec. you should set environment variable:

UNIX csh:
   setenv SRV_CONN_TIMEOUT 12.345
UNIX sh, bash:
   SRV_CONN_TIMEOUT=12.345
   export SRV_CONN_TIMEOUT
DOS prompt:
   set SRV_CONN_TIMEOUT=12.345

or, in the NCBI configuration file:

   [NET_SERV]
   SRV_CONN_TIMEOUT=12.345


NOTES
~~~~~

1. STATELESS connection mode is usually not available for the distributed
applications. It is hardcoded to be unavailable unless "ni_lib_.c"
module is compiled with the "-DALLOW_STATELESS" flag.

2. The local LOAD-BALANCING is *never* available for the distributed
applications. It is hardcoded to be unavailable unless "ni_lib_.c"
and "lbapi.c" modules are compiled with the "-DLB_DIRECT" flags, on
Solaris or IRIX. Then, the client must run on the host that:
a) belongs to one of NCBI subnets and
b) has "lbdaemon"(load-balance daemon) application running on it.

$Date: 1998/12/15 17:40:51 $
