> Tech > Utiliser un fichier stream pour se rappeler des valeurs

Utiliser un fichier stream pour se rappeler des valeurs

Tech - Par iTPro - Publié le 24 juin 2010
email

Comme l’illustre l’exemple précédent, il est facile d’écrire une structure de données dans un fichier stream et de l’extraire ultérieurement. Cette possibilité est également utile pour « se rappeler » le contenu de variables la prochaine fois que votre programme sera appelé. Pour cela, mettez toutes les données dont vous

voulez vous rappeler dans une structure de données, écrivez-les quand le programme se termine, et lisez-les au prochain démarrage du programme.

Les fragments de code de la figure 6 illustrent cette technique. En premier lieu, le fichier est ouvert avec l’indicateur O_CREAT pour créer le fichier s’il n’existe pas (A en figure 6). La variable SessionID pourrait servir à garder ce fichier séparé des autres copies qui contiennent des paramètres utilisateur différents. Ce concept est particulièrement utile pour écrire des applications Web, comme je l’explique momentanément. L’indicateur O_SHARE_ NONE est également spécifié, pour placer un verrou exclusif sur le fichier stream afin qu’aucun autre job ne puisse le modifier pendant qu’il utilise les données. S’il y a des données dans le fichier, elles sont lues dans la structure de données persistante (B en figure 6). Ensuite, le programme effectue son traitement normal et, à la fin, il revient vers le début du fichier et écrit les données persistantes (C en figure 6).

Cette technique est utile en programmation CGI. Quand vous écrivez une application CGI, le programme est appelé chaque fois que l’utilisateur fait une sélection dans un navigateur Web. Le programme peut ensuite lire les données provenant de l’utilisateur, générer une nouvelle page Web, et réécrire le résultat dans le navigateur. Comme votre programme doit se terminer avant que le navigateur puisse afficher le résultat, vous ne pouvez pas garder les mêmes valeurs de variables que la dernière fois où le programme s’est exécuté. Ce problème est facile à résoudre : il suffit d’attribuer à chaque utilisateur un numéro de session quand il se connecte à votre site Web. Stockez les variables pour cette session dans un fichier stream que vous pourrez lire quand le programme démarrera et y écrire quand le programme finira. Ainsi, les variables restent les mêmes d’un appel à un autre, et la seule chose que vous devez stocker dans un cookie est le numéro de session.

Cette même technique est utile pour déboguer des programmes de sortie. Ainsi, chaque fois qu’une description d’appareil est allouée à un job Telnet, le serveur Telnet exécute le programme de sortie d’initialisation de l’appareil Telnet. Comme un processus système exécute le programme en arrière-plan, il n’est pas facile de déboguer le programme pour voir les imperfections. Or, l’un des modes de débogage consiste à sauvegarder dans un fichier stream les données que le programme reçoit dans ses paramètres. Ensuite, vous pourrez écrire un programme qui lira ce fichier stream pour voir quel genre de données sont reçues.

Cette technique vaut aussi pour vos programmes ordinaires. Par exemple, vous pourriez écrire une infortion de débogage dans un fichier stream de l’IFS de sorte que, en cas de problème, vous puissiez en déterminer l’origine. Vous pourriez même décider que ce fichier de débogage pourra être activé en fonction d’un paramètre transmis à votre programme.

Téléchargez gratuitement cette ressource

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro - Publié le 24 juin 2010