О проекте

  • Клиент: ООО "Спортмастер" - международный спортивный ритейлер
  • Страна: Россия
  • Используемое решение: Cервис по миграции приложений на базе инструментов Конвертум
  • Исходная технология: PowerBuilder
  • Целевая технология: Java, JavaScript, ReactJS
  • Объем проекта: 380,000 строк кода
  • Длительность проекта: 7 месяцев

Предоставленное командой Конвертум решение позволило заказчику существенно сократить расходы на модернизацию устаревшего приложения и получить полнофункциональную веб-технологию на Java, JavaScript и ReactJS.

Результаты

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

За 7 месяцев осуществлен перенос 380,000 строк кода PowerBuilder в Java, 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 строк исходного кода.

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