Customer Information Control System

Customer Information Control System

Le système appelé CICS (Customer Information Control System, c'est-à-dire Système de Contrôle des Informations Client) est un système qui permet d'effectuer des opérations transactionnelles (en général consultation ou mise à jour de bases de données ou de fichiers) avec une très grande économie de moyens. CICS est généralement utilisée sur les systèmes mainframe d'IBM, notamment les zSeries 900 ou S/390, mais peut aussi l'être sur des systèmes plus petits comme les AS/400, RS/6000, ou même des serveurs PC.

À 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 17 500 terminaux CICS[1].

Sur un processeur actuel (2009) de la série Z, CICS peut servir sans difficulté des milliers de transactions par seconde[2], ce qui le rend en particulier tout à fait apte aux transactions de terminaux bancaires automatiques.

CICS est couramment et principalement utilisé par les institutions financières, les applications bancaires, les distributeurs de billets, mais aussi dans les systèmes de production industriels. Plus de 90 % des compagnies du Fortune 500 reposent sur CICS pour la gestion de leurs transactions.

La majorité des applications CICS sont écrites en COBOL, mais il est également possible d'utiliser le langage assembleur, le langage C ou C++, PL/I, REXX et, plus récemment, Java.

La dernière version de CICS pour z/OS est la 4.1 (2009) qui permet notamment la gestion de feeds Atom ou RESTful.

Sommaire

Principe de fonctionnement

Les ordinateurs centraux classiques sont conçus à la base pour le traitement d'applications par lot, et donc pour le traitement simultané d'un nombre peu élevé de tâches, lesquelles ont généralement un accès exclusifs aux fichiers et ressources qu'elles utilisent. Pour la gestion de transactions, on attendrait plutôt qu'un système soit conçu pour gérer de nombreuses tâches simultanées, utilisant les mêmes ressources. CICS a été proposé dès 1968 dans le but de fournir une solution à ce problème.

CICS en tant qu'interface entre l'utilisateur, les programmes et les données.

D'une part, CICS agit comme une interface entre les programmes, et les services du système d'exploitation. Ainsi, lorsqu'un programme désire, par exemple, afficher quelque chose sur un terminal, accéder à un fichier, etc. il ne pourra pas le faire directement et devra passer par CICS.

De l'autre, CICS permet de simuler la gestion multi-utilisateur et multi-tâche par le biais d'une grande économie de moyens, qui consiste des principes suivants :

  • Concept totalement démarqué du temps partagé : on n'interrompt pas une tâche, on la déroule toujours jusqu'au bout, et c'est à elle de rendre le contrôle. Il n'y a donc jamais de contexte complexe de programme à sauvegarder, ni d'appel coûteux au superviseur ;
  • Les tâches doivent être courtes tant en taille qu'en temps de traitement. La notion de « courte » est passé au fil du temps de 4 K en 1974 à 64 K et plus en 1985.
  • 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, mais juste sériellement réutilisables. 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 plein écran). Ainsi 1000 terminaux actifs lançant une transaction complète toutes les 20 secondes n'engendrent que 50 modestes transactions par seconde.

Gestion des transactions

Sous CICS il n'est pas possible d'appeler directement un programme : l'utilisateur doit invoquer une transaction, laquelle spécifiera le programme à lancer. CICS se chargera de localiser l'application, la charger en mémoire si ce n'est pas déjà fait, et de démarrer une tâche.

Chaque transaction est identifiée par un code de quatre lettres appelée trans-id. CICS possède une table nommée PCT (Program Control Table – Table de Contrôle des Programmes) qui liste les trans-id valides et les associe au nom des programmes CICS qui devront être chargés lorsque la transaction est invoquée. De manière à savoir s'il faut charger en mémoire une nouvelle copie d'un programme, CICS utilise une autre table, le PPT (Processing Program Table, ou Table des Programmes Exécutés), qui contient une liste de tous les noms de programmes en mémoire.

Ainsi si un utilisateur invoque une transaction, CICS ira d'abord regarder dans le PCT pour trouver le programme à exécuter, puis vérifier dans la PPT si le programme est déjà chargé en mémoire. Dans le cas où il ne l'est pas encore, CICS localisera le programme, le chargera et mettra la PPT à jour, puis lancera une nouvelle tâche.

CICS utilise également une table des terminaux, le TCT (Terminal Control Table), qui permet d'identifier chaque terminal par le biais d'un identifiant de terminal, appelé term-id. Cette table permet de s'assurer que les traitements et résultats soient bien attribués au bon terminal.

Quant aux accès aux fichiers, ils sont gérés par CICS par le biais d'une table des fichiers, la FCT (File Control Table) qui recense les fichiers et le type d'opérations autorisés.

Services

CICS fournit de nombreux services, lesquels sont accessibles par une API, laquelle permet de s'assurer que lesdits services sont invoqués de manière consistante.

Services de communication de données

Les services de communication de données, permettent notamment aux programmes de communiquer avec les terminaux. Ces services permettent par exemple d'envoyer des informations aux terminaux, ou de récupérer des informations écrites dans un formulaire, etc.

CICS a accès aux méthodes de télécommunication du système d'exploitation via une interface appelée terminal control . Cependant utiliser directement le terminal control dans un programme peut s'avérer laborieux car ça impliquerait de traiter un ensemble assez compliqué de chaînes de caractères et de données. Pour simplifier le décodage de ces chaînes de caractères, une interface appelée BMS (Basic Mapping Support – Support Basique pour Formulaires) a été développée. BMS permet de créer facilement des formulaires, appelées map, et de gérer l'envoi ou la réception de données depuis ces formulaires.

Services de gestion de données

Les services de gestion de données permettent l'accès aux bases de données, fichiers, etc. Ils regroupent les outils de contrôle des fichiers comme les VSAM, ou d'accès aux interfaces SQL, ou DL/I. Ainsi lorsqu'un programme a besoin d'accéder à un fichier, les services de gestion de données CICS feront le relais avec VSAM pour gérer l'accès au fichier. Le système de gestion de données de CICS permet de gérer le partage des fichiers et donc d'éviter la corruption de données que pourrait par exemple causer la mise-à-jour simultanée d'un même enregistrement par deux utilisateurs.

Services de gestion CICS

Les systèmes de gestion CICS regroupent un éventail de services pour gérer l'exécution des programmes. Par exemple le service program control permet de gérer le flot de contrôle d'un programme à un autre. Le service dump control permet la génération de dumps, etc.

Avantages et inconvénients

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, y compris lors des changements de génération de ceux-ci (3277 vers 3278, 3278 vers 3278 PS, 3270 et 3270 PS, 3290, 3170 avec souris...), ces nouvelles technologies se traduisant simplement par des possibilités d'appels supplémentaires sans nécessité de modifier l'existant.

Inconvénient de CICS

La table des transactions était gardée en forme séquentielle et non hash-codée. Le parcours séquentiel de la table à chaque nouvel appel produisait de grosses inefficiences si un système avait plusieurs milliers de noms de tâches. Les statistiques fournies par CICS permettaient d'atténuer un peu cet inconvénient en mettant en tête de table (manuellement) les noms des transactions les plus utilisées.

Concurrents de CICS

Un sous-système non-IBM nommé ROSCOE utilisait un pseudo-conversationnel du même type, mais demandait en revanche une recompilation intégrale à chaque nouvelle transaction ajoutée au système.

IMS est l'autre moniteur transactionnel d'IBM qui est concurrent de CICS (mais uniquement sur mainframe).

Techniques conceptuellement cousines

Simulation du multitâches en DOS

Le principe permettant à CICS de travailler en transactionnel sur un système sans effectuer de multitâches au sens propre du terme inspira en France nombre de serveurs Minitel gérant 80 connexions en simultané apparent[3] sur un 386 travaillant sous DOS… qui était lui-même monotâche.

Notes et références

  1. Source : carte SPL (Selected Product Line) d'IBM, aide-mémoire des ingénieurs commerciaux, vers 1980
  2. sous réserve de travailler en mémoire ou avec un nombre de bras disques adapté
  3. Des cartes X.25 intelligentes, en général équipées de processeurs 68000, géraient seules les couches 1, 2 et 3 à leur niveau

Voir aussi

Lien externe

(en) KICKS for .NET : CICS pour Microsoft .NET.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Customer Information Control System de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Customer Information Control System — (CICS) ist ein Transaktionsmonitor von IBM. CICS ist unter den /390 Großrechner Betriebssystemen z/OS (MVS) und VSE sowie, in modifizierter Form als Encina Erweiterung, unter Windows NT, OS/2, AIX, HP UX, Sinix, Solaris sowie Digital Unix… …   Deutsch Wikipedia

  • Customer Information Control System — (Computers) program for mainframe computers which handle customer information and transaction processing (originally developed by IBM), CICS …   English contemporary dictionary

  • Customer Information Control System —    Abbreviated CICS. An IBM main frame client/server program that manages transaction processing in IBM s VM and MVS operating systems and that is scalable to thousands of users. It also provides password security, transaction logging for backup… …   Dictionary of networking

  • IBM Information Management System — (IMS) is a joint hierarchical database and information management system with extensive transaction processing capabilities. History IBM designed IMS with Rockwell and Caterpillar starting in 1966 for the Apollo program. IMS s challenge was to… …   Wikipedia

  • Inventory information approval system — An inventory information approval system, or IIAS, is a point of sale technology used by retailers that accept FSA debit cards, which are issued for use with medical flexible spending accounts (FSAs), health reimbursement accounts (HRAs), and… …   Wikipedia

  • Warehouse control system — A warehouse control system (WCS) is a software application that directs the real time activities within warehouses and distribution centers. As the “traffic cop” for the warehouse/distribution center, the WCS is responsible for keeping everything …   Wikipedia

  • Warehouse Control System — Un Warehouse Control System (WCS) est une application progiciel qui dirige les activités en temps réel entre un centre de distribution et un entrepôt de données. Portion de texte anglais à traduire en français …   Wikipédia en Français

  • Communications Oriented Information and Control System — Das Communications Oriented Production Information and Control System (Abkürzung: COPICS), war eine 1972 von IBM veröffentlichte Sammlung von Konzepten für integrierte Datenverarbeitungssysteme in der Fertigung. COPICS umfasste 12 Kapitel in 8… …   Deutsch Wikipedia

  • Business Planning and Control System — is an Enterprise Resource Planning (ERP) software.BPCS, the acronym for the software, is pronounced as Bee picks.BPCS was developed by System Software Associates (SSA), which later became SSA Global Technologies (which was then acquired by Infor… …   Wikipedia

  • Customer relationship management — (CRM) is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes principally sales activities, but… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”