Customer Information Control System
Le système transactionnel CICS permet d'effectuer des opérations transactionnelles (en général
consultation ou mise à jour de bases de données) avec une très grande économie de moyens. À titre indicatif, un IBM 3033 équipé
de 16 Mo de mémoire - qui correspondait à peu près en puissance de calcul à un Pentium 100 - pouvait gérer de front 17500
terminaux CICS.
Principe de fonctionnement
L'économie de moyens de CICS utilise les principes suivants :
- Concept totalement démarqué du temps partagé : on n'interrompt
pas une tâche (c'est le nom que CICS donne à une séquence de traitement), on la déroule toujours jusqu'au bout, et
c'est à elle de rendre le contrôle. Il n'y a donc pas de contexte de programme à sauvegarder.
- Les tâches doivent être courtes tant en taille qu'en temps de traitement.
- Une seule tâche est utilisée à la fois.
- Une tâche peut enchaîner automatiquement une autre tâche sur action d'un événement.
- Les tâches, ne pouvant pas être interrompues (on peut tout au plus les tuer si elles posent problème en cours de mise au
point) n'ont pas besoin d'être réentrantes. Il leur suffit de laisser le
système dans l'état où elles souhaitent le trouver en arrivant.
- Une tâche reste en mémoire après utilisation, prête à servir sans appel disque si elle est à nouveau sollicitée.
- Les tâches utilisent la conception des terminaux 3270 qui ne sollicitent pas le système à chaque caractère frappé, mais uniquement lors de la transmission d'un écran
entier en mode full-screen (ou
plein écran). Ainsi 1000
terminaux actifs lançant une transaction complète toutes les 20 secondes n'engendrent-ils que modestement 50 transactions par
seconde.
Avantages propres à CICS
- Une tâche peut être activée ou désactivée à la demande, voire remplacée au vol par une autre, sans arrêt du reste du
système.
- CICS met à l'abri de tout risque de piratage : un terminal ne dispose jamais d'un shell, puisqu'il s'agit d'un
terminal rattaché à l'application CICS et non au système qui se trouve au-dessus. Ce terminal ne peut s'échapper du contrôle de CICS (ce qui est
parfois souhaitable) que si l'on crée en CICS une tâche de déconnexion... qui ne peut elle-même être codée depuis un
terminal CICS !
- Gestion des possibilités « full-screen » des écrans de mainframes.

