Перенос со старых систем: Magic, uniPaaS, Access, VB6

Во многих израильских компаниях до сих пор работает система, написанная десять или двадцать лет назад на Magic, uniPaaS, Access или Visual Basic 6. Она справляется со своей задачей. Проблема не в том, что она плохая, а в том, что людей, которые умеют её менять, становится всё меньше.

Кратко

Есть четыре пути, и переписывание с нуля не всегда лучший из них. Оставить и стабилизировать, если система работает и меняется редко. Обновить внутри платформы: у Magic есть путь перехода с uniPaaS на Magic xpa. Переносить по частям: новая система растёт рядом со старой и по одной забирает у неё функции, пока старая не опустеет. Переписать, если старая платформа уже мешает бизнесу. Выбор начинается не с технологии, а с двух вопросов: где живёт бизнес-логика и кто сегодня может её объяснить.

Почему сейчас

ПлатформаЧто известно
Magic, uniPaaSИзраильская платформа. Линейка прошла путь от eDeveloper через uniPaaS к Magic xpa, продукт развивается. После слияния с Matrix IT компания Magic ушла с бирж
Visual Basic 6Среда разработки давно не поддерживается. Среда выполнения поддерживается вместе с поддерживаемыми версиями Windows, но только при серьёзных регрессиях и критических уязвимостях, и только в 32-битном режиме. Microsoft прямо рекомендует заменить такие приложения
Microsoft AccessПоддержка Access 2016 и Access 2019 закончилась. Сам Access продолжает жить в составе Microsoft 365, поэтому вопрос не в том, что он исчез, а в том, на какой версии ваша база

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

Четыре пути

1. Оставить и стабилизировать

Если система работает, меняется раз в год и её данные не нужны другим системам, переписывать её просто потому, что так модно, не нужно. Нужно другое: резервная копия, которую проверили восстановлением, описание того, что система делает, и человек, который сможет её перезапустить.

2. Обновить внутри платформы

Для Magic у производителя есть мастер обновления, который переводит проекты eDeveloper и uniPaaS на Magic xpa. Важная деталь из документации: обновление необратимо, после него проект в старой версии уже не открыть. Значит, делать это нужно на копии и с планом проверки. Этот путь сохраняет логику, но не решает вопрос с людьми.

3. Переносить по частям

Новая система строится рядом со старой. Сначала к старой базе подключают современный слой: отчёты, веб-интерфейс, интеграцию с другими системами. Потом функции по одной переезжают в новую систему, а старая продолжает работать со всем остальным. Риск здесь минимальный, потому что в любой момент продолжает работать то, что и раньше работало.

4. Переписать

Оправдано, когда старая платформа мешает делать то, что нужно бизнесу: нет веб-доступа, нельзя интегрироваться, система не выдерживает объёма. Самая частая ошибка здесь: переписывать по экранам старой системы, а не по бизнес-правилам. Экраны переносятся легко, правила, спрятанные в них, теряются.

Где спрятана бизнес-логика

В системах такого возраста логика редко лежит в одном месте. Обычно она разбросана по трём местам:

  • В коде экранов и процедур: расчёт скидки, проверка остатка, правило округления.
  • В базе данных: триггеры, хранимые процедуры, поля, которые заполняются «сами».
  • В головах людей: «в конце месяца надо нажать вот эту кнопку дважды». Это правило нигде не записано, кроме как в привычке сотрудника.

Третье место важнее первых двух. Перенос, в котором учли код и базу, но не поговорили с людьми, воспроизведёт систему, которой на самом деле никто не пользуется.

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

Как выбрать путь

ВопросЕсли даЕсли нет
Система меняется чаще раза в квартал?Обновить или переносить по частямОставить и стабилизировать
Её данные нужны другим системам?Переносить по частям, начиная с интеграцииМожно не спешить
Есть человек, который её понимает?Срочность ниже, его знания нужно записатьСрочность высокая, начать с описания
Платформа мешает бизнесу?Переписать, но по бизнес-правиламОбновить или стабилизировать

Частые вопросы

Что делать с системой на Magic или uniPaaS?

Есть четыре пути: стабилизировать как есть, обновить до Magic xpa мастером производителя, переносить функции по частям в новую систему или переписать. Выбор зависит от того, как часто система меняется, нужны ли её данные другим системам и есть ли человек, который её понимает.

Можно ли обновить uniPaaS до Magic xpa?

Да, у производителя есть мастер обновления для проектов eDeveloper и uniPaaS. По документации обновление необратимо, поэтому его делают на копии и с планом проверки.

Поддерживается ли ещё Visual Basic 6?

Среда разработки нет. Среда выполнения поддерживается вместе с поддерживаемыми версиями Windows, но только для серьёзных регрессий и критических уязвимостей. Microsoft рекомендует заменять такие приложения.

Обязательно ли переписывать систему на Access?

Нет. Если база работает и меняется редко, достаточно стабилизировать её и проверить версию Access. Перенос оправдан, когда базой одновременно пользуется много людей, когда нужен веб-доступ или интеграция.

Можно ли использовать AI для переноса старой системы?

Да, особенно на этапе описания: AI быстро читает старый код и предлагает, что он делает. Но это описание проверяют на реальных данных и с людьми, которые работают с системой, иначе потеряются правила, которых в коде нет.

С чего начать

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

Написать мне

По теме: Интеграции и модернизация, Калькулятор ROI модернизации

SLAtech LTD