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

Cainiao — китайская логистическая компания, которая работает с клиентами из России для своей сети постаматов. Интернет-магазины используют их сеть для доставки клиентам. Особенности процессов и внутренняя система этой компании не позволяют быстро и беспрепятственно адаптировать API под нужды конкретного клиента. Часто это не дает крупным клиентам интегрироваться с Cainiao из-за невозможности кастомизации собственного API и протоколов взаимодействия под конкретного логистического оператора.
Цели и задачи
Цель клиента — произвести интеграцию и дать возможность пользователям интернет-магазина крупного ритейлера использовать инфраструктуру постаматов Cainiao для получения заказанных товаров.
Задача
Наша задача заключалась в том, чтобы провести исследование возможности разработки и спроектировать шину данных, которая могла бы соединять две стороны — системы ритейлера и службу доставки. Инструмент должен получать и давать информацию, а также оперативно предоставлять данные о текущих статусах. Результаты проектирования должны включать подробное описание всех механизмов взаимодействия и перечень рисков, которые могут быть препятствием к последующей реализации соответствующей шины данных.
Технологии и архитектура
Шина должна стать удобным и простым решением — центром интеграции, предоставляющим механизмы для маршрутизации, трансформации и обмена сообщениями между двумя сервисами. При этом исключить необходимости доработки каждого из них.
Инструменты, которые использовались для работы над проектом:
- для коммуникации и ведения задач — Jira, Confluence;
- для построения схем и прототипов — draw.io, Whimsical.
Этапы работы
Сначала мы оперативно изучили интеграционную документацию клиента. При проработке опирались сразу на два документа:
- со стороны клиента (руководство по разработке и отладке интеграции с коннектором);
- со стороны Cainiao (документ, описывающий API-интеграцию).
В процессе изучения документации провели несколько интервью с заказчиком. На основе скрининга и обработки документации составили модель данных. Далее были подготовлены прототипы будущей интеграционной шины. Следующими этапами стали:
- описание кабинета логирования запросов. Возможность логирования — важный пункт в работе системы, так как обеспечивает клиенту безопасность и минимизирует возможную потерю данных;
- подготовка дополнительного функционала;
- проработка логики работы;
- описание маппинга данных для корректной коммуникации систем;
- разработка интеграционные схемы.
Позже проработали другие системы данных:
- хранение всех пользователей;
- хранение данных об отправлениях;
- хранение данных о параметрах посылки;
- хранение данных о доставке груза.
Подготовили user-кейсы — описали, как должны общаться между собой API Cainiao и API клиента с заданным для этого атрибутом. Интеграционная шина должна обрабатывать входящие запросы Cainiao и запрашивать данные со стороны клиента.
Данные, которые необходимо было обрабатывать:
- создание отправителя;
- отмена отправления;
- доставка на склад продавца;
- обновление данных по доставке;
- отправление статуса доставки;
- актуализация сроков отправления.
На этапе проектирования интеграционной шины возникали дополнительные вопросы. При этом основная сложность в работе над проектом была связана с тем, что логику работы системы необходимо было согласовывать с двумя сторонами одновременно. Например, для работы системы нужно было запросить стоимость доставки у логистического партнера, а уже после этого соотнести с данными на стороне клиента.
Функционал
Шина выступает посредником между сервисами клиента и сторонними сервисами. Функционал шины позволяет:
- обеспечивать обмен сообщениями между сервисами;
- делать взаимодействие безопаснымж
- предоставлять механизмы аутентификации и авторизации пользователей, а также шифрование данных;
- преобразовывать данные;
- централизованно управлять процессами взаимодействия между различными системами; контролировать взаимодействие между системами.
Результаты
Работа над проектированием была выполнена в кратчайшие сроки: исследование и проектирование заняли один месяц. В процессе проектирования были проработаны все механизмы будущей интеграции и обозначены блокирующие факторы со стороны Cainiao и ИТ-систем ритейлера. По итогам проектирования запущен переговорный процесс о способах устранения блокирующих проблем и дальнейших планах по реализации интеграционной шины.
Команда
Оставить заявку
Оставьте заявку, мы с вами свяжемся и обсудим решение вашей задачи