|
|
|
|
|
- Présentation
- Importance des sessions prélancées
- Principe d'une requête d'affichage d'une page AWP
- Intérêt des sessions prélancées
- Mise en place
- Les différentes étapes
- Activer la gestion des sessions prélancées
- Corriger les erreurs spécifiques aux sessions prélancées
- Activer les sessions prélancées sur le serveur
Une session prélancée est une session d'un site Web (ou d'un Webservice) lancée automatiquement sur le serveur Web depuis le Serveur d'Application WEBDEV. L'utilisation des sessions prélancées permet d'accélérer l'affichage des pages en effectuant par anticipation des traitements longs : connexions aux bases de données, chargement des configurations de pages, etc. Les sessions prélancées peuvent être utilisées avec : - les sites WEBDEV en mode Session,
- les sites WEBDEV AWP,
- les Webservices SOAP et les Webservices REST.
Nouveauté 2025Pour les Webservices, il est également possible d'utiliser le "recyclage des sessions prélancées".
Le mode de fonctionnement est identique dans tous les cas. Remarque : Les sessions prélancées sont autorisées uniquement sur le serveur illimité ou 10 connexions. Elles ne sont pas actives sur le poste de développement. Importance des sessions prélancées Principe d'une requête d'affichage d'une page AWP Pour comprendre l'importance des sessions prélancées (notamment pour les pages AWP), revenons un instant sur le principe des pages AWP. Lorsqu'un internaute effectue une requête à partir d'une page AWP, les opérations suivantes sont réalisées : - La requête est transmise du navigateur au serveur Web.
- Le serveur Web analyse la requête.
- Le serveur Web transmet la requête au Serveur d'application WEBDEV.
- Le Serveur d'application WEBDEV :
- charge le projet correspondant à la page.
- exécute le code d'initialisation du projet, puis le code de la page.
- renvoie la réponse au serveur Web.
- Le serveur Web renvoie la réponse au navigateur.
Intérêt des sessions prélancées Lors de l'affichage d'une page AWP, chaque appel au Serveur d'application WEBDEV est totalement indépendant. Conséquence : A chaque requête (et donc à chaque changement de page, chaque appel Ajax), le Serveur d'application WEBDEV recharge le projet et ré-exécute le code d'initialisation. Ce code d'initialisation du projet exécute souvent des opérations "longues" : - connexion à la base de données,
- chargement des fichiers de configuration,
- ...
Les sessions prélancées permettent de demander au Serveur d'application WEBDEV de faire ces opérations à l'avance, par anticipation. Ainsi, lorsque la requête de l'internaute arrive au Serveur d'application WEBDEV, le serveur d'application n'a plus qu'à exécuter la requête et envoyer le résultat. Les sessions prélancées présentent donc un bénéfice en temps de réponse puisqu'une partie du code est exécuté en avance. Cependant, les sessions pré-lancées ne réduisent pas la charge sur le serveur (le code étant tout de même exécuté) et ne remplacent pas l'optimisation des codes d'initialisation. Nouveauté 2025Option supplémentaire pour les Webservices : Dans le cas des Webservices, il est possible d'activer une option supplémentaire : le recyclage des sessions prélancées. Si cette option est activée : - A la fin de l'appel au Webservice, le Serveur d'application WEBDEV ne termine pas la session prélancée qui lui est associée.
- L'événement "Recyclage d'une session prélancée" associé au projet est alors exécuté. Cet événement peut par exemple ré-initialiser des variables ou des connexions spécifiques au client ayant appelé le Webservice.
- Le Serveur d'application WEBDEV se remet en attente de connexion au Webservice (en mode session prélancée).
Activer la gestion des sessions prélancées Pour activer la gestion des sessions prélancées : - Affichez la description de la configuration de projet (de votre site ou de votre Webservice) :
- Dans le volet "Explorateur de projet", sélectionnez la configuration voulue.
- Dans le menu contextuel, sélectionnez l'option "Description".
- Dans l'onglet "Options", cochez l'option "Activer les sessions prélancées sur le serveur d'application".
Nouveauté 2025Pour un Webservice, il est également possible d'activer le recyclage des connexions en cochant l'option "Activer le recyclage des sessions prélancées". - Validez. Le projet est recompilé.
Pour gérer les sessions prélancées, plusieurs événements sont associés au projet : - l'événement "Initialisation" du projet, exécuté avant l'arrivée de la requête sur le Serveur d'application WEBDEV. Ce code est exécuté lors du lancement de la session prélancée.
- l'événement "Initialisation lors d'une connexion à une session prélancée", exécuté lorsque le Serveur d'application WEBDEV traite la requête.
Nouveauté 2025l'événement "Recyclage d'une session prélancée" si le recyclage des sessions a été demandé pour la configuration de type Webservice".
Si votre configuration de projet utilise des sessions prélancées, certaines fonctions ne peuvent plus être utilisées dans le code d'initialisation du projet. Les erreurs correspondantes sont affichées dans le volet "Erreur de compilation". Rappel : Pour afficher le volet "Erreurs de compilation", sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Volets" puis "Erreurs de compilation". Corriger les erreurs spécifiques aux sessions prélancées Les erreurs des sessions prélancées indiquent les fonctions WLangage interdites dans l'événement "Initialisation" du projet. Pour corriger les erreurs spécifiques aux sessions prélancées, il suffit de déplacer le code correspondant dans l'événement "Initialisation lors d'une connexion à une session prélancée". Lorsque le site ou le Webservice est compatible avec le mécanisme des sessions prélancées, il est possible de le déployer et d'activer les sessions prélancées sur le Serveur d'application WEBDEV. La liste des fonctions ne devant pas être utilisées dans le code d'initialisation du projet sont les suivantes :
| | AnnuleContexteAWP | Supprime du contexte AWP une variable ajoutée par la fonction DéclareContexteAWP. | AnnuleContexteWebservice | Supprime du contexte du webservice une variable ajoutée par la fonction DéclareContexteWebservice. | ASPAffiche | Appelle un script ASP externe et renvoie la page résultat dans la fenêtre en cours du navigateur. | CertificatClientInfo | Renvoie des informations sur le certificat utilisé par le poste client. | ChaîneAffiche | Renvoie une chaîne spécifique (ou un buffer) sur le navigateur du client en réponse à la requête reçue. | ConfigureContexteAWP | Configure le mode de fonctionnement du contexte AWP. | Confirmer | Affiche un message dans une boîte de dialogue standard proposant les réponses "Oui", "Non", "Annuler" et renvoie la réponse de l'utilisateur. | ContexteFerme | Ferme un contexte de page. | ContexteOuvre | Ouvre un nouveau contexte de page sans renvoyer les informations vers le navigateur. | CookieLit | Récupère la valeur d'un cookie enregistré sur le poste de l'internaute. | DéclareContexteAWP | Permet de déclarer une liste de variables dont la valeur sera persistante entre les affichages successifs des pages AWP. | DéclareContexteWebservice | Permet de déclarer une liste de variables dont la valeur sera persistante entre les appels successifs à un Webservice. | ExécuteProcédureDifférée | Exécute une procédure différée (dans le serveur d'application WEBDEV). | FichierAffiche | Affiche un fichier sur le navigateur de l'internaute. | FramesetActualise | Actualise un frameset affiché dans le navigateur de l'internaute à partir du contexte présent sur le serveur. | FramesetAffiche | Affiche un frameset WEBDEV dans le navigateur de l'internaute. | FramesetUtilise | Affiche un frameset WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages et de framesets en cours. | GglConnecte | Permet de s'authentifier auprès d'un serveur Google (via le mode d'authentification "OAuth 2.0"). | gpwOuvre | Ouvre la fenêtre ou la page de login du groupware utilisateur. | IdentifiantContexteAWP | Renvoie l'identifiant du contexte AWP. | ImagePosX | Renvoie la position horizontale (X) du curseur de souris par rapport au champ Image considéré. | ImagePosY | Renvoie la position verticale (Y) du curseur de souris par rapport au champ Image cliquable considéré. | ImageZone | Renvoie le numéro de la zone de l'image cliquée par l'internaute. | LibèreContexteAWP | Libère de manière anticipée le contexte AWP (sur disque) pour permettre à d'autres appels sur le même contexte AWP d'être traités en parallèle. | NavigateurAdresseIP | Renvoie l'adresse IP du poste de l'Internaute connecté au site WEBDEV. | NavigateurNom | Renvoie le nom du navigateur de l'internaute ("user agent"). | NavigateurPlateforme | Retourne la plateforme du navigateur utilisée par l'internaute. | NavigateurType | Retourne le type du navigateur utilisé par l'internaute. | NavigateurVersion | Retourne la version du navigateur utilisé par l'internaute. | OKAnnuler | Affiche un message dans une boîte de dialogue standard proposant les réponses "OK" et "Annuler" et renvoie la réponse de l'utilisateur. | OuiNon | Affiche un message dans une boîte de dialogue standard proposant les réponses "Oui" et "Non" et renvoie la réponse de l'utilisateur. | PageActualise | Actualise une page affichée dans le navigateur de l'internaute à partir du contexte présent sur le serveur. | PageAffiche | Affiche une page du site dans le navigateur de l'internaute. | PageAfficheDialogue | Affiche une page de manière modale. Cette fonction permet de créer un dialogue avec l'utilisateur. La page est affichée devant et en arrière-plan se trouve la page ouvrante, grisée par le mécanisme de GFI. | PageFermeDialogue | Ferme la page courante. Cette page a été ouverte avec la fonction PageAfficheDialogue. Une valeur de retour peut être renvoyée à la page appelante. | PageParamètre | Renvoie la valeur d'un paramètre passé à la page en cours. | PageUtilise | Affiche une page WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages actuellement ouverts sur le serveur. | PHPAffiche | Appelle un script PHP externe et renvoie la page résultat dans la fenêtre en cours du navigateur. | rssAffiche | Construit un flux RSS et renvoie le contenu du flux RSS au client. | ScriptAffiche | Appelle un script ou une page externe (par exemple .php, .asp, .mhtml ou .mht) et renvoie la page résultat dans la fenêtre en cours du navigateur. | UploadCopieFichier | Enregistre sur le serveur un fichier "uploadé" par l'internaute. | UploadNomFichier | Renvoie le nom d'un fichier "uploadé" par l'internaute. Cet upload a pu être effectué : - via un champ de saisie de type "Upload".
- via un champ Upload monofichier ou multifichier.
| WebserviceAdresseIPClient | Renvoie l'adresse IP du poste utilisant et appelant le Webservice. |
Activer les sessions prélancées sur le serveur Pour activer les sessions prélancées pour un site ou un Webservice : - Lancez l'administrateur WEBDEV.
- Affichez l'onglet "Configuration".
- Cochez l'option "Autoriser les sessions prélancées.". Par défaut, tous les sites et webservices ont un nombre de sessions prélancées égal à 0.
- Sélectionnez le site ou le webservice à configurer (onglet "Sites" ou onglet "Webservices").
- Dans les paramètres du site (option "Paramètres" de l'onglet "Sites") ou du Webservice (option "Paramètres" de l'onglet "Webservices"), précisez le nombre maximum de sessions prélancées à utiliser.
- Validez.
Remarques : - Les sessions prélancées sont comptées dans le nombre total de connexions au site (ou au Webservice). Cette information doit être prise en compte lors du paramétrage du serveur d'application WEBDEV.
- Le nombre de sessions prélancées à définir dépend de l'utilisation du serveur et du nombre de requêtes.
- Quand un utilisateur se connecte (dans le cas d'un site en mode Session) ou affiche une page (cas d'un site AWP), le serveur d'application WEBDEV utilise une session prélancée de cette application s'il en existe une, sinon le serveur d'application WEBDEV lance une session normale (comme si le site n'avait pas de sessions prélancées).
- Le nombre de sessions prélancées disponibles est vérifié (par site) chaque seconde. Donc le nombre de sessions prélancées dépend du nombre de connexions (cas d'un site en mode Session) ou d'affichages de page (cas d'un site AWP) par seconde.
- Attention, il faut tenir compte du temps de lancement des sessions prélancées : si une session prend plus de une seconde à se (pré)lancer, le nombre de sessions prélancées effectivement disponible diminue.
Nouveauté 2025Cas des Webservices avec recyclage de sessions : - le recyclage de sessions n'est pas effectué en cas de problème (par exemple, erreur WLangage).
- le recyclage de sessions peut être effectué au maximum 200 fois. Au delà, le système habituel des sessions prélancées est utilisé.
- la fonction EnModeRecyclage permet de savoir si le code en cours d'exécution est exécuté depuis l'événement "Recyclage d'une session prélancée".
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|