Multi serveurs de traitement

L’architecture ACE vous offre la possibilité de répartir votre activité sur plusieurs serveurs de traitement. En effet, l’activité générée nécessite souvent de disposer d’un serveur de traitement à la configuration matérielle de plus en plus importante (puissance du processeur, mémoire vive, …) pour supporter l’exécution simultanée de plusieurs traitements ACE.

Or, il est souvent plus profitable de disposer de plusieurs serveurs plutôt que d’un serveur unique « surpuissant ». Les solutions multi-serveurs (on parle aussi de mise en clusters) sont souvent moins onéreuses qu’une solution bi-serveur. Autre avantage, en cas de problème grave sur un serveur, les autres serveurs peuvent prendre le relais pour que l’application reste disponible.

Mais l’avantage premier est surtout de permettre l’exécution simultanée de traitements différés, programmés dans la même base sur différents serveurs de traitement.

Généralités

Architecture

L’architecture dite « Multi Serveurs ACE » se décompose au minimum de deux serveurs de traitement ACE et d’un serveur de données. Elle est administrée grâce à ACE MANAGER (depuis sa version 3.1).

Dans cette architecture, tous les serveurs de traitement doivent être équipés du même type de système d’exploitation.

Dans un tel environnement, il existe toujours un serveur « Maître», les autres serveurs étant « Non maître ».

Le serveur Maître sert de référent pour se connecter et administrer l’ensemble des éléments de l’architecture multi serveurs. Pour exemple, certaines fonctionnalités d’ACE Manager liées à la gestion de la base de données notamment, ne sont accessibles qu’au travers de l’environnement Maître.

Pour en savoir plus sur la mise en place d’une telle architecture, consultez la documentation de référence « Mise en œuvre du mode multi serveurs de traitement ».

Principes techniques

Les répertoires ap$spl et ap$log sont partagés et accessibles depuis tous les serveurs de traitement..

Il n’est pas possible de faire un « repository » de Multi serveurs ACE.

Le champ « srvtrt », apparaissant dans les tables UT_SOC et UT_FIL, contient un alias du serveur de traitement à utiliser ; la définition de l’alias étant également présente dans la table UT_CONFIG.

Attention

Pour les serveurs 64 bits, cette fonctionnalité est disponible à partir des versions d’Oracle 10.1.04.

Activation des traitements

Pour bien appréhender le mode multi serveurs de traitement, voici décrits succinctement les principes d’activation des traitements pouvant s’exécuter sur un serveur de traitement ACE.

Fonctions interactives

Les fonctions interactives sont démarrées via le menu principal ou un lanceur (depuis une page HTML via une applet sécurisée).

Elles activent sur le serveur de traitement un couple « serveur_rpc/bdd_serveur » (exemple : 10 Mo de RAM minimale par traitement en version 5.0-00 pour Windows 2003).

Les éditions directes (un traitement différé et son bdd_serveur) peuvent également être réalisées par le serveur_rpc sur ordre de son client.

Fonctions différées (batchs)

Ces traitements (le couple batch/bdd_serveur) sont activées sur le serveur de traitement par le scrutateur (uerp.exe). Cet outil permet en effet de scruter des tables de la base de données préalablement renseignées via les fonctions clientes en filtrant les requêtes par sociétés dites « en scrutation ».

Editions rapides (S2I)

Le Service d’impression immédiate (S2I) permet la prise en compte quasi instantanée d’une demande d’impression sans passer par le scrutateur.Une impression immédiate est un traitement différé qui est jugé rapide, il peut être assimilé à la notion d’édition directe implémentée dans ACE.

La demande d’édition rapide est réalisée depuis les fonctions ACE via un exécutable particulier (UERP). Ce traitement est pris en charge sur le serveur de traitement grâce à un paramétrage du fichier de configuration du serveur d’application (host et port d’écoute).

Répartition des différents traitements

Fonctions intéractives et éditions directes

Les fonctions intéractives et les éditions directes sont activées selon la valeur de la clé "Serveur Traitement" de la section [Systeme] du du fichier « Generix.ini » client. Ce paramètre permet en effet de répartir manuellement à l'installation l'activation sur les serveurs. Ce procédé est valable pour les activations par le menu classique, le lanceur et pour les éditions directes.

Ce paramétrage à prévoir à chaque installation n'est pas dynamique. En effet, la répartition d'un serveur TSE demande à dupliquer les répertoires contenant les fichiers « Generix.ini » client pour répartir les connexions vers les différents serveurs de traitement.

Il en effet possible, depuis la version 5.0-00 du socle Généat, de faire co-exister simultanément plusieurs instances "client TSE" d’ACE sur le même serveur (via la variable d'environnement « gnx_mul tix »).

Traitements différés

Voici les règles à prendre en compte pour définir votre stratégie de répartition :

  • la mise à jour du paramètre via ACE Manager,
  • la conservation possible des règles actuelles de fonctionnement des activateurs des éditions (UEXP et UERP ),
  • le passage simplifié en terme d'exploitation d'une stratégie de répartition à une autre sur un site,
  • l'ajout simplifié de nouvelles stratégies dans les prochaines versions du produit,
  • le refus de mixer différentes stratégies, cela risquant d'apporter une trop grande complexité au mécanisme de répartition.

Les critères de répartition retenus

  • la société logique depuis laquelle l'édition a été programmée.
  • la file de traitement d'exécution du traitement différé (batch). Cette donnée, souvent partagée entre toutes les sociétés, permet une répartition simplifiée lors du paramétrage des éditions. Elle fonctionne aussi efficacement pour les installations ne possédant pas plusieurs sociétés logiques.

Le stockage du paramétrage

Deux supports de stockage sont disponibles pour conserver le paramétrage de la répartition: le "Generix.ini' serveur et la base de données. La solution retenue est le stockage du mode et des critères de répartition dans la base, notamment pour les partager facilement entre les technologies Généat et eGX.

Pour les critères, le format de stockage du nom des machines reprendra le principe existant du DNS : l'utilisation d'une notation pointée convertie en interne pour les traitements en adresse IP. Ce champ est facultatif. Il n’est nécessaire qu'à l'activation de certains modes de répartition. Si les critères sont vides et que votre stratégie de répartition en exige, les traitements programmés ne sont jamais activés.

Le stockage du résultat des éditions

Le résultat des éditions de chaque serveur de traitement est regroupé dans un unique répertoire commun, hébergé ou non par un des serveurs. Même si ce fonctionnement vous oblige à créer des liens entre les serveurs, il permet d’éviter les risques d'écrasement de fichiers. Le nom du fichier reste unique.

La configuration des serveurs

Pour limiter les évolutions coûteuses de l'architecture générale d’ACE, la solution a été de conserver l'existence d'un scrutateur et d'un exécutable UERP par serveur de traitement et de ne pas faire communiquer les machines entre elles. Cette solution permet d'ailleurs de ne pas bloquer complètement l'architecture si l'un des serveurs est en panne.

Les process des serveurs de traitements se démarrent et s'activent donc comme en mode mono-serveur de traitement. Ce n'est que la méthode de sélection ou d'appel qui change.

Répartition des traitements différés

La répartition des traitements différés peut être réalisée :

  • par société,
  • par file d’attente.

Le champ « serveur de traitement » permet de saisir cette information dans les tables correspondantes.

Attention

La valeur à saisir correspond obligatoirement aux alias renseignés dans le paramétrage des environnements via ACE Manager.

Paramétrage par société

L’alias du serveur de traitement doit être renseigné pour l’ensemble des sociétés.

Le paramétrage par société s’effectue :

  • Par la fonction USOC de notre module client/serveur,
  • Par le portail I_TIESOC_F de notre module Web btoe.

Client/serveur

Par la fonction USOC :

Mode web

Par le portail I_TIESOC_F, onglet connexion :

Paramétrage par file d’attente

L’alias du serveur de traitement doit être renseigné pour l’ensemble des files d’attente de type Batch (B) et rapide (R).

Le paramétrage par file d’attente s’effectue en utilisant :

  • la fonction UFIL de notre module client/serveur,
  • le portail I_FIL_M de notre module Web btoe.

Client/serveur

Par la fonction UFIL :

Mode web

Par le portail I_FIL_M :