Кризис знаний о Cobol угрожает финансовой системе Нидерландов

Кризис знаний о Cobol угрожает финансовой системе Нидерландов

Кобол по-прежнему составляет основу многих важнейших финансовых и административных систем и широко используется в Нидерландах из-за ранней и умелой автоматизации экономики.

Cobol был и остается основной технологией для создания надежных финансовых и административных систем, например тех, которые используются налоговой администрацией, банками, страховщиками и ипотечными кредиторами.

«Создание этих систем началось в 1960-х годах», — сказал Юрген Винью, исследователь Голландского национального исследовательского института математики и информатики Centrum Wiskunde & Informatica (CWI) и профессор автоматизированного анализа программного обеспечения в Техническом университете в Эйндховен.

«Системы неизбежно растут за счет добавления новых функций и адаптации к меняющимся обстоятельствам. К сожалению, поддержание этих систем как небольших и управляемых часто не является приоритетом, что делает их непонятными с годами».

Выход на пенсию поколения экспертов, обладающих глубокими знаниями систем Cobol, приводит к острой нехватке знаний.

«Они знают не только язык программирования Cobol, но и конкретные системы, над которыми они работали и создавали на протяжении многих лет», — сказал Тийс ван дер Шторм, коллега Винью в CWI и профессор разработки программного обеспечения в Университете Гронингена.

Винью добавил: «Эти эксперты часто являются единственными, кто знает системы достаточно хорошо, чтобы поддерживать и улучшать их». Нехватка опытных программистов Cobol означает, что меньше людей могут внести необходимые настройки и обслуживание, что «создает риск для организаций, зависящих от этих систем».

Банк социального страхования (SVB) является хорошим примером. Когда SVB столкнулась с серьезными проблемами в своих устаревших системах Cobol, она поняла, что критически важные знания для их обслуживания и улучшения в значительной степени утратили свою актуальность.

Для решения этой проблемы была возвращена группа бывших экспертов по Коболу. Их глубокое понимание языка программирования и конкретных бизнес-процессов позволило им быстро выявить проблемы и реализовать решения. Их возвращение обеспечило поддержание и оптимизацию существующих систем, что привело к значительной экономии и повышению надежности обслуживания. Но, по мнению исследователей, проблема не в Коболе.

«Проблема заключается главным образом в том, что все эти старые системы Кобола сильно разрослись за последние десятилетия», — сказал Винью. «Это связано с тем, что люди хотят чего-то нового, а контекст постоянно меняется, например, из-за изменения законов. Инженеры-программисты расширяют систему с учетом этих изменений, что приводит к экспоненциальному росту исходного кода. Со временем система выходит за рамки понимания, особенно для новых людей.

«Это снижает гибкость, эффективность и надежность обслуживания, что затрудняет адаптацию системы к новым требованиям. Проблема главным образом заключается в снижении эффективности знаний во все более крупной системе», — добавил Винью.

Управление сложностью

Исследователи CWI сосредоточены на контроле и предотвращении этой сложности. «Наши исследования сосредоточены на разработке методов анализа, которые могут помочь в управлении и обслуживании старых и сложных систем», — сказал Винью.

Разработка лучших языков программирования, особенно предметно-ориентированных языков (DSL), имеет важное значение.

«DSL могут сделать определенные области, такие как финансовые системы, более простыми и лучшими для анализа, поскольку они имеют менее общую применимость», — сказал Ван дер Сторм. «Это приводит к созданию меньших по размеру и более понятных программ, облегчающих анализ и обслуживание».

Отличным примером успеха DSL является RISLA, предметно-ориентированный язык, используемый в финансовом секторе. Язык был разработан для эффективного описания и реализации финансовых продуктов. Этот язык позволяет финансовым экспертам указывать условия контракта и детали продукта в понятном тексте без глубоких знаний программирования. Затем генератор кода автоматически генерирует код Cobol на основе этих спецификаций.

Собирая знания конкретной предметной области в понятной и компактной форме, DSL позволяет описать сложную бизнес-логику и правила в простых и понятных терминах. Это не позволяет программистам каждый раз вручную писать обширный код Cobol, что снижает риск ошибок и повышает согласованность.

Более того, DSL может использовать генератор кода для автоматического преобразования этих спецификаций в хорошо структурированный код Cobol. Это гарантирует, что изменения и новые функции могут быть реализованы быстро и без ошибок без дальнейшего расширения базовой базы кода.

«Это делает системы более управляемыми и удобными в обслуживании, повышая их долгосрочную устойчивость. Сгенерированный код является единообразным и соответствует строгим стандартам, обеспечивая целостность системы и снижая риск ошибок и сбоев системы», — сказал Винью, который также является совладельцем дочерней компании Swat. инженерия, которая фокусируется на DSL и реверс-инжиниринге.

Еще одно направление решений, которое CWI исследует для снижения сложности существующих голландских систем Cobol, — это реверс-инжиниринг. «Этот процесс позволяет получить глубокие знания о системе, даже если первоначальные разработчики больше не доступны», — сказал Винью.

Полученная информация может помочь упростить структуру и логику системы, выявить ненужные компоненты и устранить неэффективность. Инструменты обратного проектирования также могут выявить закономерности и взаимосвязи в коде, делая узкие места и уязвимости более заметными. Такой подход позволяет организациям модернизировать и оптимизировать свои системы, постепенно поддерживая операционную целостность.

Инвестиции в будущее Кобола

Будущее систем Cobol в Нидерландах во многом зависит от готовности правительственных организаций и финансовых учреждений инвестировать в такие методы, как DSL, реверс-инжиниринг и обучение новых программистов Cobol.

«Переход на современные технологии требует хорошего понимания существующей системы», — сказал Винью. «Сейчас этого часто не хватает, что затрудняет эффективную миграцию.

«Более того, аутсорсинговые миграции часто приводят к созданию новых систем, которые столь же сложны и непонятны, как и старые. Настоящая проблема — отсутствие системных знаний. Мы не предоставили экспертам Cobol достаточных возможностей для передачи своих знаний и навыков до выхода на пенсию».

Школы и университеты Нидерландов прекратили подготовку программистов Cobol в 1980-х годах, полагая, что язык вымрет. Теперь это создает разрыв в количестве доступных разработчиков. В Нидерландах есть организации, которые решают эту проблему, обучая людей, меняющих профессию.

Хотя много говорится о поэтапном отказе от кобола в Нидерландах, по мнению исследователей CWI, это не всегда лучшее решение.

«Кобол очень подходит для финансовых транзакций и предлагает преимущества, с которыми не всегда могут сравниться современные языки. Важно инвестировать в поддержание и модернизацию существующих систем Cobol, а не в их полную замену», — сказал Винью.

Проблема, однако, в том, что бюджеты часто не выделяются на то, что действительно необходимо. «Краткосрочные планы не решают масштабных проблем технического обслуживания. Это требует долгосрочного видения и планов на 10–15 лет», — заключил Винью.

Поделиться в соцсетях