# Architecture web farm

## Aperçu

Pour permettre un plus haut niveau de performance et de disponibilité de l’application, il est possible d’installer WorkflowGen en architecture de type « web farm ». L’application est alors installée sur plusieurs serveurs, mais la base de données et le répertoire de stockage sont centralisés sur un serveur dédié.

Les requêtes des utilisateurs sont alors automatiquement dirigées vers des serveurs différents en fonction de la charge et de l’occupation des différents serveurs. Vous pouvez choisir parmi différentes méthodes d'équilibrage de charge (« load balancing ») telles que le DNS Round Robin ou l’installation d’un répartiteur de charge (« load balancer »).

## Configuration

### Prérequis

* WorkflowGen sur tous les serveurs Web
* Délocalisation et centralisation du répertoire de stockage des fichiers
* Dossier `WebForms` partagé pour tous les serveurs Web
* Configuration identique pour tous les serveurs WorkflowGen

### Répertoire de stockage

La délocalisation du répertoire de stockage est détaillée dans la section [Configuration de base](https://docs.workflowgen.com/tech-fr/9.1/configuration-avancee/broken-reference). Appliquez la configuration de base de ce chapitre avant de modifier la configuration de WorkflowGen.

### Configuration d’un dossier WebForms partagé

Si vous avez configuré plusieurs instances de WorkflowGen sur des serveurs Web différents dans une configuration web farm, vous devez partager le même dossier `WebForms` pour tous les serveurs. Pour ce faire :

1. Partagez votre dossier `WebForms`. Celui-ci peut être soit le dossier `WebForms` local de votre site WorkflowGen principal soit un dossier `WebForms` sur un serveur de fichiers en réseau.<br>
2. Si vous utilisez un serveur de fichiers en réseau et que vous avez du contenu dans le dossier `WebForms` de votre site WorkflowGen principal, nous vous suggérons de copier ce contenu au dossier `WebForms` partagé.<br>
3. Une fois le dossier partagé, copiez le chemin UNC.<br>
4. Procédez comme suit **pour chaque instance** de WorkflowGen :<br>
   1. Dans IIS, naviguez au dossier d’application `WebForms`.<br>
   2. Faites un clic droit sur le dossier, puis choisissez **Gérer une application / Paramètres avancés**.<br>
   3. Remplacez le chemin physique avec le chemin UNC que vous avez copié dans la troisième étape.<br>
   4. Ajoutez le paramètre `<add key="ApplicationWebFormsPath" value="" />` avec le chemin UNC comme valeur dans le fichier `web.config`.<br>
5. Assurez-vous que les permissions requises (modification, lecture et exécution, affichage du contenu du dossier, lecture, écriture) soient bien appliquées au dossier `WebForms` partagé pour le pool d’applications IIS utilisé par l’application `WebForms`.

### Configuration de WorkflowGen

Vérifiez que tous les serveurs Web présentent la même configuration pour l'application WorkflowGen et pour toutes les applications de workflow. Les fichiers `web.config` doivent tous être identiques.

Le service WorkflowGen Engine est un service Windows qui est installé avec WorkflowGen et devrait être exécuté à partir d'un seul serveur Web. Les autres serveurs devraient exécuter ce service uniquement comme réserve (« backup ») si le service principal devait faire défaut.

La sauvegarde des données et applications se fait de la même façon, sauf qu'elle influe uniquement sur le serveur de fichiers (pour les données de type fichier) et un serveur Web, puisqu'elles présentent des configurations identiques (en ce qui a trait aux applications).
