Принципиальная схема рисовалки отчетов

(Задание: описать принципиальную схему вашей системы)

По-скольку, описанное здесь может попадать под NDA, все конкретные наименования заменены псевдонимами (к сожалению, с некоторым обобщением). Можете считать, что здесь описан поток данных для админки, в которой рисуются таблички и графики. Функциональными объектами здесь являются сервисы/модули/кусочки кода, которые выполняют функционально-значимые преобразования объектов данных.

Для начала деревом:

  • XE (сервис провайдер данных)
    • Обработчик вызовов
      • Проверятель доступов
      • Доставатель из кэша
      • Обработчик ошибок
    • Билдер запроса
      • Запрашиватель ГЕО-данных
      • Запрашиватель АБ-групп
      • Парсер данных из url-а
      • Парсер header-ов
    • Клиенты/Запрашиватели данных из внешних источников (не для запроса)
      • Запрашиватель сырого отчета
      • Скачиватель конфигурации
    • Калькулятор
      • Калькулятор модели
      • Калькулятор SHAP-ов
      • Калькулятор бустингов
    • Сохранятель в кэш
  • BFF (backend for frontend)
    • Обогатитель данными
      • Обогатитель картинок
      • Обогатитель данными по товару
      • Обогатитель данными по продавцу
      • Обогатитель маркетинговыми акциями
    • Билдер ответа фронтовому сервису
      • Объединитель фрагментов данных
  • FRONT
    • Билдер ответа для клиента
  • Браузер
    • Рендеринг страницы для пользователя

Если переложить это в принципиальную схему, где есть потоки данных, то получается так:

  • START
  • Проверятель доступов
    • CONDITION Если доступа нет
      • Вернуть ошибку END
    • Доставатель из кэша
      • CONDITION Если есть в кэше
        • Обогатитель данными
        • Билдер ответа фронту
        • Билдер HTML
        • Прописыватель js-скриптов END
      • Запрашиватель ГЕО-данных
      • Запрашиватель АБ-групп
      • Парсер данных из url-а
      • Парсер header-ов
      • Запрашиватель сырого отчета
      • Скачиватель конфигурации
      • Калькулятор модели
      • Калькулятор SHAP-ов
      • Калькулятор бустингов
      • Сохранятель в кэш
      • Обогатитель данными
      • Билдер ответа фронту
      • Билдер ответа для клиента
      • Рендеринг страницы для пользователя END

Это существующая схема, описанная кодом и визуализированная (с помощью plantUML) sequence-диаграммой.

1 лайк