Все кейсы
Проектирование
Предпроектное исследование

Предпроектное исследование и проектирование интеграционной шины данных

Спроектировали интеграционную шину данных, которая позволит подключить службу доставки Cainiao к интернет-магазину крупной международной компании-ритейлера через существующее API
01 — Контекст
Cainiao — китайская логистическая компания, которая работает с клиентами из России для своей сети постаматов. Интернет-магазины используют их сеть для доставки клиентам. Особенности процессов и внутренняя система этой компании не позволяют быстро и беспрепятственно адаптировать API под нужды конкретного клиента. Часто это не дает крупным клиентам интегрироваться с Cainiao из-за невозможности кастомизации собственного API и протоколов взаимодействия под конкретного логистического оператора.

Цели и задачи

Цель клиента — произвести интеграцию и дать возможность пользователям интернет-магазина крупного ритейлера использовать инфраструктуру постаматов Cainiao для получения заказанных товаров.
Цели и задачи

Задача

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

Технологии и архитектура

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

Инструменты, которые использовались для работы над проектом:
для коммуникации и ведения задач — Jira, Confluence;
для построения схем и прототипов — draw.io, Whimsical.

Этапы работы

Сначала мы оперативно изучили интеграционную документацию клиента. При проработке опирались сразу на два документа: 
— со стороны клиента (руководство по разработке и отладке интеграции с коннектором);
со стороны Cainiao (документ, описывающий API-интеграцию).
В процессе изучения документации провели несколько интервью с заказчиком. На основе скрининга и обработки документации составили модель данных. Далее были подготовлены прототипы будущей интеграционной шины. 

Следующими этапами стали:
описание кабинета логирования запросов. Возможность логирования — важный пункт в работе системы, так как обеспечивает клиенту безопасность и минимизирует возможную потерю данных;
подготовка дополнительного функционала;
проработка логики работы;
описание маппинга данных для корректной коммуникации систем;
разработка интеграционные схемы. 
Позже проработали другие системы данных:
хранение всех пользователей; 
хранение данных об отправлениях; 
хранение данных о параметрах посылки; 
хранение данных о доставке груза.
Подготовили user-кейсы — описали, как должны общаться между собой API Cainiao и API клиента с заданным для этого атрибутом. Интеграционная шина должна обрабатывать входящие запросы Cainiao и запрашивать данные со стороны клиента.

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

Функционал

Шина выступает посредником между сервисами клиента и сторонними сервисами. Функционал шины позволяет:
обеспечивать обмен сообщениями между сервисами; 
делать взаимодействие безопаснымж
предоставлять механизмы аутентификации и авторизации пользователей, а также шифрование данных; 
преобразовывать данные; 
централизованно управлять процессами взаимодействия между различными системами;
контролировать взаимодействие между системами.

Результаты

Работа над проектированием была выполнена в кратчайшие сроки: исследование и проектирование заняли один месяц. В процессе проектирования были проработаны все механизмы будущей интеграции и обозначены блокирующие факторы со стороны Cainiao и ИТ-систем ритейлера. По итогам проектирования запущен переговорный процесс о способах устранения блокирующих проблем и дальнейших планах по реализации интеграционной шины.

Команда

Анастасия Аристова
Руководитель проектного офиса
Анастасия Паршакова
Системный аналитик
Даниил Хайбуллин
Руководитель проекта
Олег Казаков
Архитектор

Связаться с нами

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