Составные части интеграции

Для интеграции потребуется разработать 8 компонент и настроить ещё одну.

Выделяются пять независимых сервисов, работающих с ЦБД:

  1. Обработчик уведомлений, приходящих от СМ. Реализуется как web-сервис Домино (хук).
  2. Обработчик запросов, поступающих от клиентских приложений Домино (сборка заказа). Реализуется как web-сервис Домино.
  3. Сервис мониторинга состояния заказов. Контролирует качество процессов и работоспособность других компонентов системы. Выделяется в отдельный сервис, чтобы его производительность и работоспособность не влияла на работу остальных сервисов. Реализуется через планировщик Домино.
  4. Сервис отправки уведомлений через телеграмм. Реализуется через планировщик Домино аналогично сервису мониторинга.
  5. Сервис формирования документов реализации по отгруженным заказам СМ. Реализуется через планировщик Домино аналогично сервису мониторинга.

Все сервисы должны работать с данными БД Домино от имени специальных (отдельных) пользователей, чтобы их следы были хорошо различимы в системных протоколах.

Обмен сообщениями со Сбермаркетом осуществляется с использованием OrderAPI. Описание API размещено на сайте СМ https://docs.sbermarket.ru/api-products/other/orders/description

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

Следующие две разрабатываемые компоненты - это блок специальных отчётов и административные режимы.

image-1691665627371.png

И последняя компонента для интеграции - это web-сервер NGINX.

NGINX предполагается использовать для обеспечения безопасности в качестве единой точки доступа. 

На web-сервер NGINX возлагаются следующие задачи:

  • реализация протокола https, работа с SSL- сертификатами
  • фильтрация входящего трафика по ip для предотвращения DDOS атак
  • проверка авторизационного токена во входящих запросах
  • проксирование web-запросов на соответствующие web-сервисы Домино
  • балансировка нагрузки в том случае, когда web- сервис Домино реализован в виде пула из нескольких серверов