Cluster Server Scenario

If you use WebOffice 10.9 SP1 in a cluster server scenario (failover or load balancing system), you have to centralize all relevant configuration files. This ensures that all nodes involved in this deployment scenario have read and write access to these files.

icon_comment

To use WebOffice 10.9 SP1 in a cluster server scenario, a separate license file must exist for each hardware ID. The corresponding license files must then be named as follows: license.properties, license.properties2, license.properties3, ... For licensing the additional cluster instances please contact VertiGIS (keycode-weboffice@vertigis.com).

 

In order to work correctly, WebOffice 10.9 SP1 needs a corresponding configuration_path directory that all nodes involved in this scenario can access. Navigate to C:\Tomcat\webapps\<WebOffice application>\WEB-INF\web_user.xml and open the XML file in a text editor (e.g. Notepad++). Within this file, such a central directory can be configured by replacing the placeholder /WEB-INF/classes/configuration with file paths containing logical drive names (for example O:\WebOffice\configuration_path) or with UNC paths (for example \\SANNodeName\WebOffice\configuration_path).

 

Configuring the "web_user.xml"

Configuring the "web_user.xml"

 

icon_comment

Please consider that the web_user.xml must be configured equally on all nodes involved in this scenario.

Changes to the web_user.xml only take effect when the WebOffice 10.9 SP1 application is reloaded.

After a WebOffice upgrade, the folders and files of the configuration-path directory must be replaced in the centralized location with the respective folders and files of the current WebOffice release. For all customer-specific files (project configurations, application configuration, license) an appropriate backup must be created before so that these files can be stored centrally again after the update.

 

When using a load balancer, make sure that the affected WebOffice 10.9 SP1 output directories are linked to a central location. This ensures that the required content can be searched in all participating directories. Links to Windows servers can be implemented very easily with Mklink. In addition to the output directories just mentioned before, this must also be done for the following folders of the \work directory:

 

archive

fulltextsearch

geo_bookmarks

gui_events

multilang_legend

profiles

state

truststore

upload

user_queries

 

Use the script WebOffice_Cluster_Deployment_General.zip to automate all required symbolic links. However, before this script can be used properly, the following points must be done manually:

 

1.Make sure that the target directories for the respective folders already exist

2.Cut out the contents of the local archive folder and paste it into the desired target directory

3.Cut out the contents of the local fulltextsearch folder and paste it into the desired target directory

4.Cut out the contents of the local geo_bookmarks folder and paste it into the desired target directory

5.Cut out the contents of the local gui_events folder and paste it into the desired target directory

6.Cut out the contents of the local multilang_legend folder and paste it into the desired target directory

7.Cut out the contents of the local profiles folder and paste it into the desired target directory

8.Cut out the contents of the local state folder and paste it into the desired target directory

9.Cut out the contents of the local truststore folder and paste it into the desired target directory

10.Cut out the contents of the local upload folder and paste it into the desired target directory

11.Cut out the contents of the local user_queries folder and paste it into the desired target directory

12.Cut out the contents of the local output folder and paste it into the desired target directory

13.Make sure that the local folders mentioned above are empty

14.Open the script in a text editor (e.g. Notepad++) and set the current paths for the following parameters:

 

Adjustments in the script "cluster_deployment_mklink.bat"

Adjustments in the script "cluster_deployment_mklink.bat"

 

In some scenarios it is necessary to set the physical path credentials for the virtual directory of the WebOffice output directory in the IIS manager for a specific user (ideally the user under which the Apache Tomcat service is running). Otherwise, image files stored in the WebOffice output directory may be displayed incorrectly in the map image as well as on the printout.

wo_concept_Cluster_Server_Support5

 

icon_comment

Please consider that all placeholders must be replaced before the script can be executed properly. The correct path must be entered without <>.

The script must be run as an administrator on all nodes involved in this scenario.

The creation of symbolic links and thus the execution of this script must be performed on all nodes involved in this scenario after each WebOffice upgrade.

Please consider that in such a cluster server scenario the corresponding ArcGIS Server output directories must also be stored centrally. It must also be ensured that both ArcGIS Server nodes have equal access to the target directory.

After executing the script, make sure that all links work correctly. If a link was set but the destination folder does not exist, serious problems with the WebOffice application may occur!

 

Statistics

The statistics files that are stored and archived in the \work directory are a special case when using a load balancer. To enable a correct evaluation of the statistics files of all nodes involved in this scenario in SynAdmin, the symbolic links (Mklink) no longer have to be created on a central share, but between the affected nodes. This applies to the current statistics files (CSV) as well as to the statistics folder:

 

Symbolic links of the statistics files between the affected nodes

Symbolic links of the statistics files between the affected nodes

 

 

Use the script WebOffice_Cluster_Deployment_Statistics.zip to automatically create all required symbolic links for the statistics. However, before this script can be used properly, you have to define a few more parameters. Open the script in a text editor (e.g. Notepad++) and set the current paths for the following parameters:

 

Adjustments in the script "cluster_deployment_statistics.bat"

Adjustments in the script "cluster_deployment_statistics.bat"

 

icon_comment

Please consider that all placeholders must be replaced before the script can be executed properly. The correct path must be entered without <>.

The script must be run as an administrator on all nodes involved in this scenario.

The creation of symbolic links and thus the execution of this script must be performed on all nodes involved in this scenario after each WebOffice upgrade.

 

This should enable each node involved in this scenario to create its own statistics files when using a load balancer, but in SynAdmin to evaluate all (and thus also the files of the other nodes). For a SynAdmin request for calculating a statistics evaluation, the activated log category UTIL can be used to show which files were imported for this request and whether invalid lines were found in these files:

 

#2018-07-25 12:20:21,206 DEBUG [http-nio-8080-exec-2            ]                                  E53676D3B82AF535AE82D7587C67A833 2374940                  
timed action (Filtering the tracking log files using filter d[( REQUEST  = GET_INIT AND DATE <='2018-07-25 )]), duration (ms):
       |        | loading all files with statistics data from the directory C:\Tomcat\webapps\WebOffice106R2\WEB-INF\work...                                                                                              
       |        | FILE                 | FOLDER          | DATA SOURCE            | VALID ROWS | HEADER ROWS | SKIPPED INVALID ROWS
       |        | ----                 | ------          | -----------            | ---------- | ----------- | --------------------
6       | 6      | WebOffice_180724.csv | work/statistics | cached data            | 440        | 2           | 0                  
8       | 2      | WebOffice2.csv       | work            | read freshly from file | 61         | 1           | 0                  
10      | 2      | WebOffice.csv        | work            | read freshly from file | 62         | 3           | 0                  
       |        | 10 rows selected                                                                                                                                                          

 

icon_cross-reference

Further information on the calculation of statistics evaluations in SynAdmin can be found in the chapter Statistics Tab.

Further information on logging in SynAdmin can be found in the chapter Logging Tab.

 

icon_comment

To reload the application with the project configurations, it is necessary to explicitly reload each node of the cluster. If you only perform the reload on the logical node of the cluster, a status change is only triggered on one node of the cluster (there is no automatic distribution of the status change of the application).