Архитектура
Мы использовали классическую микросервисную архитектуру. Такой подход к разработке позволил выстроить систему из независимых сервисов, которые взаимодействуют друг с другом через http и очереди сообщений. При необходимости можно внести изменения в любой сервис — остальные не будут затронуты, и систему не придётся собирать заново.
Данные из старой базы Oracle перенесли в новую, более надёжную PostgreSQL с «открытой» лицензией. Она не уступает в производительности — при этом проще и доступнее в плане техподдержки. Так мы минимизировали риски для бизнеса, связанные с использованием западного программного обеспечения.
Данные
Backend
Backend-код legacy-системы был написан на языке программирования PHP. Для нового кода использовали Java — гораздо более безопасное решение с повышенной защитой от ошибок, уязвимостей и атак. Фреймворк Spring Boot упростил развёртывание микросервисов и повысил продуктивность разработки.
В качестве frontend-платформы выбрали библиотеку React. Она обеспечивает быструю загрузку страниц, уменьшает вероятность ошибок и в целом улучшает пользовательский опыт. Для создания единой информационной платформы впервые использовали Module Federation — эта технология позволяет встраивать модули одного пользовательского интерфейса в другой. Банк сможет создавать и интегрировать свои информационные системы в разработанную нами платформу, вносить изменения и развивать их независимо от других систем.
Frontend
DevOps
Для автоматизации развёртывания применяли devops-инструменты. Так, благодаря контейнеризации в Docker, мы изолировали программное обеспечение, чтобы быстро и безопасно тестировать его в разных операционных системах. Контейнерные образы собирали на платформе Red Hat OpenShift через TeamCity — гибкое решение для управления сборкой и повышения производительности. Ещё использовали платформу репозиториев Bitbucket — она стала центром для совместной работы команды, сделав процесс разработки прозрачным для всех специалистов проекта.
Интеграция системы электронного документооборота помогла нам реализовать решение и избавить заказчика от бумажной рутины. Оператором ЭДО и её интеграции с банковскими системами стал Контур.Диадок. Провайдер КриптоПро поддерживает процесс подписания документов — он шифрует и защищает данные.
Интеграция