Les entités Dialogue Serveur et Serveur

Le but de ces entités est de développer et de générer les composants serveur des applications Pacbench C/S graphiques ou TUI.

Le Dialogue Serveur est une enveloppe logique, fédératrice, qui regroupe les composants serveur d'une application.

Ce Dialogue permet de donner les caractéristiques générales de l'application et de spécifier des variantes et options de génération qui s'appliqueront par défaut à tous les composants serveur rattachés.

Deux types d'architectures sont possibles : avec ou sans moniteur.

Le Composant Applicatif

Un Composant Applicatif fonctionne sur partie serveur de l'application et prend en charge un ensemble de services sur la Vue Logique.

Ces services peuvent être génériques et dédiés à des sélections et des mises à jour sur la Vue Logique ou être spécifiques et supporter des exigences fonctionnelles.

Le Composant Applicatif doit réaliser les traitements associés à la sélection, contrôler et mettre à jour les services demandés par la Vue Logique, c'est à dire :
  • l'accès aux ressources externes (fichiers, bases)
  • les contrôles et mises à jour
  • les traitements spécifiques (calculs, méthodes d'extraction par exemple)
  • la gestion des erreurs

Les services génériques sont indépendants du moyen de stockage utilisé pour gérer leur persistance.

Un Composant Applicatif décrit ensuite les relations entre une Vue Logique et les objets de persistance utilisés pour sélectionner ou mettre à jour ses instances.

Le moniteur serveur

Le moniteur serveur, réservé aux applications TUI, assure les tâches suivantes :
  • récupération des informations envoyées par le client par l'intermédiaire de la zone de communication
  • appelle du serveur correspondant au service demandé par le client
  • retourne des informations au moniteur client

Le moniteur de communication

Le moniteur de communication, réservé aux applications TUI, assure les tâches suivantes :
  • définition des fonctions de communication (envoi et réception de messages) liées aux différents types de plates-formes concernées
    Remarque : Une application Pacbench C/S peut s'exécuter sur des environnements différents. Dans ce cas, il y aura autant de Moniteurs de Communications que d'environnements puisqu'un moniteur est spécifique à un environnement d'exécution (variante de génération et type de communication). De plus, plusieurs protocoles de communication peuvent être utilisés pour un même environnement (exemple : CICS ECI et CICS CPIC).
  • vérification de chaque message reçu
  • pilotage de l'émission/réception de la requête
    Remarque : En fonction de la taille autorisée pour le message physique, plusieurs messages physiques peuvent avoir besoin d'être émis afin d'obtenir le message logique en entier. Un fichier de travail doit donc être disponible pour un enregistrement temporaire de la requête en cours.
  • à réception complète de la requête, traitement séquentiel des services qui la composent par appels successifs au gestionnaire de services correspondant
  • gestion transactionnelle (COMMIT/ROLLBACK)

    Le Moniteur de Communication utilise les services de COMMIT et ROLLBACK d'une base de données ou d'un moniteur transactionnel en fonction de la variante de génération qui lui est affectée.

    La gestion transactionnelle est toujours du type LUW Serveur (Logical Unit of Work). Le composant serveur a donc la charge de l'intégrité de la base de données.

    La partie serveur exécute – avant retour au client – un COMMIT ou un ROLLBACK, en fonction du contexte d'erreur (erreur de protocole ou erreur applicative) déterminé à la fin du traitement de la requête. En cas d'erreur, le traitement de la requête est terminé et un message d'erreur est envoyé.

Le serveur de libellés d'erreur

Le serveur de libellés d'erreur a pour fonction de gérer l'envoi des libellés associés aux erreurs détectées par les Composants Applicatifs. Ces libellés sont stockés dans un fichier dédié et généré.

Le Composant Applicatif d'Initialisation/Terminaison

Le Composant Applicatif d'Initialisation/Terminaison, réservé aux applications graphiques, permet d'implémenter des traitements spécifiques avant et après l'exécution d'une requête liée à un Dossier.
Remarque : Cette fonctionnalité n'est donc disponible que pour les applications graphiques impliquant un développement de Dossier.

Un Composant I/T est appelé par le gestionnaire de services avant le premier appel de Composant Applicatif concerné par la requête à traiter et après le dernier Composant Applicatif exécuté.

Le Composant I/T est disponible indifféremment pour un traitement d'initialisation ou de terminaison.

Pour un traitement d'initialisation, les seules données qui peuvent être traitées en entrée sont celles envoyées par le composant client à travers le buffer utilisateur.

Un Composant I/T permet d'exécuter les services associés à tous les Composants Applicatifs d'un Dossier.

Par conséquent, la génération d'un Composant I/T contient les fonctions d'accès et les PERFORMs correspondant aux services associés à tous les Composants Applicatifs du Dossier.

Chaque service associé à un noeud utilise des paramètres spécifiques en entrée et restitue des résultats définis dans la WORKING-STORAGE-SECTION du Composant I/T.

Un Composant I/T récupère systématiquement le ou les buffers utilisateur et le buffer serveur spécifiés au niveau (des Composants Applicatifs) du Dossier.

Génération

Pour les instances importées depuis Pacbase, la langue du squelette de la génération locale est identique à celle de Pacbase. En effet, cette information est reprise lors de l'extraction des modèles Pacbase et de l'import. Elle est stockée au niveau de la Bibliothèque


Vos commentaires