Перевод АБС RS-Bank v.6 на отечественный стек технологий

Импортозамещение Импортозамещенная RS-Bank v.6 Pro
Сертификат

Операционная система

Astra wine

СУБД

PostgreSQL

Офисный пакет

Р7-ОФИС

Сервер приложений

LIBERCAT

Axiom JDK

Axiom JDK

В декабре 2022 года в R‑Style Softlab стартовал масштабный проект по переводу одного из ключевых продуктов компании 一 автоматизированной банковской системы (АБС) на импортозамещенный стек. АБС представляет собой набор модулей для реализации различных направлений деятельности банка: обслуживания клиентов, работы с ценными бумагами и финансовыми инструментами, кредитования и работы с депозитами, выпуска отчетности и других.

Перед командой стояли следующие задачи: подобрать для каждого зарубежного продукта наиболее подходящий аналог из Реестра российского ПО, выполнить доработки системы для возможности работы с выбранными программными продуктами, протестировать и отладить работу системы. К августу 2023 года был подготовлен прототип, а также конвертер базы данных с Oracle на Postgres Pro. В конце марта 2024 года система вышла в тираж. Подробнее о проекте ー в нашем материале.

Предпосылки проекта

Федеральный закон «О безопасности критической информационной инфраструктуры Российской Федерации» от 26.07.2017 №187‑ФЗ предписывает переход на импортонезависимые автоматизированные банковские системы (АБС) до 1 января 2025 года системно значимых кредитных организаций в России.

С одной стороны, учитывая высокую долю банков среди клиентов компании, решение о разработке было необходимым. С другой ー процесс перехода кредитной организации может занимать от полугода до нескольких лет, поэтому одним из важных требований к будущей системе была возможность поэтапного перехода, чтобы обеспечить непрерывную работу банка и плавную замену ПО и оборудования на российские. Например, возможность заменить только операционную систему на серверах приложений или рабочих станциях пользователей или заменить используемую СУБД.

Еще одним аргументом в пользу разработки импортозамещенного решения был запрос со стороны банков. По словам экспертов, для банка проект собственной разработки АБС на российском стеке с нуля занял бы 3‑5 лет и потребовал более 1,5 млрд рублей.

Выбор технологического стека

Программная часть, на которой строится работа АБС, включает операционную систему, СУБД, офисный пакет, сервер приложений, а также комплект средств разработки. До 2023 года конфигурация строилась на продуктах MS Windows, Oracle, MS Office, сервере приложений Apache Tomcat и Oracle JDK.

Для разработки импортозамещенного решения были выбраны следующие российские продукты:

  • ОС Astra Linux под Wine
  • СУБД Postgres Pro
  • Офисный пакет Р7‑Офис
  • Сервер приложений Libercat
  • Axiom JDK

Основные этапы проекта

1. Адаптация системы для возможности работы в ОС Linux

Учитывая сжатые сроки, перевести ядро АБС на нативный Linux, даже частями, в рамках данного проекта оказалось невозможно. Поэтому было принято решение использовать зарегистрированное в Реестре российского ПО Wine@Etersoft, позволяющее запустить приложения Windows в операционных системах семейства Linux.

В рамках этой задачи команда проекта столкнулась с некоторыми сложностями, например, в Wine не реализована функция LogonUser для запуска процесса от имени определенного пользователя. Для этого было необходимо переделать алгоритм запуска процессов.

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

2. Формирование и печать отчетных форм в офисных пакетах

В текущей версии продукта на зарубежном стеке технология формирования отчетных форм предполагала использование ActiveX‑объектов Excel и Word. Для его замены был выбран инструмент Apache POI, который позволил формировать документы без привлечения Excel и Word. При этом был изменен способ открытия сформированного файла. Вместо прямого запуска Excel или Word идет вызов функции ShellExecute, и операционная система стартует приложение, ассоциированное с файлами такого типа. Несмотря на то, что система работает в Wine, для отображения отчетов временно используется офисный пакет для Linux.

3. Адаптация системы для возможности работы с СУБД PostgreSQL

RS‑Bank v.6 взаимодействует с Oracle через ODBC‑драйвер, что позволяет избежать изменений в механизмах работы с базой данных. Для работы с PostgreSQL также используются функции API ODBC, однако это лишь немного упростило работу.

Основная сложность состояла в том, что в прикладных местах, где происходит выполнение SQL‑запросов, текст запроса мог быть как в ANSI‑формате, так и в формате, специфичном для Oracle. Для решения этой задачи был разработан конвертер, который, в случае необходимости, во время выполнения SQL‑запроса преобразовывает его в формат, понятный PostgreSQL.

После доработок некоторые SQL‑запросы автоматически заработали на PostgreSQL, другие требовали изменений для правильной обработки. Часть запросов, около 20%, была переписана вручную в связи с ограничениями конвертера.

Другими важными этапами проекта стали адаптация функциональности пунктов меню на Postgres Pro, доработка инсталлятора и апгрейдера АБС, доработка сервера приложений, терминала, а также доработки JEE‑приложения, криптографии, взаимодействия с HASP, инструмента построения отчетов.

Тестирование системы

  • Функциональное тестирование всех подсистем АБС на Astra Linux, Postgres Pro и Р7‑Офис
  • Автоматизированное тестирование всех подсистем АБС на Astra Linux и Postgres Pro
  • Функциональное тестирование работы терминала и сервера приложения на Astra Linux
  • Функциональное тестирование обратной совместимости всех подсистем АБС на Microsoft Windows и Oracle
  • Автоматизированное тестирование обратной совместимости всех подсистем АБС на Microsoft Windows и Oracle
  • Функционально тестирование обратной совместимости работы терминала и сервера приложения на Microsoft Windows

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

В настоящее время выполняется нагрузочное тестирование всех подсистем АБС на Oracle и на Postgres Pro, а также сравнение получившихся результатов с эталонными показателями. Результаты нагрузочного тестирования будут предоставлены в начале июня.

Михаил Мальцев, Руководитель проекта по миграции RS-Bank v.6 на отечественный стек

Михаил Мальцев

Руководитель проекта по миграции RS‑Bank v.6 на отечественный стек

Командная работа

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

12455 чел./дней

Занял проект по миграции RS‑Bank

67 человек

В активной команде проекта

Рассказывает:

Михаил Мальцев, Руководитель проекта по миграции RS-Bank v.6 на отечественный стек

Михаил Мальцев

руководитель проекта по миграции RS‑Bank v.6 на отечественный стек

Состав работ:

RS‑Bank v.6 Pro

Мультиплатформенная автоматизированная банковская система на российском технологическом стеке. Работает на СУБД Postgres Pro.

Подробнее об услуге
R-Style Softlab

Консультация по RS‑Bank v.6

Узнать подробнее о продукте или заказать бесплатную демонстрацию системы вы можете на странице продукта

На страницу RS‑Bank v.6
АО «Эр-Стайл Софтлаб» использует cookie (Политика использования cookie) для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера. Обработка Ваших персональных данных производится в соответствии с требованиями Федерального закона от  27.07.2006 № 152-Ф3 «О персональных данных».
Подробнее