Comme on l’a vu, une fois enregistré, le point de sortie est un paramètre à l’échelle du système. Et le programme de sortie sera invoqué chaque fois qu’un full open se produira sur de nombreuses tables de bases de données sur le système. Il faut bien comprendre que le job
Ecrire le programme point de sortie
qui émet la requête d’ouverture de base de données attendra que le programme de sortie se termine avant de traiter la requête d’ouverture. Selon la manière dont le programme de sortie est écrit et ce qu’il fait, cela peut avoir un profond impact négatif sur la performance applicative.
Si vous optez pour le point de sortie, il y a quelques autres aspects à prendre en compte pendant la phase de conception :
• Assurez-vous que votre programme peut traiter des ouvertures de tables multiples (comme dans le cas de jointures de tables multiples définies dans un fichier logique, vue ou requête, ainsi que de tables et/ou de vues multiples spécifiées dans une instruction SQL). Par exemple, si une vue de jointure multitable fait l’objet d’une ouverture, le programme de sortie est appelé une seule fois, mais il reçoit la vue et une liste de chacune des tables qui constituent la vue de jointure. Pour traiter à fond la requête d’ouverture, votre programme doit être capable de traiter chaque vue/table présente dans cette liste.
• Si votre programme de sortie ouvre lui-même une table, vous devez rechercher la présence d’appels de programme récursifs potentiels et les traiter. Faute de quoi, votre programme se trouvera lui-même dans une boucle infinie récursive. En outre, si le programme de sortie est en train d’ouvrir une table en utilisant RLA, vous devez spécifier le mot-clé USROPN dans la section Fspec du programme. Après avoir déterminé que la table qui a causé l’appel du programme n’est pas celle que vous êtes en train d’ouvrir dans le programme de sortie, vous pouvez l’ouvrir explicitement dans votre programme. Là encore, si ces choses ne sont pas bien faites, il y aura une boucle récursive. (Je reviendrai sur le bouclage récursif.)
• Si le programme de sortie change le code de retour en le mettant à zéro, l’ouverture de la base de données échouera. Si le programme ne change pas le code de retour ou lui donne la valeur 1, la demande d’ouverture sera acceptée puis continuera.
• Le programme de sortie doit être exempt de threads.
Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.