К содержимому

уход с мейнфрейма

Модернизация мейнфрейма: COBOL и AS/400 на Go, Rust и TypeScript

Программы на COBOL, графы заданий JCL, экраны CICS, файлы VSAM и таблицы DB2 становятся Go-сервисами, обычным планировщиком, веб-клиентом и Postgres. Копибуки превращаются в типизированные структуры, упакованная десятичка остаётся десятичкой, и каждое задание сверяется с вашим продовым выводом до копейки, прежде чем взять работу на себя. AS/400 тоже: RPG, CL, файлы, описанные через DDS, экраны 5250. Тридцать дней на полный уход, и первый поток заданий переезжает за семь.

Получить оценкуЧетыре экрана про машину, потоки заданий и то, что давит на дату. Отвечает инженер, который читает COBOL.

30 дней на полный уход; первый поток заданий переезжает за 7


Зелёные экраны уходят последними, и замена остаётся клавиатурной: на клавиатуре операторы быстрее, чем на мыши, а миграция, которая их замедляет, проваливается прямо за рабочим столом.

На z/OS

Граф заданий JCL, программы на COBOL, экраны 3270, снизу VSAM и DB2.

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

Снаружи

Go-сервисы на обычном планировщике, Postgres, веб-клиент, по которому операторы ходят с клавиатуры.

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

30 дней на полный уход; первый поток заданий переезжает за 7

Зелёные экраны уходят последними, и замена остаётся клавиатурной: на клавиатуре операторы быстрее, чем на мыши, а миграция, которая их замедляет, проваливается прямо за рабочим столом.

Как идёт работа

По одному потоку заданий, параллельно с вашим, со сравнением запись за записью.
  1. 01дни 1–5

    Описать граф заданий

    Каждый шаг JCL, каждый датасет, каждая программа, которую он вызывает, в виде графа. И то, о чём не говорят на старте: FTP-задание в три ночи, утилита, которую умеет перезапускать один человек.

  2. 02дни 4–12

    Перевезти модель данных

    Копибуки становятся типизированными структурами, VSAM и DB2 становятся таблицами Postgres. EBCDIC, упакованная десятичка и REDEFINES разбираются здесь, а не всплывают в последние дни.

  3. 035–9 дней на поток

    Перенести поток и запустить оба

    Новый поток идёт на тех же входах в ту же ночь, и вывод сравнивается запись за записью. Он забирает работу, когда расхождений нет или они записаны и согласованы.

  4. 04по подсистемам

    Погасить регион

    Транзакции CICS переезжают в веб-клиент, LPAR ужимается, и строка расходов на MIPS и лицензии наконец идёт вниз. Это та часть, о которой спрашивал ваш финансовый директор.

Что делает платформа, что делает человек

Разобрать сорок лет COBOL - машинная работа, и платформа делает её за дни. А чтобы понять, какие из этих программ ещё имеют значение, наши инженеры садятся рядом с вашими.
Готовность потока решает сравнительный прогон. Перебить его мнением не может ни одна из сторон.
Что делает платформа, что делает человекКто делаетПримечания
Разбирает COBOL, JCL и копибукиПлатформаВместе со странностями диалекта и копибуком, который включён одиннадцать раз с разными REDEFINES.
Выясняет, какие программы ещё живыВместеЛоги заданий отвечают на большую часть. Остальное требует человека, который помнит 2004 год.
Переводит программуПлатформаЧитается как пул-реквест и переписывается руками там, где машинный вывод читается как переведённый COBOL.
Арифметика с фиксированной точкойПлатформаДесятичка остаётся десятичкой. Расхождение в одну копейку вылезает в сравнительном прогоне и валит его.
Экраны операторовИнженерПроектируются вместе с теми, кто в них работает, клавиатурными, с замером скорости против 3270.
Батч-окно и переключениеИнженерКакая ночь, кто на дежурстве и как выглядит откат в четыре утра.
Разговор с вендором лицензийИнженерСвести уход с датами договора стоит настоящих денег, и это никто не автоматизирует.

Кто делает работу

Инженеры, которые читают COBOL и RPG каждый день. Десятки миграций и больше десяти лет на таких же машинах: z/OS и AS/400, батч на JCL и транзакции CICS, VSAM, DB2 и IMS, копибуки с одиннадцатью REDEFINES, упакованная десятичка, которая обязана лечь до копейки. Ваши COBOL-разработчики будут говорить с инженерами, читающими тот же код, что и они.


Проверку предлагаем такую: один поток заданий, перенесённый и прогнанный на ваших продовых входах несколько циклов, с построчным диффом на столе. Вы читаете отчёт сравнения по своим данным, а не оцениваете наш маркетинг.

Вопросы, которые задают инженеры

Почему Go, а не Java?
Потому что батч-задание, которое стартует за миллисекунды и приезжает одним статическим бинарником, проще планировать и проще понимать в три ночи. Если ваша платформенная команда стандартизирована на Java, мы пишем на Java, и в методе от этого не меняется ничего.
Что будет с нашими COBOL-разработчиками?
Они становятся самыми ценными людьми в проекте. Любая миграция встаёт на правиле, которое никто не записал, и знают его только они. В планах, которые мы пишем, они переходят из поддержки в арбитраж.
Числа сойдутся точно?
Это критерий приёмки, а не пожелание. Поля COMP-3 становятся фиксированной десятичкой, никогда плавающей, и сравнительный прогон падает на расхождении в одну копейку. Где расхождение законно, оно записывается и подписывается до переключения потока.
Сколько мы держим обе системы?
Столько, сколько нужно, чтобы сравнение стало чистым, а это для большинства потоков от одного до трёх циклов. Месячное закрытие мы переигрываем на том месяце, который у вас уже записан, вместо того чтобы ждать следующего, поэтому квартальное закрытие не добавляет к проекту квартал.
AS/400 вы тоже делаете?
Да: RPG и CL, файлы, описанные через DDS, зелёные экраны поверх 5250. Механика та же, что на z/OS, а срок обычно короче, потому что граф заданий проще и коробки меньше.

Начните с одного потока заданий

Что он делает, когда стартует и что ломается ниже по цепочке, если он закончится поздно. Этого хватит, чтобы мы вернулись с объёмом, сроком и ценой переноса.

Получить оценку

Форма спрашивает про потоки заданий и батч-окно, так что удобно держать планировщик открытым.