Path
Fallback
Problem
If the primary path to a data source
fails to open there is a requirement to be able to specify an
alternative path and for that path to be accessed automatically in
the event of such a failure. The explicit use of ‘open’ proc
statements provides a partial solution to this problem. However, the
ability to specify at a configuration level one or more alternative
paths would be useful.
Solution
Path-to-driver assignments can be used
to define a sequence of fallback paths to be used to reach the
required information. If the initial path fails to open UNIFACE
tries to open the first alternative path specified. If the first
alternative path also fails to open UNIFACE tries to open the second
alternative path.
Example of Usage
A read only database located on a
server in Birmingham is accessed via a UNIFACE application to
provide management information. If the database in Birmingham
becomes inaccessible then a duplicate/standby database located on a
server in Manchester should be accessed instead. If the database in
Manchester becomes inaccessible then another duplicate/standby
database located on a server in Bristol should be used.
Method
In the following example, two
alternative paths are provided for the path $DEF;
[PATHS]
$DEF = TCP:birm|kaye|parrot
$DEF[1] = TCP:manc|kaye|?
$DEF[2] = TCP:bris|emu|general|?
If the logon to node ‘birm’ does
not succeed, UNIFACE will try to open the fallback path to ‘manc’.
A log on form will be presented for user ‘kaye’ on node ‘manc’.
If the user cannot log on to ‘manc’ or clicks on ‘Cancel’,
UNIFACE tries to open the second alternative path namely, to node
‘bris’.
The alternative paths must be numbered
sequentially, beginning with 1, and there must not be any gaps in
the sequence. No errors are reported if these rules are not
followed. There is no limit to the number of alternative paths that
can be specified.
Please note that it is only valid to
use the path fallback mechanism in path-to-driver assignments. The
target cannot be another path.
Note
This facility is supported from UNIFACE
Seven version 7.2.02 onwards.
|