En informatique , Interactive System Productivity Facility ( ISPF ) est un produit logiciel destiné à de nombreux systèmes d'exploitation centraux IBM historiques et actuellement aux systèmes d'exploitation z/OS et z/VM qui s'exécutent sur les mainframes IBM . Il comprend un éditeur d'écran , dont l' interface utilisateur a été émulée par certains éditeurs de micro-ordinateurs vendus dans le commerce à partir de la fin des années 1980, notamment SPF/PC .
ISPF fournit principalement une interface de terminal IBM 3270 avec un ensemble de panneaux . Chaque panneau peut inclure des menus et des boîtes de dialogue pour exécuter des outils sur l'environnement sous-jacent, par exemple, Time Sharing Option (TSO). En général, ces panneaux fournissent simplement une interface pratique pour effectuer des tâches : la plupart d'entre eux exécutent des modules de programmes utilitaires du mainframe IBM pour effectuer le travail réel. ISPF est fréquemment utilisé pour manipuler des ensembles de données z/OS via son outil de développement de programmes (ISPF/PDF).
ISPF est extensible par l'utilisateur et est souvent utilisé comme interface de programmation d'application . De nombreux fournisseurs ont créé des produits pour z/OS qui utilisent l'interface ISPF.
Une première version s'appelait Structured Programming Facility ( SPF ) et fut introduite dans les systèmes SVS et MVS en 1974. IBM a choisi ce nom car SPF a été introduit à peu près au même moment que les concepts de programmation structurée . En 1979, IBM a introduit une nouvelle version et un produit compatible pour CMS sous Virtual Machine Facility/370 Release 5.
En 1980, IBM a changé son nom en System Productivity Facility et a proposé une version pour CMS sous VM/SP .
En 1982, IBM a changé le nom en Interactive System Productivity Facility, a séparé certaines installations en Interactive System Productivity Facility/Program Development Facility (ISPF/PDF) et a proposé une version pour VSE/AF .
En 1984, IBM a publié ISPF Version 2 et ISPF/PDF Version 2 ; les versions VM permettaient à l'utilisateur de sélectionner soit l'éditeur PDF, soit XEDIT .
IBM a finalement réintégré le format PDF dans le produit de base.
ISPF peut également être exécuté à partir d’un travail par lots z/OS .
Outils interactifs ISPF/PDF
Lorsqu'un utilisateur TSO de premier plan (interactif) invoque ISPF, il fournit un système de menus, normalement avec un affichage initial d'un menu d'options principal ce qui lui donne accès à de nombreux outils utiles pour le développement d'applications et pour l'administration du système d'exploitation z/OS .
Ces outils comprennent
- Parcourir – pour afficher les ensembles de données , les membres d'ensembles de données partitionnés (PDS) et les fichiers des services système Unix .
- Modifier – pour modifier les ensembles de données, les membres PDS et les fichiers des services système Unix.
- Utilitaires – pour effectuer des opérations de manipulation de données, telles que :
- Liste des ensembles de données – qui permet à l'utilisateur de répertorier et de manipuler (copier, déplacer, renommer, imprimer, cataloguer, supprimer, etc.) des fichiers (appelés « ensembles de données » dans l' environnement z/OS ).
- Liste des membres – pour des manipulations similaires des membres des PDS.
- Outils de recherche permettant de trouver des modules ou du texte au sein de membres ou d'ensembles de données.
- Comparer les fonctionnalités permettant de comparer des membres ou des ensembles de données.
- Gestion de la bibliothèque, y compris la promotion et la rétrogradation des modules du programme.
ISPF comme environnement de développement d'interface utilisateur
ISPF/PDF repose sur un ensemble complet d'outils qui permettent aux développeurs d'applications de créer des applications pilotées par des panneaux, ainsi que sur un ensemble de directives visant à promouvoir une utilisation cohérente des fonctions ISPF. Un « panneau » est une « fenêtre » basée sur des caractères qui peut englober tout ou partie de l'espace écran d'une session 3270. Voir Interfaces utilisateur textuelles .
La plupart des fournisseurs de logiciels mainframe ont utilisé les fonctions ISPF pour créer leurs applications. Leurs outils sont donc similaires en apparence et en fonctionnement à ISPF. De même, de nombreuses installations écrivent leurs propres outils informels qui utilisent les services ISPF.
Les services ISPF sont généralement disponibles pour tout programmeur de l'atelier et peuvent être utilisés pour écrire des panneaux destinés à une utilisation personnelle ou à l'échelle de l'atelier, en écrivant soit dans des langages compilés tels que HLASM , C , COBOL , PL/I , soit dans des langages interprétés tels que CLIST , REXX et ooRexx .
Les applications ISPF peuvent être utilisées pour exécuter des fonctions dites de « personnalisation de fichiers », la personnalisation de membres JCL spécialement conçus appelés « squelettes », qui peuvent ensuite être soumis sous forme de tâches par lots au mainframe.
Éditeur
L'écran de l'éditeur est formaté avec 2 lignes (ligne d'information et de commande) en haut (ou en bas, au choix de l'utilisateur), une colonne de numéro de ligne de six caractères dans la marge de gauche et le reste de la largeur de l'écran rempli avec les enregistrements de l'ensemble de données en cours d'édition. Les commandes principales (qui s'appliquent à l'ensemble de données) telles que Rechercher, Imprimer, Trier, etc. sont saisies dans la ligne de commande. Les commandes de ligne (qui s'appliquent uniquement à des lignes spécifiques) telles que copier, déplacer, répéter, insérer, exclure, supprimer, enchaînement de texte, fractionnement de texte sont saisies en écrasant les champs de numéro de ligne avec un code d'un ou deux caractères représentant la commande à appliquer à cette ligne, suivi d'un numéro facultatif qui modifie davantage la commande fournie.
L'éditeur possède plusieurs fonctionnalités clés :
- Surlignage des couleurs en fonction du contexte pour plusieurs langues et types de fichiers
- Pliage de code via la commande X ou XX...XX(masquer) ligne(s) et révélation sélective de l'indentation
- commandes macro de l'éditeur dans REXX ou langages compilés
- comparaison avec un autre ensemble de données
- modèles d'appels de service ISPF
- Aide contextuelle disponible
- récupération après des séances perdues
L'éditeur peut également être invoqué en mode « visualisation ». Il se comporte comme l'éditeur, mais ne permet pas de sauvegarder les données. Les fichiers édités peuvent également être sauvegardés sous un nom différent, créant ou remplaçant un autre fichier.
ISPF fournit l'« interface d'édition » qui permet à un programme d'application d'afficher des données arbitraires dans le panneau d'édition familier. Ainsi, de nombreux packages de fournisseurs utilisent cette interface familière.
Personnalisation
ISPF est conçu pour être personnalisé pour chaque utilisateur (un concept relativement nouveau en 1974, lorsqu'il a été introduit). Certaines personnalisations sont globales et d'autres sont spécifiques à une application ISPF.
Il prend en charge un ensemble de 24 touches de fonction qui, lorsqu'elles sont pressées, exécutent des commandes. Celles-ci sont personnalisables : chaque utilisateur peut remplacer les commandes par défaut attribuées à n'importe quelle touche par sa propre commande préférée (ou série de commandes). Les paramètres utilisateur sont stockés de manière centralisée, de sorte que l'utilisateur peut se connecter à partir de n'importe quel terminal et que cette session se souviendra des commandes choisies précédemment pour chaque touche. La plupart des ordinateurs personnels ont copié cela et disposent d'un ensemble de 12 ou 24 touches de fonction. Même certaines valeurs par défaut ont perduré : la touche F1 déclenche une fonction « d'aide » sur un grand nombre de programmes mainframe et PC .
ISPF mémorise les choix de chaque utilisateur concernant des éléments tels que les couleurs et la disposition de l'écran, l'emplacement de la ligne de commande et les préférences de défilement. Il mémorise également les noms des derniers ensembles de données utilisés sur chaque panneau, de sorte que la prochaine fois que le panneau est utilisé, les noms sont déjà renseignés. Cela est très pratique pour les programmeurs mainframe car ils travaillent fréquemment avec les mêmes fichiers de manière répétée.
Utilisation du PC
La plupart des premiers utilisateurs de PC étaient des programmeurs ou des utilisateurs de mainframes, habitués au système de panneau ISPF et qui l'appréciaient. Cela a conduit plusieurs entreprises à créer des clones partiels d'ISPF qui fonctionnent sur les systèmes PC DOS , OS/2 , Windows ou Unix . En 1984, IBM a introduit le gestionnaire de dialogue EZ-VU pour PC DOS, et plus tard OS/2 . En 1991, Tritus, Inc. a introduit Tritus SPF (TSPF), un programme permettant d'utiliser des applications ISPF mainframe et d'éditer des macros écrites en REXX sur DOS, OS/2 et Windows ; la dernière version était la 1.2.8 en 1994. Les éditeurs de style ISPF gratuits pour Windows incluent SPF/SE et SPFlite .
En 1994, IBM a lancé un programme client téléchargeable intégré appelé ISPF Workstation Agent (WSA) qui peut être installé et exécuté sur OS/2, Windows et certaines stations de travail UNIX . La version z/OS d'ISPF inclut uniquement WSA pour Windows et certaines stations de travail UNIX . WSA communique directement avec ISPF sur z/OS et fournit automatiquement une interface utilisateur graphique de type pointer-cliquer .
L'agent de station de travail ISPF peut être utilisé pour modifier des fichiers basés sur PC à partir de l'éditeur ISPF afin de profiter des points forts de l'éditeur.