Un précédent billet décrivait les différentes étapes incontournables pour l'appel d'un webservice (SOAP ou API REST) :
Depuis l'utilisation des webservices ne cesse de prendre de l'ampleur. A partir de la version 2025, une nouveauté permet d'accélérer encore les appels. Il s'agit de la nouveauté 100 :
Voici comment en profiter !
Avant la version 2025, lorsque la procédure appelée par le webservice terminait son exécution, le processus WD*SESSION.EXE nécessaire à son exécution était définitivement terminé, donc avec de la consommation significative de ressources du serveur pour :
- l'arrêt complet du processus et le déchargement de toutes ses dépendances,
- relancer un processus WD*SESSION.EXE complet pour le prochain appel, ou pour créer une nouvelle session prélancée.
A partir de la version 2025 on peut donc demander à ne pas terminer le processus WD*SESSION qui exécute la procédure. Il suffit pour cela de cocher l'option "Activer le recyclage des sessions prélancées" dans la description de la configuration de projet qui permet de créer le webservice :
Lorsque le webservice sera déployé avec cette option, sur un serveur d'application 2025, lorsqu'un appel du webservice sera terminé :
- la procédure appelée retourne bien sur son résultat,
- mais ensuite le nouvel évènement "Recyclage d'une session prélancée" du projet est appelé :
Il permettra de libérer toutes les ressources qui ont pu être allouées dans le projet (déclaration de variables...), de libérer des enregistrements bloqués, de se déconnecter des bases qui ne seraient pas utiles au prochain appel. Par contre on pourra garder la connexion à une base de données ouverte si tous les appels au webservice l'utilise. De cette manière le serveur de données n'a plus à gérer les connexions / déconnexions qui pouvaient être provoqués par les arrêts / démarages des procesuss WD*SESSION.
- le processus n'est pas terminé, et va donc rester en attente d'un prochain appel au webservice et deviendra une session prélancée.
En évitant de décharger le processus complet et donc un rechargement complet pour un prochain appel, ou créer un nouvelle session prélancée, le gain peut être très important !
Astuce : le code de recyclage d'une session peut tout de même terminer le processus en cas de besoin, il suffit qu'il se termine par RENVOYER FAUX. |
|
< Retour
|
|
|
|
|
|