Перейти к основному содержимому

Связи подсистемы уведомлений C3

В предыдущем уроке мы собрали полный состав Notification C3. Теперь вернём десять связей: пользовательский интерфейс, работу с данными, REST API и обмен сообщениями через RabbitMQ.

Восстановление десяти связей Notification management subsystem C3..

Исходная диаграмма​

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

Загрузка изображения...
Пять объектов контекста и десять внутренних компонентов готовы к восстановлению зависимостей

Каталог связей​

Откройте Добавить: Связь. Каталог предлагает существующие зависимости общей модели, поэтому их наименования, описания и идентификаторы сохраняются.

Загрузка изображения...
Связи выбираются из модели без повторного создания

Пользовательский интерфейс​

Сначала выберите взаимодействие администратора с сервисом управления через UI. Направление идёт от актора к сервису: пользователь знает, какой интерфейс он вызывает, а сервис не зависит от конкретного пользователя.

Загрузка изображения...
Администратор взаимодействует с сервисом управления через UI

Работа с данными​

Добавьте три зависимости сервисов от PostgreSQL. Для них используются обобщённые наименования Читает данные и Записывает данные, а конкретная операция остаётся в описании. Стрелка всегда направлена к базе: приложение знает о хранилище, но хранилище не знает о прикладном сервисе.

Загрузка изображения...
Клиенты читают и записывают данные, а базы остаются пассивными зависимостями

REST API​

Следующая группа показывает три взаимодействия через REST API: сервис администрирования запрашивает статусы доставки и передаёт информацию в CRM, а сервис отчётов получает аналитические данные. Общее наименование помогает сравнивать интеграции, конкретная цель вызова раскрывается в описании.

Загрузка изображения...
Три интеграции используют единый архитектурный словарь

Брокер сообщений​

Завершите выбор тремя зависимостями оркестратора от очередей RabbitMQ. Он публикует и получает сообщения, поэтому стрелки направлены от компонента к очередям. Сам брокер не знает о потребителях и не становится источником связи.

Загрузка изображения...
Публикация и получение сообщений направлены от прикладного компонента к брокеру

Добавление зависимостей​

Нажмите Добавить. Все десять существующих связей возвращаются на диаграмму одним действием, включая две разные зависимости между оркестратором и очередью отправленных сообщений.

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

Результат​

Notification C3 завершена: пятнадцать объектов и десять зависимостей точно соответствуют подготовленной структуре. Обобщённые наименования делают схему сопоставимой с другими C3, а описания сохраняют предметную конкретику.

Загрузка изображения...
Пятнадцать объектов и десять направленных связей образуют полную топологию подсистемы

Таймкоды​

  • 00:00 - Notification "Си три" без связей;
  • 00:10 - Каталог связей;
  • 00:22 - Пользовательский интерфейс;
  • 00:35 - Работа с данными;
  • 00:55 - REST API;
  • 01:21 - Брокер сообщений;
  • 01:46 - Добавление связей;
  • 01:50 - Полная топология;
  • 01:54 - Общий вид;
  • 01:58 - Notification "Си три" завершена.

Предыдущий урок: Компоненты подсистемы уведомлений C3.

Следующий урок: Структура PostgreSQL C3.