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

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

    Изображение

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

    Цели и задачи

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

    Задача

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

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

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

    Инструменты, которые использовались для работы над проектом:

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

    Этапы работы

    Сначала мы оперативно изучили интеграционную документацию клиента. При проработке опирались сразу на два документа:

    • со стороны клиента (руководство по разработке и отладке интеграции с коннектором);
    • со стороны Cainiao (документ, описывающий API-интеграцию).

    В процессе изучения документации провели несколько интервью с заказчиком. На основе скрининга и обработки документации составили модель данных. Далее были подготовлены прототипы будущей интеграционной шины. ‍ Следующими этапами стали:

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

    Позже проработали другие системы данных:

    • хранение всех пользователей;
    • хранение данных об отправлениях;
    • хранение данных о параметрах посылки;
    • хранение данных о доставке груза.

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

    Данные, которые необходимо было обрабатывать:

    • создание отправителя;
    • отмена отправления;
    • доставка на склад продавца;
    • обновление данных по доставке;
    • отправление статуса доставки;
    • актуализация сроков отправления.

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

    Функционал

    Шина выступает посредником между сервисами клиента и сторонними сервисами. Функционал шины позволяет:

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

    Результаты

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

    Команда

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

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

    Оставьте заявку, мы с вами свяжемся и обсудим решение вашей задачи

    Оставляя заявку, Вы соглашаетесь с политикой обработки персональных данных