COBOL ще не вмер, бере участь у хмарі

  • Oct 18, 2023

Загальна мудрість говорить, що COBOL мав би померти багато років тому, але мова, яка лежить в основі фінансових систем, все ще існує й переходить у хмару.

«Для більшості людей у ​​нашому повсякденному житті майже неможливо уникнути програми COBOL», — каже Стюарт Макгілл, головний технічний директор і генеральний менеджер Borland для Micro Focus. «Ми, як правило, не можемо обійтися без програм COBOL».

Маючи майже 30 років роботи в компанії, можна сказати, що Макгілл знайомий із тонкощами одна з найстаріших мов програмування — мова, яка все ще лежить в основі фінансів світ.

«Зазвичай більшість транзакцій, через які ми проходимо щодня, підтримуються програмами COBOL, і досі вони підтримуються протягом 30-40 років, ймовірно, все ще підтримуватимуться принаймні протягом 10-20», — каже Макгілл.

Десятиліттями COBOL працював на важкому залізі, яке займає обчислювальне ядро ​​багатьох банківських установ — це сектор, який традиційно консервативний і чекає, поки цикли технологічного ажіотажу пройдуть, перш ніж отримати відчутні прибутки від пропозиція. З появою та доведеними перевагами віртуалізації та визнанням хмари як життєздатної платформи COBOL починає відходити від мейнфреймів і прямує до хмари.

Концептуально перенесення мови, яка бере свій початок у 1950-х роках, на сучасній платформі як послуга може здається марною вправою, але Макгілл каже, що це передача не така карколомна, як це звучить на перший погляд.

«Вірте чи ні, але, ймовірно, легше перемістити COBOL у хмару, ніж перемістити програму C/C++ у хмару. Безумовно, простіше розмістити програму COBOL у хмарі, особливо з мейнфрейму, ніж клієнт-сервер або клієнт-сервер [середовище] на базі Microsoft», — каже він.

Дизайн і досвід COBOL, орієнтований на мейнфрейми, дозволяє програмам зосередитися на тому, що вони добре роблять — обробці транзакцій і бізнес-логіці.

«Багато понять досить знайомі», — сказав Макгілл. «Наприклад, більшість програм IBM використовують CICS, який є псевдорозмовним, тобто ви майже маєте програми, які є майже RESTful у дуже обмежений спосіб за своєю природою, тоді як RESTful стан або псевдорозмовний стан просто не існує в клієнт-серверних програмах, це означає, що [щоб перенести таку програму в хмару] вам потрібно повторно створити програму, а отже, майже починати з подряпина».

"Оскільки з точки зору COBOL, ви майже маєте деякі концепції, які насправді шукаєте вже вбудовано в інфраструктуру, яка оточує додатки COBOL, і це було зроблено для багатьох, багатьох років. Рівні інфраструктури в мейнфрейм-додатку побудовані навколо мов, які просто виконують обробку, дані оптимізовані через різні рівні, щоб дуже швидко впоратися з величезними обсягами даних або в послідовному режимі, або в певному ступені, паралельно».

Це не означає, що COBOL є чарівним панацеєю, яку індустрія зневажала протягом півстоліття, є одна сфера, де COBOL жахлива: інтерфейси користувача. Макгілл каже, що цей аспект мови фактично допоміг її виживанню, оскільки потрібно було відокремити інтерфейс користувача від основної логіки, оскільки форм-фактори змінювалися протягом десятиліть, змінилися рівні презентації та інтерфейсу, а не основна обробка себе.

«Їм довелося б змінити інтерфейс користувача, так, і бази даних змінилися б, але що стосується коду, вони не були змушені вносити жодних змін», — каже Макгілл.

«Загалом кажучи, ви не дуже хочете, щоб бізнес-логіка сильно змінилася. Правила змінюються, але насправді більшість компаній, якщо вони точно орієнтовані на транзакції, їхній бізнес – це система. Те, що їх унікально, загорнуто в ці системи».

«Це і добре, і погано, всі недоліки та речі, яких ви хотіли б позбутися, ймовірно, знаходяться в тих самих системах, але всі речі, які роблять цю компанію унікальною, також загорнуті в них».

Оскільки кількість учасників системи зросла з десятків користувачів у дні мейнфреймів до тисяч на початку існування Інтернету, а зараз мільйонам користувачів, яким сьогодні потрібен миттєвий доступ у реальному часі з безлічі пристроїв, основні транзакційні системи стають дедалі меншими тиск.

«У випадку Bank of China у вас є 318 мільйонів власників рахунків, і всі вони хочуть працювати з основними системами день у день, — каже Макгілл.

«Це означає, що навіть системи мейнфреймів починають боротися з величезним навантаженням, яке на них покладено, тому одна з причин, чому досить корпоративні організації розумного розміру хочуть перемістити всі ці дійсно важливі системи в хмару, тобто COBOL у хмару, їм потрібно просто впоратися з попитом».

«Зараз ми дійсно починаємо бачити першу хвилю великих, дійсно важливих клієнтів, які справді намагаються зрозуміти, як вони збираються використовувати хмару для доставки основних систем, і це стимулюватиме наступне покоління клієнтських систем програми"

З переходом бізнесу в хмару завжди виникає спокуса замінити застарілі системи з найновішими та найкращими мовами та фреймворками, однак Макгілл бачив усе раніше. За його словами, COBOL можна було замінити під час раннього переходу до розподілених обчислень або в перші дні ПК — найважчим часом для цієї мови були дні клієнт-сервера обчислення. Після цієї загрози все виглядало нормально, оскільки галузь перейшла на інтранет та Інтернет. обчислювальної техніки, перш ніж досягти сучасного ландшафту, де мобільні пристрої та хмара здаються вказівниками майбутнього.

Як і COBOL та його практики, так і Father Time, і це змінило спосіб розробки COBOL.

«З точки зору хлопців, які дійсно знають старі мейнфрейм-системи, вони старіють. Але в чомусь вони досить унікальні, оскільки їхня кар’єра зазвичай пов’язана навколо однієї програми — вони не були COBOL програмісти, вони навіть не були програмістами COBOL для мейнфреймів, вони були розробниками додатків для страхування житла чи автомобіля", Макгілл каже.

«Велика проблема для більшості підприємств полягає не у віці, а в тому, що вони збираються йти на пенсію, а в тому, що ці хлопці такі продуктивні. Їм не потрібні якісь фантастичні інструменти, щоб розповісти їм, як насправді виглядає один рядок зміни коду, вони, ймовірно, точно знають, де вона вони повинні бути, можуть отримати це негайно, внести зміни, і вони знають, де всі впливи будуть — тому вони дуже продуктивні Люди."

На іншому кінці спектру знаходяться молоді програмісти та випускники, які походять зі світу, де домінують Java, JavaScript, HTML, PHP, Python або Ruby. Вони знають багато мов.

«Ключова відмінність полягає в тому, що зараз вони не мають знань про застосування, але мають знання предметної області». Макгілл каже. «Вони знають Visual Studio або вони знають Eclipse, і в них є інші мови».

Через різні способи роботи сучасних програмістів Макгілл каже, що Micro Focus довелося підняти інструменти на вищий рівень.

«Вони звикли до багатьох підходів до мови, орієнтованих на інструменти, а не до мовного підходу до середовища», — каже він.

«Насправді головне для COBOL полягало в тому, щоб зробити його дійсно зручним для програмістів у новому середовищі та максимально простим для вивчення».

Дивлячись у майбутнє, Макгілл каже, що через несприятливий характер установ, інвестованих у COBOL, перехід до хмари лише починається.

«Клієнти дуже консервативні. Ми говорили про COBOL у хмарі, вірите чи ні, мабуть, п’ять років»

«Те, що ви зазвичай бачите, полягає в тому, що хмара всім набридла, насправді справжні речі тільки-но з’являться на платформі — і це стане основою для програм наступного покоління».