Installation et personnalisation > Fonctionnement de Sage X3 People Portal 

L’application Sage X3 People Portal est une application Web de type Ajax. Elle propose aux salariés de l’entreprise un ensemble de fonctions liées aux ressources humaines accessibles au travers d’un navigateur Web.

Sage X3 People Portal permet de déporter une partie des fonctions RH auprès des salariés et des managers. Par exemple, les salariés peuvent gérer eux-mêmes la mise à jour de leurs données personnelles (changement d'état civil, naissance, etc.), ainsi que les demandes de congés, les notes de frais, etc.

De leur côté, les managers valident ces demandes grâce aux workflows et gagnent en visibilité en accédant aux plannings complets de leurs équipes.

L’accès aux fonctions nécessite au préalable une identification du salarié via la page de login. Les utilisateurs du portail sont gérés comme des utilisateurs Sage X3 (login, mot de passe) mais ils ne disposent pas nécessairement des droits leur permettant de se connecter à l’application avec un client standard.

Composants du portail

Les différents composants qui entrent en jeu dans l’application Sage X3 People Portail sont les suivants :

  • Le navigateur Web,
  • le serveur http (Apache),
  • le serveur Web (TomCat),
  • le serveur X3WEB.
1. Le navigateur Web

Le navigateur Web charge et exécute l’application cliente Ajax. Cette application est constituée d’un ensemble de fichiers Html, JavaScript, Css et images.

L’application Sage X3 People Portal est développée en JavaScript et s’exécute dans le navigateur Web. Cette application communique avec Sage X3 People via l’appel de Web services (requête http de type REST).
Comme toutes les applications Ajax, Sage X3 People Portal utilise un cookie session pour identifier l’émetteur des requêtes http. Il est donc obligatoire d’autoriser au minimum les cookies de type session pour le site Sage X3 People Portal.

2. Le serveur http (Apache)

Le serveur http reçoit et traite les requêtes http en provenance du navigateur Web en les redirigeant vers l’application Web Sage X3 WAS. La page de login utilise le mode sécurisé (https) pour encrypter les paramètres lors de l’appel du service de LOGIN. Les options HTTPS (all.apache.apacheportssl et all.apache.apacheportssl) doivent être activées dans les paramètres de la console.

3. Le serveur d'application Web (Tomcat)

Le portail est constitué des deux ‘Web applications’ suivantes.

L’application Web ‘Safe X3 WAS' ou XTEND

L'application 'Safe X3 WAS' gère la session utilisateur. Elle interprète et exécute les requêtes en provenance du navigateur, délivre les fichiers (html, JavaScript, Css, etc.) et gère la personnalisation.

L’application Web serveur de Web services

L'application Web serveur des Web services publie les sous-programmes ou objets X3 comme des services accessibles aux applications tierces via le protocole SOAP. L’application Sage X3 WAS communique avec le back-office X3 exclusivement au travers de l’appel de Web services.

L’application Sage X3 People Portal fonctionne uniquement si les Services Web sont opérationnels, c'est-à-dire s’ils ont été publiés et sont bien accessibles au travers d‘un ‘pool de web services’ qui pointe sur le dossier X3. Nous conseillons de tester le fonctionnement du serveur de Web service indépendamment du portail avant toute mise en oeuvre de Sage X3 People Portal.

4. Le serveur X3WEB

Le serveur X3WEB héberge le serveur http et les applications web.

Hébergement dans un seul serveur X3WEB

Dans ce cas, les applications ‘Sage X3 WAS’ et ‘Serveur de Web services’ peuvent communiquer via un ‘Bus interne’ optimisé qui évite de passer par le protocole SOAP/HTTP (voir paramètre ‘Bus Interne’ du ‘Site X3 WAS’). Cette configuration est la plus simple à administrer. Elle est conseillée pour un usage du portail en Intranet (sur le LAN de l’entreprise).

Hébergement dans deux serveurs X3WEB

Dans cette configuration se trouve un serveur X3WEB ‘FrontOffice’ qui héberge l’application ‘Sage X3 WAS’ et un serveur X3WEB dédié à la publication des Web services. Ces deux applications communiquent via HTPP/SOAP.

Cette configuration est recommandée pour un usage du portail en Extranet lorsque les utilisateurs accèdent au portail via Internet ou en dehors du LAN. Elle permet de ne pas exposer les services Web directement sur Internet et optimise la communication entre le serveur de Web services et le back-office X3. Il est conseillé d’installer le serveur X3WEB qui héberge l’application de Web services sur le même réseau LAN que le serveur X3 qui est généralement plus stable qu’une communication de type WAN.

Architecture

1. Application

application.png

2. Client

client.png

3. Communication inter-composants

intercomposant.png

Communication Sage X3 People Portal / X3

1. Pools de connexions

Chaque salarié connecté au portail dispose d’une session utilisateur Web gérée par le serveur X3WEB (Apache + TomCat + X3 WAS) mais ne dispose pas d’une session X3 (processus Adonix) dédiée. Il n’est en effet pas envisageable de créer autant de sessions X3 que de salariés de l’entreprise pour gérer la communication entre Sage X3 People Portal et l’application Sage X3 People.

La communication entre le portail et le serveur X3 est basé sur un ensemble de connexions X3 mutualisées pour tous les salariés. Cet ensemble de connexions est appelé ‘Pool de connexions’ ou ‘Pool de Web services’. Il est constitué d’un certain nombre de clients X3 (paramétrable via la console) qui sont en attente d’exécution de traitements.

Lorsqu’un utilisateur invoque un service X3, par exemple une demande de soldes de congés :

1. Le navigateur web émet une requête (http) à destination du serveur X3 WAS (XTEND).
2. XTEND détermine le ou les services X3 (sous-programme) à invoquer et s’adresse au serveur de web services pour les exécuter.
3. Le serveur de web services récupère les paramètres (JSON) et les transforme en paramètres X3 puis il s’adresse au ‘pool de connexions’ pour demander l’exécution du traitement. Pour effectuer la demande de traitement, le serveur empile la demande dans une pile de demandes (First In First Out – FIFO).
4. Le ‘pool de connexions’ lit la pile des demandes (peek) et cherche une connexion (client X3) libre pour la demande en attente.
5. Si une connexion est libre, il la réserve pour exécuter le traitement X3 (CALLIU). Il libère la connexion et dépile la demande lorsque l’exécution du traitement est terminée.
Dans le cas du portail Sage X3 People, le serveur de Web services fait un changement d’utilisateur avant exécution du traitement. Le login X3 et le mot de passe sont transformés en paramètre lors de l’appel du service par XTEND.
6. Si aucune connexion libre n’a été trouvée, la demande n’est pas dépilée et sera traitée lorsque qu’une connexion sera libérée.

2. Dimensionnement

Le dimensionnement du pool de connexions est déterminant pour obtenir des temps de réponse optimums. Il est très difficile d’estimer le nombre de connexions requises pour assurer une bonne fluidité dans la navigation du portail.

Les licences Web service sont considérées comme des clients X3 à part entière. Il faut donc dimensionner (configurer) la ou les machines qui hébergent le serveur X3 et le serveur de base de données en conséquence. Pour optimiser les temps de réponse il est conseillé d’installer le serveur X3WEB et le serveur X3 sur le même LAN. La charge désigne le nombre et les types d'utilisateurs, le périmètre fonctionnel déployé et le nombre de requêtes simultanées à traiter. La charge d’une application de type Portail RH Sage peut être calculée sur la base des paramètres suivants :

  • Les utilisateurs potentiels: nombre d'utilisateurs qui peuvent se connecter dans l’application.
  • Les utilisateurs simultanés actifs : nombre d'utilisateurs qui sont connectés dans l’application au même moment et qui sont en interaction avec le système. Ces interactions comprennent des fonctionnalités telles la validation de notes de frais, la validation de congés, la consultation des soldes, etc.
  • Les requêtes simultanées : nombre de requêtes générées au même moment par les utilisateurs simultanés actifs. Le nombre de requêtes simultanées est déterminé par le type d'utilisation selon la nature de fonctionnalités qu’ils exploitent et la fréquence avec laquelle ces utilisateurs interagissent avec le système.

Parmi ces paramètres, le nombre d'utilisateurs simultanés actifs et le nombre de requêtes simultanées sont cruciaux pour déterminer les ressources requises (taille du pool de connexion) et le dimensionnement des machines à prévoir pour répondre à la charge.

L'application Sage X3 People Portal

Sage X3 People Portal est composé des éléments suivants :

  • un site X3 WAS (Xtend),
  • un projet HTML,
  • un ensemble de Web services X3.
1. Le site X3 WAS (Xtend)

Le site XTEND est un ensemble de fonctions X3 qui décrivent les éléments utilisées par l’application Web.
Le site par défaut a pour identifiant SHRMPORTAL. Pour que les modifications des fiches 'site' soient prises en compte, cliquez sur le bouton [Valider] qui génère un fichier XML à destination du serveur X3WEB.

    Paramètres du site

    La fonction Sites Web (GESAYS) permet de saisir les paramètres généraux et avancés du site.

    Interfaces (Web services)

    La fonction Interface (GESAYI) décrit toutes les interfaces (Web services) entre le site (application web) et le back-office X3 Voir paragraphe Web services ci-dessous.

      Liste de valeurs

      La fonction Liste de valeurs (GESAYC) décrit les listes de valeurs (menus, list-boxes, groupe de radio) utilisées par l’application portail et permet la personnalisation des libellés.

      Validation

      La fonction Validation site web (AYTFCYGEN) valide et génère le dictionnaire XTEND à destination du serveur X3WEB. Cette opération est conseillée après chaque modification des paramètres du site.

      Profils

      La fonction Profils site Web (GESAYD) liste les profils utilisateurs de l’application portail (ADMIN, MANAGER, USER). L’administrateur doit créer un profil ‘Profil Safe X3 WAS’ par profil XTEND puis associer un ‘Profil Safe X3 WAS’ pour chaque utilisateur X3 du portail.

      2. Projet HTML

      Un ensemble de fichiers html, javascripts, css, images, sont chargés par le navigateur Web. Ils constituent l'application cliente Ajax Sage X3 People Portal, qui est chargée et exécutée par le navigateur. Ces fichiers sont stockés dans le dossier SOLUTION/DossierX3/X_TEND/SITEX3WAS.

      Par exemple : SOLUTION/dossiers/X3_PUB/DOSSIER/X_TEND/X_HTML/SITEX3WAS.

      Tous les fichiers du projet HTML doivent avoir au minimum les permissions en en lecture pour le compte utilisé pour installer le serveur X3.

      Chargement des fichiers

      Le chargement de ces fichiers par le navigateur (url) transite par le serveur X3WEB (application
      XTEND) qui joue le rôle de ‘Proxy’.

      Le serveur XTEND décode l’url, identifie les Solution/Dossier/Site, lit le fichier X3 dans X3_PUB (url) et renvoie le contenu au navigateur.

      Exemple d’url :

      http://serveurweb:port/xtend/datarh/remote/SOLUTION/DOSSIER/X_TEND/X_HTML/RECETTE/_rh/images/x3doc.png

      Tout serveur X3WEB sur lequel est publié le dossier de PAIE peut servir de ‘front-office Web’ pour le portail.

      3. Web services

      Ouvrez la fonction Web services (GESAWE) pour publier le service.

      Tous les Web services de type ‘Sous programme’ doivent être déclarés auparavant dans la fonction Sous-programmes (GESASU).