Аутсорс-разработка: как соединить новый код и старый
Часто клиенты обращаются за добавлением функционала к уже существующим своим решениям. Отлично, если у клиента уже имеется свои коннекторы для подключения модулей, api или описаны протоколы внедрения ПО. Но зачастую, приходится импровизировать на ходу и чтобы такая импровизация не закончилась тотальной нестыковкой, мы предлагаем своим клиентам несколько путей решения.
Выявляем точку, подключение к которой вызовет минимальные изменения в архитектуре системы клиента. Бывает что это таблица в базе данных, какая-то внешняя процедура, шлюзовый сервис, внешний обработчик данных.
К любой такой точке почти безболезненно можно привязать дополнительные обработчики и модули. Касемо технологичности здесь возникает вопрос. Некоторые интеграции достаточно хорошо выдерживают такой подход, а некоторые приводят к замедлению работы, в редких случаях возникают фантомные сбои.
Общая оценка качества такого подхода: 3 из 5
Если система клиента полностью закрытая и отсутствует возможность добавления своих участков кода, то на помощь подходят процедуры импорта/экспорта данных. Здесь мы подключаемся в входным или выходным потокам данных, что опозволяется встраивать процедуры пред/пост обработки.
Подход работает достаточно технологично, однако обработка больших объемов данных или работа в режиме реального времени часто очень растянута по времени.
Общая оценка качества такого подхода: 3 из 5
Самых технологически вверенным способом является подключение к системке через API. Если внутренняя структура модуля API прописана эффективно и не вызывает накладных расходов на обработку данных, не останавливает пересекающиеся обработки.
Если система старая, то зачастую у нее отсутствует API, но если есть возможностью для масштабирования системы, то мы разрабатываем API, а уже потом приступаем к выполнению непосредственных задач по разработке дополнительного функционала.
Общая оценка качества такого подхода: 5 из 5
Мы оценили 3 разных подхода подключения доработок к существующей, часто закрытой ИТ-системе. Не всегда, к сожалению, получается выбрать лучший вариант, зачастую есть ограничения влияющие на тот или иной выбор. Но всегда есть возможности для дополнительных действий. Поэтому, если у Вас есть необходимость в технологически грамотной доработке Вашей системы, мы всегда сможем предложить оптимальное решение после экспертного анализа.
