For the complete documentation index, see llms.txt. This page is also available as Markdown.

Web Farm Architecture

Overview

To allow higher availability and scalability, you can install WorkflowGen in a Web Farm architecture. The application is therefore installed on several servers, but the database and file storage directory are centralized on one dedicated server.

User requests are automatically routed to different servers depending on their load and availability. You can choose between different methods of load balancing such as DNS Round Robin or set up a hardware load balancer.

Configuration

Prerequisites

  • WorkflowGen on all web servers

  • File storage centralized in one location

  • Common WebForms folder for all web servers

  • Identical configuration on all WorkflowGen servers

File storage location

Apply the basic configuration explained in the Basic configuration section before modifying the WorkflowGen configuration.

Setting up a common WebForms folder

If you've configured multiple instances of WorkflowGen on different web servers in a Web Farm setup, you must share the same WebForms folder for all servers. To do this:

  1. Share your WebForms folder. This can be either your primary WorkflowGen site’s local WebForms folder, or a WebForms folder on a network file server.

  2. If you're using a network file server and you have content in your primary WorkflowGen site’s local WebForms folder, we suggest copying the content of this folder to the shared WebForms folder.

  3. Once you've shared the folder, copy the UNC path.

  4. Do the following for each instance of WorkflowGen:

    1. In IIS, navigate to the WebForms application folder.

    2. Right-click on the folder, then choose Manage Application / Advanced Settings.

    3. Replace the physical path with the UNC path you copied in step 3.

    4. Add the <add key="ApplicationWebFormsPath" value="" /> parameter with the UNC path as the value to the web.config file.

      ✏️ Note: This parameter is currently only used by the SOAP Web Service API to manage processes and requests with the built-in form designer enabled.

  5. Ensure that the required permissions (modify, read and execute, list folder contents, read, write) are correctly applied to the shared WebForms folder for the IIS application pool used by the WebForms application.

WorkflowGen configuration

Verify that all web servers have the same configuration for the WorkflowGen application and for all workflow applications. The \wfgen\web.config files must be identical.

The WorkflowGen engine service is a Windows Service that is installed with WorkflowGen and should only be run from one web server. The other servers should only run this service as a backup if the main service fails to run.

Data and application backup is done in the same way except that it only affects the file server (for file type data) and one web server since they have identical configurations (with regards to the applications).

Change events consistency

All WorkflowGen instances that share a database must have the same Change events configuration:

  • Use one integrity key per shared database, not one key per machine

  • Configure the same key on every web and engine service instance

  • Use the same mode on every web node, or capture will depend on load-balancer routing

  • Use the same positive retention value on every Engine Service node, or the shortest active policy can prune first

  • Deploy the same release binaries and the same three root rewrite rules everywhere

The settings in the Change events section in the Administration Module Configuration panel update one application configuration, not the farm-wide configuration service. Multiple concurrent web writers are supported; a dedicated audit-writing IIS node is not required.

For a rolling upgrade, first set the capture mode to Off before introducing mixed versions. Upgrade the shared database once, deploy all web and engine service nodes, and validate routes, key distribution, storage, and readiness. Keep application traffic paused until all nodes are running the same version. Then restore the previous Standard or Full mode, immediately verify integrity, and reopen traffic.

📌 Example

If one load-balanced web node remains set to Off while another is set to Standard, a user's mutation is captured or omitted according to the node selected by the load balancer. Keep the mode identical on every web node.

Last updated