Разработка системы «Альфа Бизнес Онлайн» на FLEXTERA для Альфа банка www.epam.com Содержание 1. 2. 3. 4. 5. 6. 7. Система АЛБО Архитектура АЛБО Процесс развития АЛБО Жизненный цикл релиза Организация работ по разработке Сборка приложения Параллельная разработка Система АЛБО • АЛБО – система дистанционного банковского обслуживания для юридических лиц «Альфа Бизнес Онлайн» • Внедрена в промышленную эксплуатацию в июне 2012 года • Обслуживает ~3000 клиентов (рассчитана на 20 000 клиентов) • Бэк-офис: АБС Equation • Системное ПО: IBM WAS, Oracle • Работает на кластере из 2 железных серверов Система АЛБО • Содержит функциональность: – – – – – – – Рублевые платежи Реестры платежей Рублевые и валютные выписки Валютные переводы* Валютная конвертация* Письма Дэшборды – композитные страницы с быстрым доступом к любым операциям и информации * функциональность, находящаяся на завершающей стадии приемки Система АЛБО Архитектура АЛБО web browser webclient METADATA webclient Фасад сотрудника webclient METADATA Фасад клиента ЯДРО (FLEXTERA) Бизнес модули интеграционные шлюзы Рублёвые ПП Шлюз к MQ Справочники db db db Валютные ПП Шлюз к внешней системе Администрирован ие db ЯДРО (АЛБО) Уведомления db db Конвертация Очередь запросов Корреспонденция db refws adminws db Рублёвые выписки db reportws Шлюзы к внешним системам (облачная бухгалтерия, АКОЛ, мобильный банк) db corews auditws versionws timer d b Процесс развития АЛБО Разработка релиза Х+1 Разработка релиза Х Тестирование релиза Х в банке Change requests Feature Requests Change requests Feature Requests Change requests Feature Requests Change requests Feature Requests Тестирование патча Х в банке Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Bug Fix Жизненный цикл релиза • Аналитика и проектирование – – – – – Подготовка Vision Подготовка BRD Подготовка FSD Подготовка имплементационного дизайна Подготовка ОТАР • Разработка – Разработка задач в отдельных ветках – Слияние всех задач в релизную ветку – Стабилизация • Тестирование – Тестирование нового функционала – Регрессионное тестирование – Нагрузочное тестирование Организация работ по разработке • БД Oracle. Несколько БД серверов на команду. • Сервер приложений IBM WAS. Развёрнут локально у каждого разработчика. • Репозиторий кода SVN. • Разработка несколькими подкомандами в отдельных ветках. • Сборка - Apache Maven. • На отдельном стенде Nexus репозиторий с библиотеками Flextera. Сборка приложения Сборка автоматически на отдельном стенде с помощью TeamCity Checkout проекта с SVN Изменение версии проекта, commit изменений Запуск юнит тестов Формирование тега Сборка проекта по тегу Копирование сборки на тестовые стенды Отправка e-mail нотификации на команду о результате сборки Параллельная разработка • Цель: внедрять большее количество функционала за то же время без потери качества • Решение: выполнять доработку АЛБО несколькими командами параллельно • Процесс: – Задача декомпозируется на затрагиваемые модули – Каждый модуль может разрабатывать и тестировать отдельная команда – Главный интегратор собирает общий релиз и проводит регрессионное и нагрузочное тестирование