CICS

Une définition du Jargon Français.
Aller à : Navigation, rechercher

Dr enus.png nom propre sigle masculin.  [utilitaire]. Customer Information Control System. Nom d'un moniteur de télétraitement transactionnel conçu par IBM dans les années 60, qui administre, via VTAM, des terminaux passifs le plus souvent distants du site central.

Présentation schématique du principe de fonctionnement de CICS :

CICS se présente comme un ensemble de modules gérés par un noyau (modules principaux) s’exécutant, dans un espace mémoire réservé, divisé en deux parties :

Une partie système constitué de modules spécialisés (citons le SCP : Storage Control Program qui se charge de l’acquisition dynamique de la mémoire, le TCP : Terminal Control Program ….). La seconde partie, la DSA (Dynamic Storage Area) contient les données d’application (Programmes, zones de communication, buffers d’écrans, de fichiers, …….)

La plupart des modules utilisent une table, ainsi le TCP utilise la TCT (Terminal Control Table) dont chaque poste nommé TCTTE (Terminal Control Table Terminal Entry) contient l’identifiant d’un terminal distant. Le TCP est chargé de la transmission des flots de données échangés entre le terminal à l’origine du dialogue et une ou plusieurs unités de traitement (programme d’application ou utilitaire CICS). Il administre l’aspect interactif de l’échange (le dialogue homme/machine), grâce à deux fonctions essentielles :

- Le polling*  : interrogation cyclique des terminaux via la TCTTE, c’est une invitation à émettre, (L’utilisateur à son poste de travail a-t-il formulé une intention de transmettre ?)

- L’addressing : interrogation directe d’un terminal afin de déterminer son aptitude à recevoir le flot de données issu de l’exécution d'unité(s) de traitement.

Ces deux fonctions contribuent à la constitution d'un couple question/réponse; la question correspond à une action spécifique de l’utilisateur (par exemple touche de fonction PFx ou ENTER pressée), la réponse est une suite d'octets générée par le résultat de l’exécution unitaire du programme sollicité, il peut s'agir d'un simple message d'information ou d'anomalie (CHOIX INVALIDE pour un menu par exemple).

Pour des raisons évidentes d'optimisation et de bon sens, les caractères constituant la réponse ne sont pas transmis un à un du site central vers le terminal. De même la frappe au clavier de chaque caractère n'a pas pour effet de solliciter les transmissions ni les ressources informatiques centrales. Chaque caractère est mémorisé par le terminal et l’utilisateur décide du moment où ce flot de données (résultat de son intervention) doit être acheminé vers le site central (touche de fonction PFx ou ENTER pressée=>question).

Indépendamment des données spécifiques aux protocoles des transmissions, les flots de données constituant les messages sont formatés suivant une norme propre à CICS. Ces flots de données, structurés de manière conventionnelle, permettent dans le sens : site central ==> terminal; la mise en forme et l'affichage à l'écran des informations, et dans le sens : terminal ==> site central; la réception des données sous un format attendu. Ce formatage, accompagné d'une possible optimisation du nombre de caractères à transmettre, est réalisé par le module BMS (Basic Mapping Support). BMS comprend également un jeu de macro-instructions permettant au développeur de formaliser les champs modifiables (zones de saisie) ou protégées (en-tête, titres), constituant les dessins d'écran (maps) tels qu'ils s'afficheront (ou s'imprimeront) sur le terminal. Ces champs (leur contenu) participent à la constitution des flots de données. Un utilitaire interactif SDF (Screen Definition Facility) facilite la création des dessins d'écran (maps) et évite au développeur l'utilisation des macro-instructions.

En résumé

Sur le plan fonctionnel, une session de travail utilisateur est constituée d’une série non limitée de couples question/réponse, mettant en œuvre un ou plusieurs programmes d'application et/ou utilitaires CICS, dont les exécutions successives guident l’utilisateur dans la réalisation de sa tâche. Réciproquement les interventions, ou les choix, de l’utilisateur déterminent quels programmes exécuter ainsi que l’orientation fonctionnelle à donner à leur logique de traitement. Dans l'intervalle de temps qui sépare 2 échanges question/réponse (temps de réaction humaine) la session de travail en cours ne doit plus mobiliser les ressources informatique du site central (voir à ce sujet pseudo-conversationnel).

Toutes ces actions, et bien d'autres, s'exécutent sous le contrôle de CICS.

*Un terminal CICS peut aussi être une imprimante, dans ce cas il n'y a pas de polling sur ce terminal, uniquement de l'addressing .