О проекте
- Клиент: ООО "Спортмастер" - международный спортивный ритейлер
- Страна: Россия
- Используемое решение: Cервис по миграции приложений на базе инструментов Конвертум
- Исходная технология: PowerBuilder
- Целевая технология: Java, JavaScript, ReactJS
- Объем проекта: 380,000 строк кода
- Длительность проекта: 7 месяцев
Предоставленное командой Конвертум решение позволило заказчику существенно сократить расходы на модернизацию устаревшего приложения и получить полнофункциональную веб-технологию на Java, JavaScript и ReactJS.
Результаты
О клиенте
Нашим клиентом является международная сеть магазинов спортивного инвентаря для фитнеса, летних и зимних видов спорта, а также товаров для активного отдыха. В настоящее время работает в России, Беларуси, Казахстане и Армении. По данным компании, ежегодно ее магазины посещают более 200 миллионов человек. Численность сотрудников более 20 тысяч человек.
Задача
В рамках установленных сроков и бюджета клиенту требовалось сконвертировать крупномасштабное приложение с иcпользованием технологии Appeon PowerServer и PowerBuilder, размещенное на серверах приложений JBoss, в веб-приложение. Исходное приложение использовалось для управления, учета и контроля внутренних задач. Исходя из условий задачи, веб-клиент должен представлять собой SPA (single-page application) и быть реализован на JavaScript с использованием технологии ReactJS. Размещение сконвертированного приложения должно быть выполнено на серверах приложений JBoss с использованием контейнера сервлетов Apache Tomcat.
Решение
Проанализировав множество предложений, клиент остановился на компании Конвертум, предоставляющей собственные автоматизированные решения и сертифицированных специалистов с необходимыми навыками.
Наша цель - получить приложение на Java, которое будет эффективно работать с исходной базой данных Oracle. Тем не менее, различия в архитектуре, библиотеках, компонентах исходного приложения и целевого веб-решения требовали большого количества ручных усилий для получения желаемых результатов. Основываясь на нашем обширном опыте работы с PowerBuilder и Java, нам удалось найти оптимальное решение для конвертации с учетом требования заказчика использовать технологию ReactJS.
Данным проектом миграции занимались пять высококвалифицированных разработчиков Конвертум.
Проект был разделен на 3 этапа:
Первый этап состоял в проведении анализа, в ходе которого обнаружились следующие сложности:
- Динамическое построение стилей при отрисовке объектов графического интерфейса.
- Множественное наследование в исходной технологии и отсутствие его поддержки целевым веб-решением.
- Проблема вызова из браузера методов из dll, предоставленных заказчиком, в частности, для формирования excel-файлов.
- Разделение проекта на два приложения: клиентское и серверное. На уровне сервера выстраивалась вся работа с базой данных - получение, удаление, изменение, добавление данных. Вся остальная бизнес логика была реализована на уровне клиента.
На следующем этапе наши эксперты усовершенствовали программное обеспечение Конвертум и добавили в него правила конвертации, благодаря которым удалось достичь порядка 50% автоматизации миграции и минимизировать вышеупомянутые проблемы.
Дальнейшая доработка результатов миграции проводилась вручную технической командой Конвертум. В частности, на основе результатов автоматической конвертации UI была применена ручная верстка, проверены на ошибки окна приложения.
На заключительном этапе, после тестирования и внесения исправлений в код, мы передали заказчику работоспособное приложение на Java, JavaScript и ReactJS.
Несмотря на то, что клиент получил полностью функциональный результат, остались открытыми следующие вопросы, поиском решений которых занимаются специалисты Конвертум:
- Формирование стилей в логике
В исходном приложении была возможность остановить рендер, рассчитать и применить стили каждому объекту на форме и включить рендер обратно. В целевой веб-технологии нет прямого аналога, поэтому для реализации подобного поведения требуется разработка и внедрение специального решения. - Перемигивание
Изменение одного значения на форме влечет за собой изменения связанных с ним других значений. Отображение этих изменений на веб-странице происходит недостаточно корректно.
Преимущества
Всего за 7 месяцев команда Конвертум успешно завершила миграцию приложения с PowerBuilder в Java, ReactJS. Общий объем проекта составил 380,000 строк исходного кода.
Несомненно, миграция приложений является сложным и трудоемким процессом, однако, в силу своих очевидных преимуществ, выигрывает у дорогостоящей и рискованной разработки с нуля. Это важный и необходимый шаг для современных организаций, которые хотят избавиться от ограничивающих факторов устаревших технологий и оставаться конкурентоспособными в своей нише.