Лидеры года — новая категория на Workspace Digital Awards! Номинируйте вашу команду, продукты и проекты.
Сергей Ха.
Разработка платформы для клиентских интеграций
Сергей Ха.
#Разработка программного обеспечения

Разработка платформы для клиентских интеграций

4 
Сергей Ха. Россия, Москва
Поделиться: 0 0 0
Разработка платформы для клиентских интеграций
Сфера

Информационные технологии и интернет

Сдано

Май 2019

Задача

Международный коммерческий продукт для проектирования мебели широко использовался как часть бизнес-процессов заказчиков. Более 70% его выручки приходилось на клиентов, глубоко интегрировавших продукт со своими программными системами.

Для этих целей существовал SDK — набор программных интерфейсов, позволявших расширять функциональность продукта и связывать его с другими системами. Однако его архитектура делала разработку и сопровождение интеграций неоправданно сложными, трудоёмкими и дорогостоящими.

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

Решение

Вместо последовательного устранения ограничений существующего SDK было разработано новое поколение платформы расширений, объединяющее удобный программный интерфейс, инструменты разработки и средства контроля качества.

1. Новая архитектура взаимодействия

Работа началась с пересмотра самой границы между основным продуктом и создаваемыми для него расширениями.

Был спроектирован новый API, предоставляющий разработчикам доступ к возможностям продукта через привычные программные модели и типизированные интерфейсы. Сложность внутреннего устройства приложения скрыта за единым программным слоем.

Основой решения стала архитектура .NET SDK с использованием C# и C++/CLI для взаимодействия с существующим ядром продукта.

2. Единая платформа для клиентских разработок

Вместо непосредственной работы со сложными внутренними интерфейсами разработчики получили последовательную модель взаимодействия с продуктом.

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

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

3. Полноценная среда разработки внутри продукта

Следующим этапом стало создание среды программирования, встроенной непосредственно в работающее приложение.

Она объединила основные этапы работы с клиентскими расширениями:

  • написание и редактирование программного кода;

  • компиляцию непосредственно внутри приложения;

  • запуск расширений в контексте работающего продукта;

  • отладку кода и исследование его поведения.

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

4. Автоматизация контроля качества и документации

В архитектуру SDK были включены автоматизированные тесты и генерация документации на основе программных интерфейсов.

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

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

Результат

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

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

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


Стек технологий

  • С# С# Язык программирования
  • С++ С++ Язык программирования

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку