Aller au contenu

sortie du mainframe

Sortie du mainframe : COBOL et AS/400 vers Go, Rust et TypeScript

Les programmes COBOL, les graphes JCL, les écrans CICS, les fichiers VSAM et les tables DB2 deviennent des services Go, un ordonnanceur ordinaire, un client web et du Postgres. Les copybooks deviennent des structures typées, le décimal condensé reste décimal, et chaque chaîne est comparée au centime près à votre sortie de production avant de prendre le relais. L'AS/400 aussi : RPG, CL, fichiers décrits en DDS et écrans 5250. Trente jours pour une sortie complète, et la première chaîne batch bascule en sept jours.

Obtenir un devisQuatre écrans sur la machine, les chaînes batch et la date. La réponse vient d'un ingénieur qui lit le COBOL.

30 jours pour une sortie complète ; la première chaîne batch bascule en 7


Les écrans verts partent en dernier, et le remplacement reste au clavier : les opérateurs vont plus vite au clavier qu'à la souris, et une migration qui les ralentit échoue au poste de travail.

Sur z/OS

Graphe de jobs JCL, programmes COBOL, écrans 3270, VSAM et DB2 en dessous.

  • BATCH.JCLJCL
  • PAYCALCCOBOL
  • CICS screens3270
  • VSAM filesflat
  • DB2z/OS

En dehors

Des services Go sur un ordonnanceur ordinaire, Postgres, un client web utilisable au clavier.

  • batch runnerGo · cron
  • paymentsGo
  • web clientTypeScript
  • postgresfrom VSAM + DB2

30 jours pour une sortie complète ; la première chaîne batch bascule en 7

Les écrans verts partent en dernier, et le remplacement reste au clavier : les opérateurs vont plus vite au clavier qu'à la souris, et une migration qui les ralentit échoue au poste de travail.

Comment le travail se déroule

Une chaîne batch à la fois, exécutée en parallèle de la vôtre, comparée enregistrement par enregistrement.
  1. 01jours 1–5

    Inventorier le graphe de jobs

    Chaque étape JCL, chaque dataset, chaque programme appelé, sous forme de graphe. Y compris ce dont personne ne parle au lancement : le job FTP de 3 h du matin, l'utilitaire qu'une seule personne sait relancer.

  2. 02jours 4–12

    Déplacer le modèle de données

    Les copybooks deviennent des structures typées, VSAM et DB2 deviennent des tables Postgres. EBCDIC, décimal condensé et REDEFINES se traitent ici, au lieu de se découvrir dans les derniers jours.

  3. 035 à 9 jours par chaîne

    Porter une chaîne, faire tourner les deux

    La nouvelle chaîne traite les mêmes entrées la même nuit et la sortie est comparée enregistrement par enregistrement. Elle prend le relais quand les différences sont nulles, ou écrites et acceptées.

  4. 04par sous-système

    Retirer la région

    Les transactions CICS passent sur le client web, la LPAR rétrécit, et la ligne MIPS et licences baisse enfin. C'est la partie sur laquelle votre direction financière posait des questions.

Ce que fait la plateforme, ce que fait un humain

Analyser quarante ans de COBOL est un travail de machine, et la plateforme le fait en quelques jours. Savoir lesquels de ces programmes comptent encore est la raison pour laquelle nos ingénieurs s'assoient avec les vôtres.
C'est la comparaison qui décide si une chaîne est prête. Personne, d'aucun côté, ne peut la contredire avec une opinion.
Ce que fait la plateforme, ce que fait un humainQui fait quoiNotes
Analyser COBOL, JCL et copybooksPlateformeBizarreries de dialecte comprises, et le copybook inclus onze fois avec des REDEFINES différents.
Établir quels programmes sont encore vivantsLes deuxLes logs de jobs répondent à l'essentiel. Le reste demande quelqu'un qui se souvient de 2004.
Traduire un programmePlateformeRelu comme une merge request, et réécrit à la main là où la sortie machine se lit comme du COBOL traduit.
Arithmétique en virgule fixePlateformeLe décimal reste décimal. Une dérive d'un centime apparaît dans la comparaison et la fait échouer.
Les écrans opérateursIngénieurDessinés avec les gens qui les utilisent, pilotables au clavier, chronométrés contre leur vitesse sur 3270.
Fenêtre batch et basculeIngénieurQuelle nuit, qui est d'astreinte, et à quoi ressemble le retour arrière à 4 h du matin.
La discussion avec votre éditeur de licencesIngénieurCaler la sortie sur les dates de contrat vaut de l'argent réel et personne ne l'automatise.

Qui fait le travail

Une équipe d'ingénieurs qui lisent le COBOL et le RPG pour gagner leur vie, avec des dizaines de migrations et plus de dix ans sur des machines comme la vôtre : z/OS et AS/400, batch JCL et transactions CICS, VSAM, DB2 et IMS, des copybooks à onze REDEFINES, du décimal condensé qui doit tomber au centime. Vos gens COBOL parleront à des ingénieurs qui lisent le même code qu'eux.


Une chaîne batch est le test que nous proposons, et nous la cadrons ainsi : portée, exécutée sur vos propres entrées de production pendant quelques cycles, avec le diff au niveau enregistrement sur la table. Vous jugez un rapport de comparaison sur vos données plutôt que notre marketing.

Questions que nous posent les ingénieurs

Pourquoi Go plutôt que Java ?
Parce qu'un job batch qui démarre en quelques millisecondes et se livre en un seul binaire statique est plus simple à ordonnancer et à comprendre à 3 h du matin. Si votre équipe plateforme est standardisée sur Java, nous écrivons du Java, et la méthode ne change en rien.
Que deviennent nos gens COBOL ?
Ils deviennent les personnes les plus précieuses du projet. Toute migration cale sur une règle que personne n'a écrite, et ils sont les seuls à la connaître. Dans les plans que nous écrivons, ils passent de la maintenance à l'arbitrage.
Les chiffres vont-ils coïncider exactement ?
C'est le critère d'acceptation, pas un souhait. Les champs COMP-3 deviennent du décimal en virgule fixe, jamais du flottant, et la comparaison échoue sur un centime d'écart. Quand un écart est légitime, il est écrit et validé avant que la chaîne bascule.
Combien de temps fait-on tourner les deux systèmes ?
Jusqu'à ce que la comparaison soit propre, ce qui fait un à trois cycles pour la plupart des chaînes. Pour un job de clôture mensuelle, nous rejouons le mois que vous avez déjà enregistré au lieu d'attendre le suivant, si bien qu'une clôture trimestrielle n'ajoute pas un trimestre au projet.
Faites-vous aussi l'AS/400 ?
Oui : RPG et CL, fichiers décrits en DDS, écrans verts en 5250. La mécanique est la même que sur z/OS et le calendrier est en général plus court, parce que le graphe de jobs est plus simple et les machines plus petites.

Commencez par une chaîne batch

Ce qu'elle fait, quand elle tourne, et ce qui casse en aval si elle finit en retard. Cela nous suffit pour revenir avec un périmètre, une durée et un prix pour la déplacer.

Obtenir un devis

Le formulaire demande les chaînes batch et la fenêtre de traitement, alors gardez l'ordonnanceur ouvert.