- PAC700
-
PACBASE
PACBASE est un atelier de génie logiciel générant des programmes en langage COBOL. Son nom d'origine, PAC700, provient de l'acronyme PAC pour « Programmation Automatique Corig ». CORIG, COnception et Réalisation en Informatique de Gestion, était une méthode de programmation structurée des années 1970.
Il permet de rendre indépendants les aspects logiques des aspects physiques de la programmation ; ainsi le même source PACBASE, moyennant la bonne spécification d'un nombre très réduit de paramètres, peut générer des programmes COBOL opérant sur machines IBM ou sur machines Bull, et même Unix.
L'éditeur de cet AGL était la CGI (Compagnie Générale d'Informatique), rachetée depuis par IBM. De nombreuses entreprises (banques, assurances, etc.), essentiellement en France, utilisent PACBASE.
IBM a annoncé une garantie de support de PACBASE jusqu'en 2015 au minimum; le temps de préparer une solution de remplacement basée sur la Software Delivery Platform. L'interface TP actuelle sera alors remplacée par un éditeur de Cobol natif, au sein de l'outil Rational Developper for Z, lui même basé sur Eclipse, agrémenté d'une vue "Pacbase". Cet éditeur conservera la double entrée : génération automatique à partir d'un modèle, et ajout de code spécifique directement en Cobol. La notion de Référentiel, chère aux utilisateurs actuels de Pacbase, sera conservée. Cette solution de remplacement devrait être disponible aux alentours de 2011/2012 et garantira la reprise à l'identique du patrimoine applicatif, évitant ainsi les tests de non régression. Cette démarche est connue sous le nom de Plan de Convergence.
Sommaire
Le référentiel
PACBASE gère un référentiel d'entités, contenant un dictionnaire des données structuré.
Les principales entités sont :
- des rubriques : données (l'entité la plus élémentaire) ;
- des segments, ou fichiers : ensembles de données représentant des objets métiers ou des relations entre objets métiers. Ce sont des listes de rubriques ;
- des structures de données : ensembles de segments ou d'états ;
- des états : pour l'impression ;
- des programmes (batchs) ;
- des écrans (transactionnel) ;
- des textes (documentation) ;
- des manuels (ensembles de textes).
La gestion centralisée d'un référentiel permet d'obtenir les chaînages entre entités (quels programmes informatiques utilisent telle rubrique, etc.), de la même manière qu'un logiciel Wiki.
Les bibliothèques
PACBASE propose une arborescence hiérarchisée de bibliothèques dans lesquelles sont rangées les entités. Cela permet à plusieurs équipes de travailler sur le même référentiel et de stocker leurs programmes dans leurs bibliothèques propres.
Le principe de hiérarchie est le suivant : les entités d'une bibliothèque sont utilisables par les bibliothèques du niveau inférieur. Ainsi des entités importantes (que ce soit des données ou des macro-structures) peuvent n'être déclarées qu'une seule fois et donc communes à l'ensemble d'un site).
Les sessions
PACBASE propose un système de gestion de version au moyen de session historisée, de travail ou de session courante. Simpliste, elle permet cependant de gérer les différentes versions d'une application à condition de ne pas trop les multiplier ni de faire beaucoup de développements sur plusieurs branches à la fois.
Limites
PACBASE permet de générer facilement des programmes simples. Cependant, il est très restrictif et possède quelques bogues non corrigés. Cela tente parfois les programmeurs qui y sont confrontés à coder directement en COBOL, ce qui est vivement déconseillé. Une connaissance approfondie de l'outil permet de trouver une parade en respectant les normes de programmation liées à Pacbase ou à l'entreprise utilisatrice.
Par ailleurs, Pacbase est un outil manquant de convivialité, et sa portabilité sur d'autres environnements de développement que le COBOL n'est pas évidente. Il est structuré selon une logique datant des années 1970, dans laquelle on n'imaginait pas d'exigences fortes d'interopérabilité entre systèmes complexes.
La programmation
Que ce soit en batch ou en TP, la démarche est la même :
- Mise en place du standard PACBASE, qui consiste en une systématisation de la programmation. Le standard batch est différent du standard TP.
- Ajout du standard entreprise, via des Macro Structures Paramétrées (MSP)
- Finalisation par des traitements spécifiques
En batch
PACBASE gère des notions de rupture et de synchronisation de fichiers à l'aide d'indicateurs dédiés permettant de savoir très facilement pour chaque fichier, si l'on traite une donnée pour la première fois ou la dernière fois, ou si elle est présente dans d'autres fichiers en entrée.
En Transactional Processing (module Dialogue)
PACBASE gére la cinématique transactionnelle. Il prend également en charge tout l'aspect technique de l'interfaçage avec le moniteur transactionnel (par exemple : CICS)
Notes
- PACBASE s'utilise à l'aide d'un langage de commande assez peu ergonomique, assez différent des outils mainframe standard, ce qui restreint son utilisation à ceux qui ont suivi une formation dédiée. Une interface utilisateur ergonomique est utilisable en mode client-serveur, connu sous le nom de Pacdesign.
- Un module de Pacbase, PAF (PACBASE Access Facility), permet d'exécuter des scripts dans un langage proche du SQL (appelé PAF-SQL) ; les entités sont alors vues sous la forme de tables.
Liens externes
- (fr) Guides utilisateur IBM
- (fr) Association Guépard, Groupement des Utilisateurs Européens des Progiciels et Agls axés sur les Rencontres et les Développements. Ce site contient un tutoriel de Pacbase.
- (fr) Captures d'écran
- (en) wiki sur IBM VisualAge Pacbase
- Portail de l’informatique
Catégories : Grand Système IBM | Développement logiciel | Progiciel
Wikimedia Foundation. 2010.