Archives de catégorie : CICS Cours

CICS – RESETBR

La commande RESETBR est utilisée pour réinitialiser notre point de départ au milieu d’une navigation. fondamentalement, Il établit un nouveau point de navigation.

Pour redémarrer la navigation à partir d’un emplacement de fichier différent. Ceci est similaire à un ENDBR suivi d’un STARTBR, mais est plus efficace car les ressources VSAM seront réaffectées plutôt que désaffectées et réaffectées.

Syntaxe:

Vous trouverez ci-dessous la syntaxe de la commande RESETBR.

EXEC CICS RESETBR
   FILE('nom-fichier')
   RIDFLD(zone-donnee)
   GTEQ
END-EXEC.

Voyons les paramètres utilisés dans la commande RESETBR.

  • FILE(nom-fichier)
    Spécifie le nom du fichier auquel accéder.
  • RIDFLD(zone-donnee)
    Spécifie le champ d’identification de l’enregistrement. Il porte le nom de la zone de données contenant la clé de l’enregistrement que l’on veut lire.

CICS – Présentation

IBM a lancé la première version de CICS en 1968.

Il s’agit d’un système de contrôle de communication de base de données/données où un programme d’application peut se concentrer sur le traitement de l’application sans se soucier du système d’exploitation, du matériel et autres. Initialement, CICS était au niveau macro et a ensuite été mis à niveau au niveau commande.

Qu’est-ce que le CICS ?

CICS (Customer Information Control System) est un système IBM de base de données/communication de données (DB/DC). CICS facilite l’envoi, la réception et le traitement des données grâce à l’interaction avec un terminal composé d’une unité d’affichage ou d’un tube cathodique (CRT) et d’un clavier.

CICS fonctionne sur des systèmes centraux et micro-ordinateurs IBM et compatibles IBM et fournit une interface entre les programmes d’application et le système d’exploitation de l’ordinateur. Il fonctionne comme un système d’exploitation en ligne. Les programmeurs d’applications CICS utilisent COBOL au niveau des commandes pour coder des instructions faciles à utiliser dans leurs programmes.

Ces commandes facilitent l’accès et la mise à jour des fichiers de base de données en ligne, la saisie de données et l’affichage de données et d’autres informations sur le terminal d’affichage. Les utilisateurs de CICS peuvent transmettre des données de leurs terminaux au système où les données sont traitées puis renvoyées à l’utilisateur.

L’image suivante montre les composants de CICS et leur interdépendance :

Fonctionnalités de CICS :

  • CICS est une tâche unique pour MVS bien qu’il se comporte comme un système d’exploitation au sein d’un système d’exploitation, dont le travail consiste à fournir un environnement pour l’exécution de travaux en ligne, y compris des interfaces vers des fichiers et des bases de données.
  • L’espace d’adressage CICS reçoit un statut privilégié dans le système MVS.
  • CICS possède une fonction de fonctionnement multirégion, c’est-à-dire que plusieurs espaces d’adressage
  • CICS peuvent communiquer entre eux.
  • CICS est facile à développer des applications en ligne et son codage est similaire aux langages de haut niveau.
  • CICS a une interface commune avec la base de données et les ensembles de données.
  • CICS a un meilleur temps de réponse.
  • CICS est facile à personnaliser.
  • CICS n’a pas besoin de coder les données pour les afficher à l’écran.
  • CICS facilite le développement de formulaires à l’aide de la fonction BMS.
  • CICS est l’indépendance de l’appareil.
  • CICS a l’indépendance des données.
  • CICS permet le partage de code entre les applications.

Qu’est-ce qu’une application CICS ?

Une application est un ensemble de programmes associés qui exécutent ensemble une opération commerciale, telle que le traitement d’une commande de produit ou la préparation d’une paie d’entreprise. Les applications CICS s’exécutent sous le contrôle de CICS, en utilisant les services et les interfaces CICS pour accéder aux programmes et aux fichiers.

CICS est un sous-système de traitement des transactions. Cela signifie qu’il vous fournit des services pour exécuter des applications en ligne, sur demande, en même temps que de nombreux autres utilisateurs soumettent des demandes pour exécuter les mêmes applications, en utilisant les mêmes fichiers et programmes. CICS gère le partage des ressources ; l’intégrité des données et la priorisation de l’exécution, avec une réponse rapide.

Qu’est-ce qu’une transaction ?

Un programme CICS est appelé via une transaction. Une transaction CICS est une collection de programmes logiquement liés dans une application. L’ensemble de l’application pourrait être logiquement divisé en plusieurs transactions.

  • Les identifiants de transaction de 1 à 4 caractères sont utilisés pour identifier les transactions que les utilisateurs souhaitent effectuer.
  • Un programmeur lie un programme à l’identifiant de transaction qui est utilisé pour appeler tous les programmes d’application pour cette transaction particulière.

Qu’est-ce que la tâche ?

Une tâche est une unité de travail spécifique à un utilisateur.Les utilisateurs invoquent une application en utilisant l’un des identifiants de transaction. CICS recherche l’identificateur de transaction pour savoir quel programme appeler en premier pour effectuer le travail demandé. Il crée une tâche pour effectuer le travail et transfère le contrôle au programme mentionné.Une transaction peut être complétée par plusieurs tâches.Une tâche peut recevoir et envoyer des données au terminal qui l’a lancée. Il peut lire et écrire des fichiers et peut également démarrer d’autres tâches.

Question d’entretien : Différence entre la tâche et la transaction

La tâche est une unité de travail et la transaction est une entité qui lance l’exécution de la tâche. L’identificateur de transaction identifie la transaction dans CICS.

La différence entre une transaction et une tâche est que plusieurs utilisateurs peuvent invoquer une transaction mais chaque utilisateur lance sa propre tâche.

CICS – Terminologie

Concepts de tâche, multitâche, multithreading, conversation et pseudo conversation

Tâche:

Une tâche est créée pour chaque identifiant de transaction exécuté, TRANSID, reconnu par CICS (trouvé dans la table de contrôle du programme). Une tâche peut inclure un ou plusieurs programmes. Une tâche continue jusqu’à ce qu’un programme rende le contrôle à CICS ou émette une commande RETURN dans un programme pseudo-conversationnel. Une seule tâche peut être en cours d’exécution à un moment donné, mais l’utilisateur peut percevoir que de nombreuses tâches sont en cours d’exécution.

Multitâche :

Le multitâche signifie que le système d’exploitation (OS) permet à plusieurs tâches d’être exécutées simultanément, que les tâches utilisent le même programme ou des programmes différents. Par conséquent, ce n’est pas un concept propre à CICS. Mais CICS gère le multitâche des tâches CICS dans sa propre région. Autrement dit, CICS fournit un environnement multitâche dans lequel plusieurs tâches CICS s’exécutent simultanément.

Multithread :

Le multithreading est l’environnement système dans lequel les tâches partagent le même programme dans l’environnement multitâche. Le multithreading est un sous-ensemble du multitâche, puisqu’il concerne des tâches qui utilisent le même programme.Dans l’environnement multithreading, un programme est partagé par plusieurs tâches simultanément. Pour chaque tâche, le programme (c’est-à-dire les instructions et la zone de données) doit fonctionner comme s’il exécutait des instructions exclusivement pour chaque tâche. Par conséquent, cela nécessite des considérations particulières telles que la réentrance ou la réutilisation en série.Contrairement à l’environnement multithreading, dans l’environnement à thread unique, un programme est utilisé par un seul travail (ou tâche) à la fois. Un exemple typique est un travail par lots.

Terminologie SCIC


Concepts de tâche, multitâche, multithreading, conversation et pseudo conversation

Tâche:

Une tâche est créée pour chaque identifiant de transaction exécuté, TRANSID, reconnu par CICS (trouvé dans la table de contrôle du programme). Une tâche peut inclure un ou plusieurs programmes. Une tâche continue jusqu’à ce qu’un programme rende le contrôle à CICS ou émette une commande RETURN dans un programme pseudo-conversationnel. Une seule tâche peut être en cours d’exécution à un moment donné, mais l’utilisateur peut percevoir que de nombreuses tâches sont en cours d’exécution.


Multitâche :

Le multitâche signifie que le système d’exploitation (OS) permet à plusieurs tâches d’être exécutées simultanément, que les tâches utilisent le même programme ou des programmes différents. Par conséquent, ce n’est pas un concept propre à CICS. Mais CICS gère le multitâche des tâches CICS dans sa propre région. Autrement dit, CICS fournit un environnement multitâche dans lequel plusieurs tâches CICS s’exécutent simultanément.

Multithread :

Le multithreading est l’environnement système dans lequel les tâches partagent le même programme dans l’environnement multitâche. Le multithreading est un sous-ensemble du multitâche, puisqu’il concerne des tâches qui utilisent le même programme.

Dans l’environnement multithreading, un programme est partagé par plusieurs tâches simultanément. Pour chaque tâche, le programme (c’est-à-dire les instructions et la zone de données) doit fonctionner comme s’il exécutait des instructions exclusivement pour chaque tâche. Par conséquent, cela nécessite des considérations particulières telles que la réentrance ou la réutilisation en série.

Contrairement à l’environnement multithreading, dans l’environnement à thread unique, un programme est utilisé par un seul travail (ou tâche) à la fois. Un exemple typique est un travail par lots.


Question d’entretien : Différence entre le multitâche et le multithreading ?

Le système d’exploitation permet l’exécution simultanée de plusieurs tâches, c’est ce qu’on appelle le multitâche. Si la ou les tâches simultanées utilisent la même copie du programme, cela s’appelle le multithreading. Il est donc évident que le multitâche est un sous-ensemble du multithreading.


Modes de programmation d’applications :

  • Conversationnel
  • Pseudo-conversationnel

De la conversation:

  • Le système envoie un message à l’écran
  • Attend la réponse de l’utilisateur.
  • Cela prend un temps considérable en termes de temps système. Ce temps est appelé THINK TIME de l’utilisateur. (Désavantage)
  • Reçoit la réponse
  • Traiter les données reçues.

La programmation conversationnelle est une technique de codage qui entraîne le chargement d’un programme et le reste dans la mémoire principale jusqu’à ce que l’utilisateur ait fini de travailler avec le programme. Le programme n’est pas libéré de la mémoire principale lorsqu’il n’est pas actif, comme dans la programmation pseudo conversationnelle. Par exemple, un programme conversationnel affiche une carte et reste dans la mémoire principale en attendant la réponse d’un utilisateur.

Les applications pratiques de la programmation conversationnelle sont très limitées.

Pseudoconversation :

  • Le système envoie un message
  • Terminer la transaction en spécifiant la prochaine transaction à démarrer
  • Allouer des ressources à d’autres transactions
  • Interroger l’entrée du terminal à intervalle régulier
  • Reçoit les données et démarre la prochaine transaction spécifiée précédemment

CICS permet à de nombreux utilisateurs de se connecter et d’utiliser CICS simultanément. La taille de la mémoire principale de l’ordinateur est finie. Si de nombreux utilisateurs exécutent des transactions nécessitant un stockage principal considérable, une condition de stockage insuffisant peut se produire, entraînant des retards.

La programmation pseudo-conversationnelle est une technique de codage qui se traduit par le chargement d’un programme dans le stockage principal en cas de besoin et sa libération lorsqu’il n’est plus actif. Par exemple, lorsqu’une carte est affichée et que le programme attend la réponse d’un utilisateur, le programme peut être libéré de la mémoire principale et rechargé si nécessaire.

CICS charge et libère automatiquement les programmes d’application de la mémoire principale. Les programmes à forte utilisation sont souvent définis comme résidents du stockage principal et le système les conserve dans le stockage principal. Les tables et les cartes, qui sont considérées comme des programmes par CICS, sont généralement contrôlées par un programme.

Généralement, lors de l’utilisation de la technique de traitement pseudo-conversationnelle, le fait d’appuyer sur une touche AID provoque le chargement d’un programme s’il n’est pas déjà dans la mémoire principale. Lorsqu’un programme a terminé avec un segment logique de traitement, il envoie normalement une carte, enregistre les données requises et rend le contrôle à CICS.


Réentrant et Quasi-réentrant

Si la même copie du programme est utilisée par plusieurs tâches, le système doit s’occuper de la réentrée appropriée après l’interruption SVC/CICS.

Un programme réentrant est défini comme un programme qui ne se modifie pas pour pouvoir se réintégrer et continuer le traitement après une interruption par l’appel SVC de l’OS. Les programmes batch ne sont pas réentrants. La réentrance dans l’environnement CICS est appelée quasi-entrant car l’interruption dans CICS peut impliquer plus d’un appel SVC ou aucun SVC du tout.

Les programmes COBOL doivent être compilés avec l’option RENT pour la réentrance dans un environnement multithreading.

Question d’entretien : Différence entre le multitâche et le multithreading ?

Le système d’exploitation permet l’exécution simultanée de plusieurs tâches, c’est ce qu’on appelle le multitâche. Si la ou les tâches simultanées utilisent la même copie du programme, cela s’appelle le multithreading. Il est donc évident que le multitâche est un sous-ensemble du multithreading.

CICS – Environnement

CICS lui-même agit comme un système d’exploitation. Son travail consiste à fournir un environnement pour l’exécution en ligne des programmes d’application. CICS s’exécute dans une région, une partition ou un espace adresse. CICS gère la planification des programmes qui s’exécutent sous lui. CICS s’exécute comme un travail par lots et nous pouvons le visualiser dans le spool en émettant la commande PREFIX CICS*.

Cinq services principaux sont fournis par le CICS. Tous ces services accomplissent ensemble une tâche:

  1. Services système
  2. Services de communication de données
  3. Services de traitement des données
  4. Services de programmation d’applications
  5. Services de surveillance


Services système :

CICS maintient des fonctions de contrôle pour gérer l’allocation ou la désallocation des ressources au sein du système qui sont les suivantes :

Contrôle des tâches – Le contrôle des tâches fournit des fonctionnalités de planification des tâches et de multitâche. Il prend en charge l’état de toutes les tâches CICS. Le contrôle des tâches répartit le temps processeur entre les tâches CICS simultanées. C’est ce qu’on appelle le multitâche. CICS essaie de donner la priorité au temps de réponse de la tâche la plus importante.

Contrôle du programme – Le contrôle du programme gère le chargement et la libération des programmes d’application. Dès qu’une tâche commence, il devient nécessaire d’associer la tâche au programme d’application approprié. Bien que de nombreuses tâches puissent nécessiter l’utilisation du même programme d’application, CICS ne charge qu’une seule copie du code en mémoire. Chaque tâche chemine indépendamment dans ce code, de sorte que de nombreux utilisateurs peuvent tous exécuter des transactions qui utilisent simultanément la même copie physique d’un programme d’application.

Contrôle du stockage – Le contrôle du stockage gère l’acquisition et la libération du stockage principal. Le contrôle du stockage acquiert, contrôle et libère le stockage dynamique. Le stockage dynamique est utilisé pour les zones d’entrée/sortie, les programmes, etc.

Contrôle d’intervalle – Le contrôle d’intervalle offre des services de minuterie.


Services de communication de données :

Les services de communication de données s’interfacent avec les méthodes d’accès aux télécommunications telles que BTAM, VTAM et TCAM pour gérer les demandes de communication de données des programmes d’application.

  • CICS libère les programmes d’application de la charge de traiter les problèmes matériels du terminal grâce à l’utilisation du support de mappage de base (BMS).
  • CICS fournit un fonctionnement multirégional (MRO) grâce auquel plusieurs régions CICS du même système peuvent communiquer.
  • CICS fournit une communication inter-système (ISC) grâce à laquelle une région CICS d’un système peut communiquer avec la région CICS d’un autre système.

Services de traitement des données :

Interface des services de traitement des données avec les méthodes d’accès aux données telles que BDAM, VSAM, etc.

  • CICS facilite le traitement des demandes de traitement de données provenant des programmes d’application. CICS fournit aux programmeurs d’applications un ensemble de commandes pour gérer l’accès à l’ensemble de données et à la base de données et les opérations associées.
  • Les services de traitement des données s’interfacent avec les méthodes d’accès aux bases de données telles que IMS/DB, DB2, etc. et facilitent le traitement des demandes de base de données à partir des programmes d’application.
  • CICS facilite la gestion de l’intégrité des données en contrôlant les mises à jour simultanées des enregistrements, la protection des données en tant que tâches ABEND et la protection des données en cas de défaillance du système.

Services de programmation d’applications :

Interface des services de programmation d’applications avec les programmes d’application. Les services de programmation d’application de CICS fournissent des fonctionnalités telles que la traduction au niveau de la commande, CEDF (la fonction de débogage) et CECI (la fonction d’interpréteur de commandes). Nous en discuterons plus en détail dans les prochains modules.


Services de surveillance :

Les services de surveillance surveillent divers événements dans l’espace d’adressage CICS. Il fournit une série d’informations statistiques qui peuvent être utilisées pour le réglage du système.

CICS – Programme en ligne VS Programme Batch


Système de traitement par Batch :

Un système de traitement par batch gère de grandes quantités de données traitées selon un calendrier de routine. Le traitement a lieu lorsque l’après l’événement économique se produit et est enregistré. Il nécessite moins de ressources de programmation, de matériel et de formation. Dans ce système, les programmes sont planifiés par le biais de tâches. Il permet le partage de programmes et de fichiers.

Les exemples incluent la requête d’inventaire, la transaction d’achat sur le site Web, le retrait de compte e-Banking, etc.

Avantages :

  • Gère facilement les gros travaux répétés.
  • Les travaux répétés sont effectués rapidement.
  • Les systèmes par batch peuvent fonctionner hors ligne.

Désavantages:

  • Difficile de déboguer les systèmes batch
  • Parfois coûteux
  • Attend pendant une durée inconnue si une erreur se produit avec n’importe quel travail

Système de traitement en ligne :

Un système de traitement en ligne gère les transactions en temps réel et fournit la sortie instantanément. Lorsqu’un événement économique a lieu, le traitement a lieu. Il nécessite plus de ressources matérielles dédiées, des éléments de traitement sont nécessaires. Dans ce système, les programmes sont lancés par le biais de transactions. Il ne permet pas le partage de programmes et de fichiers.

Les exemples incluent le calcul des taxes de fin de mois, la transformation des données, l’analyse des données, la transformation des données, etc.

Avantages :

  • Utile pour les transactions d’argent en ligne
  • Utile pour les achats en ligne
  • Soutien et stabilité

Désavantages:

  • Des millions de demandes deviennent parfois difficiles à gérer
  • beaucoup de personnel nécessaire pour maintenir l’inventaire
  • Les problèmes matériels créent de gros problèmes

En quoi les programmes en ligne diffèrent-ils des programmes batch ?

Système de traitement BATCHSystème en ligne
EntréeDonnées de carte, bande, disque. En BATCH, séquentiel, programmé. Par exemple Keypunch, codage de données.Données du terminal. Aléatoire, concurrent. Peut être saisi au fur et à mesure que les données arrivent.
Update  du fichierRéservé lors d’un travail. D’autres travaux doivent attendre.Concurrent. Instantané.
Entrée/sortie de fichierL’entrée/la sortie doit être en séquenceLes entrées/sorties peuvent être simultanées
Sortie Rapports imprimés, fichiers de sortieMessages envoyés à la console, Fichiers mis à jour Journal système, Rapports.
Début de traitementL’opérateur (ou le système d’exploitation) lance le travailLa saisie de Trans-ID déclenche la transaction
Mode processusTâche unique et thread Priorité dans la planification des tâchesTraitement prioritaire multitâche et multithread
Fin de traitementChaque travailChaque opération
Turn-aroundGénéralement beaucoup plus longtempsPresque instantané
RessourcesMoins d’utilisationPlus d’utilisation
ApplicationRapport de ventes mensuelRéservation de compagnie aérienne