Le terme « groupes d’activation » est peu évocateur, a une résonance technique, et est un peu intimidant ! IBM aurait peut-être dû parler de « troupeaux de programmes ». On aurait alors imaginé des programmes informatiques parcourant les plaines herbeuses, se regroupant pour survivre, vivant ensemble et mourant ensemble. Mais peut-être suis-je un peu trop amateur de westerns. Plus prosaïquement, dans cet article, j’explique ce que sont les groupes d’activation et leur mérite pour un programmeur RPG.
Groupes d’activation : premier aperçu
Au bon vieux temps, si l’on voulait écrire des programmes RPG modulaires, on appelait un autre programme. Celui-ci se terminait avec l’indicateur LR désactivé afin que les fichiers restent ouverts et que le programme reste en mémoire. Cela accélérait les appels suivants parce que le programme n’avait pas à réouvrir les fichiers ni à réinitialiser ses variables. Quand c’était terminé et qu’on ne voulait plus appeler à nouveau le programme, il fallait bien trouver le moyen d’y mettre fin. A cet effet, le RPG/400 avait le code opération FREE, qui désactivait un programme. Mais on l’utilisait peu parce qu’il ne fermait pas les fichiers ou qu’il ne déverrouillait pas les zones de données. Il se contentait de décharger le programme lui-même. Le contournement consistait à appeler le programme avec un paramètre spécial qui ordonnait au programme d’activer LR puis de se terminer normalement. Comme LR était activé, le programme fermait ses fichiers dans les règles quand il se terminait.
Certes, cela fonctionnait, mais à quel prix ! Il fallait suivre chaque programme appelé, pour pouvoir revenir et le fermer quand on avait fini. Et si ce programme n’était pas écrit en RPG c’était encore pire. Les autres langages ne connaissaient pas LR, donc vous ne pouviez pas le faire de la même manière. En fait, il n’était pas possible de laisser actifs certains langages avec leurs fichiers ouverts, quoi que l’on fît.
Il était donc incommode d’écrire des programmes modulaires. On essayait bien sûr de mettre le plus de fonctionnalités possible dans chaque programme, afin qu’il y ait le minimum de programmes à désactiver à la fin. Cela rendait ces programmes moins réutilisables et plus compliqués à appeler. On évitait souvent les appels de langages croisés parce qu’ils étaient incommodes. IBM a conçu ILE pour encourager la programmation modulaire et les appels de langages croisés. Les groupes d’activation constituent la solution.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La connectivité, nouvelle colonne vertébrale de l’expérience en magasin
- Assises de la Sécurité 2026 : osons remettre l’humain au centre et reprendre les commandes
- Réforme de la facturation électronique 2026 : de la contrainte réglementaire à un véritable enjeu différenciant
- IA : la sécurité se prépare aux accès agentiques
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
