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
Construire une infrastructure cloud optimisée pour l’IA avec Microsoft Azure
Les managers IT ont besoin d’une stratégie claire et de solutions concrètes pour préparer leur infrastructure cloud à l'adoption de l'IA, tout en optimisant les coûts, renforçant la sécurité et développant les compétences internes. Découvrez tous les conseils dans ce guide Insight.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IoT et cybersécurité : les bases que chaque décideur doit maîtriser
- AWS re:Invent 2025 : décryptage des grandes innovations qui vont transformer le cloud
- Gouvernance et optimisation des dépenses logicielles : Comment éviter les pièges de la consommation?
- Du cloud hybride aux LLM : les technologies qui rebattent les cartes en 2026
- E-mail : les tendances qui vont s’affirmer en 2026
