Chaque programme ILE et programme de service s’exécute dans un groupe d’activation. Quand on crée un programme de service, il faut songer au groupe d’activation dans lequel il pourra s’exécuter. Dans l’exemple cidessus, nous avons utilisé le *CALLER spécifié pour la commande CRTSRVP GM, c’est-à-dire le même que le groupe
Choisir le groupe d’activation
par défaut de la commande. On dispose d’un triple choix en groupe d’activation :
- *CALLER (défaut pour la commande CRTSRVPGM)
- Un nom utilisé par plusieurs programmes de service
- Un nom unique utilisé par un seul programme de service
Avec *CALLER, le programme de service s’exécutera dans le même groupe d’activation que celui auquel appartient l’appelant. Chaque groupe d’activation différent aura sa propre instance de stockage statique et sa propre instance de fichier ouvert pour les éventuels fichiers ouverts par le programme de service.
En utilisant *CALLER, on permet au système de réutiliser un groupe d’activation existant quand un programme se lie à votre programme de service, plutôt que de passer du temps à créer un nouveau groupe d’activation. On s’assure également ainsi que le groupe d’activation utilisé par le programme de service ne sera jamais récupéré (reclaimed) avant le groupe d’activation utilisé par les programmes qui utilisent le programme de service. Le système doit initialiser chaque module du programme de service, une fois pour chaque groupe d’activation.
(Avertissement : Si votre programme de service s’exécute dans *CALLER et si son programme appelant fait de même, et si vous appelez le programme à partir de la ligne de commande, votre programme de service s’exécutera dans le groupe d’activation par défaut. Ce n’est pas forcément gênant, à une réserve près : si le programme de service a des fichiers ouverts et si vous utilisez la commande RCLRSC (Reclaim Resources), le système fermera les fichiers mais le programme de service restera actif, croyant que les fichiers sont encore ouverts. Par la suite, le prochain appel d’une procédure dans le programme de service risque d’échouer avec MCH3402 quand il essaiera d’accéder à un fichier qu’il croit ouvert.)
L’utilisation d’un groupe d’activation nommé fait que le programme de service s’exécutera dans le même groupe d’activation, indépendamment du groupe d’activation dans lequel son appelant opère. Il n’y aura qu’une instance du stockage statique et les fichiers ne seront ouverts qu’une fois.
En utilisant un groupe d’activation nommé, vous demandez au système de créer un groupe d’activation séparé pour votre programme de service (à moins que le groupe d’activation n’ait déjà été créé, soit parce que le programme a été appelé précédemment, soit parce qu’un autre programme de service utilise le même groupe d’activation). Toutefois, le système ne doit initialiser les modules dans votre programme de service qu’une fois par job, en supposant que vous ne récupérez jamais le groupe d’activation.
(Avertissement : Si vous utilisez un groupe d’activation nommé et si le groupe d’activation est récupéré (reclaimed) pendant qu’un programme actif utilise encore le programme de service, le programme actif échouera la prochaine fois qu’il appellera une procédure dans le programme de service.)
Il est presque toujours judicieux d’utiliser *CALLER. Si vous optez pour un groupe d’activation nommé, mettez bien vos utilisateurs en garde contre les dangers de la récupération du groupe d’activation. Le choix des groupes d’activation implique d’autres considérations – particulièrement si vous utilisez des fichiers dans vos programmes de service. Mais cet aspect n’entre pas dans le cadre de cet article. Pour approfondir votre connaissance des groupes d’activation, lisez le manuel ILE Concepts (SC41-5606).
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
