Англійська для модернізації COBOL
Словник для команд, що модернізують мейнфреймові системи COBOL — міграція strangler-fig, переклад copybook, перетворення batch-to-API і словник ризиків, яких очікують зацікавлені сторони в цих проектах.
Модернізація COBOL є проблемою комунікації, так само як і інженерною проблемою — інженери, які розуміють 40-річну систему і зацікавлені сторони, які фінансують її заміну, часто не мають спільного словника. Отримання цих умов правильно важливо для встановлення реальних очікувань щодо обсягу, ризику і часової шкали.
Ключовий словник
** Copybook ** — файл, що містить файл COBOL, який визначає компонування записів, які спільно використовуються багатьма програмами, функціонує як спільне визначення структури, і є однією з перших речей, які слід інвентаризувати у проекті модернізації, оскільки він визначає фактичний контракт даних застарілої системи. “Перед тим, як ми зможемо навіть визначити обсяг міграції, нам потрібен повний перелік кожного з текстових файлів, які містить ця програма — розклад записів у цьому текстовому файлі є справжнім інтерфейсом, який ми зворотно- інженеруємо, а не логікою COBOL навколо нього.”
** Странглер- фіг шаблон ** — стратегія модернізації поступового маршрутизації трафіку або функціональності з застарілих систем до нових, один за одним, а не один « великий вибух », названий на честь виноградної лози, яка поступово росте навколо і зрештою замінює дерево- господаря. “Ми не переписуємо всю систему претензій за раз - ми використовуємо шаблон «душитель-фіг», маршрутизуючи нові типи претензій до нової служби спочатку, поки мейнфрейм продовжує обробляти все інше, поки не буде доведено кожен шматок.”
** Вікно пакетної обробки ** — фіксоване нічне або непікове часове вікно, протягом якого виконуються пакетні завдання мейнфреймів, це обмеження планування, яке слід враховувати у будь- якому плані модернізації, доки не буде завершено перенесення самої пакетної обробки.
- “Ми не можемо просто додати цей новий крок перевірки до нічних завдань — він повинен вміститися у існуюче вікно пакета, інакше весь ланцюг нижніх завдань буде запізнено розпочато наступного робочого дня.” *
** Витягування бізнес- правил ** — процес ідентифікації і документування фактичної бізнес- логіки, вбудованої у десятиліттями старий код COBOL, часто недокументований і відомий лише через сам код, який зазвичай є найвищим ризиком і найбільш тривалою частиною проекту модернізації. “Переписування COBOL само по собі є легкою частиною - вилучення бізнес-правил є місцем, де живе справжній ризик, оскільки деякі з цих логік існують ніде, крім коду, написаного до того, як хтось з команди приєднався до компанії.”
** Паралельне виконання ** — фаза перевірки, під час якої нова система обробляє ті ж самі вхідні дані, що і старіша система, і порівнює їхні виводи. Ця фаза використовується для перевірки того, що заміна є еквівалентною за поведінкою перед тим, як старіша система буде вилучено з експлуатації. “Ми ще не виводимо з експлуатації мейнфреймову роботу - ми запускаємо паралельний запуск для двох повних циклів розрахунків, порівнюючи кожен вихідний рядок за рядком, щоб вловити будь-які поведінкові розбіжності, перш ніж справжні клієнти залежатимуть від нової системи в одиночку.”
Звичайні фрази
- «Чи ми інвентаризували кожен копірайтер, від якого залежить ця програма, або ми все ще знаходимо залежності?»
- Чи є ця міграція за допомогою шаблону штрангер-фіг, або ми плануємо один перетин?
- Чи вписується це всередину існуючого пакетного вікна, чи це тисне на розклад?»
- «Чи було вилучення бізнес-правил насправді зроблено для цього модуля, або ми припускаємо, що перепис відповідає оригінальній поведінці?»
- Як довго триває паралельний біг, і який наш поріг для того, щоб назвати його чистим матчем?»
Приклади висловлювань
Обсяг проекту модернізації: “Перед тим, як ми оцінимо це, нам потрібен перелік копій всіх сорока програм в цій підсистемі — макети записів є справжньою поверхнею API, яку ми мігруємо, і зараз ніхто не має повного списку з них.”
Пояснення стратегії міграції зацікавленим сторонам:
- “Ми використовуємо підхід “душитель-фіг” замість повного переписування, тому що перехід на систему великого вибуху в такому критичному стані несе занадто багато ризику. Нові типи транзакцій переходять на нову платформу спочатку, і мейнфрейми продовжують працювати все інше, поки ми не впевнені. ”*
Позначення реального ризику у перегляді проекту:
- “Переклад з COBOL на Java не є в’ язким місцем — це вилучення бізнес- правил. Ми вже знайшли три правила ціноутворення в цьому модулі, які існують тільки в ланцюжку вкладених IF-інструкцій з 1998 року, без документації деінде.”*
Професійні поради
- Запускати кожну ** копію книги ** інвентаризації перед написанням жодного рядка коду міграції — незавершена копія книги інвентаризації є однією з найпоширеніших причин того, що оцінки модернізації виявляться неправильними.
- Типовий варіант ** strangler- fig ** для будь- якої системи, де перехід на нову версію з великим вибухом може спричинити серйозний бізнес- ризик — це дозволяє вам перевіряти кожну частину перенесеного коду незалежно від інших, замість того, щоб робити ставку на те, що весь проект буде перенесено на одну ніч.
- Поважати ** пакетне вікно ** як жорстке обмеження у кожній розмові щодо планування, а не як щось, що можна додати пізніше — воно безпосередньо обмежує кількість нової логіки, яку можна додати до існуючої нічної обробки без зміни дизайну.
- Розглядати ** виведення бізнес- правил ** як найбільш ризиковану фазу проекту і відповідно до цього підбирати персонал — інженери, які знають область, а не тільки інженери, які можуть читати синтаксис COBOL, є тим, що дійсно потрібно на цій фазі.
- Ніколи не пропускайте ** паралельний запуск ** перед виведенням з експлуатації застарілих функцій, навіть під тиском розкладу — це найдешевша доступна страховка від поведінкової невідповідності, яку пропустили лише тестування.
Практичні вправи
- Поясніть, чому інвентаризація підручників є одним з перших кроків у проекті модернізації COBOL.
- Опишете різницю між шаблоном душителя- інжиру і розрізом великого вибуху.
- Напишіть речення, у якому поясните, чому видобування бізнес- правил часто є найбільш ризикованим етапом проекту модернізації.
Наприклад, глобальний ринок: глобальний ринок — це ринок, що об’єднує всі країни світу
Основна частина « Англійська для модернізації COBOL » зосереджена на спеціалізованому словнику, що оточує це все більш поширене технічне завдання. Однак, важливим елементом, який часто ігнорується, є те, як лексика * комунікує * і як різні культурні розуміння точності можуть вплинути на успіх проекту. Коли команди географічно розсіяні - як вони часто є в масштабних заходах з модернізації - тонкі відмінності у фразуваннях і очікуваннях навколо ясності стають значними. Розглянемо сценарій, у якому Сара, розробник з Німеччини, переглядає запит на перетягування, надісланий Давидом з Індії, що стосується перетворення пакета даних у API за допомогою інструменту, подібного до Postman. Початковий PR-опис Девіда просто стверджував: «Перетворено пакетне завдання на API»
Сара, звикла до дуже чіткої і докладної документації в процесі своєї команди, негайно позначила його як недостатньо контексту. Її коментар: «Дейвід, чи можете ви розібратися в логіці трансформації, застосованої під час цього перетворення? Зокрема, які зміни були внесені до структур даних copybook, і як нова кінцева точка API вирівнює оригінальну стратегію обробки помилок пакетного завдання? Документація повинна чітко вказати на вплив на цілісність даних – чи ми підтримуємо 100% парність, чи є відомі розбіжності?” Цей здавалося б простий запит підкреслює потенційну точку тертя. Девід, що працює в рамках більш неформального стилю спілкування, поширеного в деяких міжнародних командах, може інтерпретувати коментар Сари як надто критичний або навіть вимогливий. Різниця не просто в технічному словнику; вона полягає в тому, як цей словник представлений і прийнятий. Зрозуміти ці нюанси - особливо щодо рівнів необхідних деталей, очікувань щодо документації і підходів до оцінки ризиків - є надзвичайно важливим. Зацікавлені сторони очікують детального звіту про потенційні наслідки, тому точність з термінологією стає критичним при управлінні цими розмовами.
Крім того, використання таких термінів, як «миграція фігового душника», може бути інтерпретовано по-різному. Хоча концепція універсально розуміється як поетапний підхід, конкретна фраза і наголос, застосовані до неї, можуть відрізнятися в залежності від контексту. Європейська команда може зосередитися на ризику, пов’язаному з будь-якими змінами в основному мейнфреймі, в той час як азійська команда може приділяти пріоритет швидкості доставки і мінімізації перешкод - що призводить до обговорень щодо «прийнятного рівня ризику». Важливо, щоб команди встановили чіткі протоколи комунікації на початку, описуючи очікування щодо документації, участі у зустрічах і доставки зворотнього зв’язку. Цей проактивний підхід зменшує нерозуміння і забезпечує, що всі працюють з однаковим рівнем ясності щодо цілей проекту і потенційних викликів.
Щоб проілюструвати, як ці концепції можна застосувати на практиці, розгляньте можливість використання Postman для перевірки кінцевої точки API після перекладу з копірайту. Проста команда для отримання даних може виглядати так:
curl -X GET "https://api.example.com/data?id=123"
Це ілюструє потребу в точних формулюваннях при описі перетворень і перевірці цілісності даних, незалежно від походження або командної культури.