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

Модель архитектуры С4

Модель С4 используется для графического изображения архитектуры системы и объяснения декомпозиции системы на элементы. Диаграммы в этой модели организуются по принципу увеличения масштаба и детализации элементов:

  1. Уровень 1: диаграмма контекста (C1: system context diagram)

    Отражает положение системы во внешнем контексте: возможные пользовательские роли и другие системы, непосредственно участвующие в работе.

  2. Уровень 2: диаграмма контейнеров (C2: container diagram)

    Разбивает систему на контейнеры (основные подсистемы) и отражает основные пути взаимодействия между ними.

  3. Уровень 3: диаграмма компонентов (C3: component diagram)

    Разбивает каждый контейнер на компоненты и отражает взаимодействие компонентов между собой (внутри одного контейнера) и с другими контейнерами. Этот уровень описан в архитектурных диаграммах каждого сервиса.

  4. Уровень 4: диаграмма кода (C4: code diagram)

    Описывает элементы кода, с помощью которых реализуются компоненты. Этот уровень не будет описан в документации On-Premise.

Чтобы получить общее представление об устройстве комплекса On-Premise, вам будет достаточно изучить диаграммы уровней С1 и С2. Если же вам интересно устройство каждого сервиса, изучите диаграммы уровней С2 (с фокусом на отдельных сервисах) и С3.

Рекомендация

Чтобы расссмотреть диаграммы в увеличенном масштабе, кликните по нужному изображению правой кнопкой мыши и выберите Открыть картинку в новой вкладке или Сохранить картинку как.

C1: диаграмма системного контекста

Уровень 1: диаграмма системного контекста

В программном комплексе On-Premise предполагаются следующие роли:

  • Пользователь: использует установленные продукты комплекса для решения задач.
  • Инженер (DevOps): устанавливает и обслуживает систему.
  • Оператор: контролирует доступ пользователей к системе.

Взаимодействие с хранилищами данных и публичными серверами обновлений описано в диаграммах следующих уровней.

C2: диаграмма контейнеров

Уровень 2: диаграмма контейнеров

Внутри комплекса On-Premise контейнер - это продукт 2ГИС, который реализует уникальную функцию (например, построение маршрутов), устанавливается отдельно и имеет свой ряд зависимостей. Каждая инсталляция On-Premise может иметь разный набор контейнеров в зависимости от того, какие задачи должен решать установленный комплекс.

Утилита 2GIS CLI является инструментом установки: она позволяет загружать с публичных серверов 2ГИС новые (и обновлять существующие) артефакты установки, с помощью которых разворачиваются все сервисы.

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

C2: Утилита 2GIS CLI

Уровень 2: фокус на утилите 2GIS CLI

Подробнее о структуре утилиты 2GIS CLI см. в разделе Архитектура утилиты 2GIS CLI.

C2: Сервис лицензий

Уровень 2: фокус на сервисе лицензий

Подробнее о структуре сервиса лицензий:

C2: API карт

Уровень 2: фокус на API карт

Подробнее о структуре API карт:

Уровень 2: фокус на API поиска

Подробнее о структуре API поиска:

C2: API навигации

Уровень 2: фокус на API навигации

Подробнее о структуре API навигации:

C2: 2ГИС Про

Уровень 2: фокус на 2ГИС Про

Подробнее о структуре 2ГИС Про:

C2: 2ГИС Ситискан

Уровень 2: фокус на 2ГИС Ситискан

Подробнее о структуре 2ГИС Ситискан:

C2: Мобильный SDK

Уровень 2: фокус на мобильном SDK

Подробнее о структуре мобильного SDK:

C2: GIS-платформа

Уровень 2: фокус на GIS-платформе

Подробнее о структуре GIS-платформы:

C2: Менеджер Платформы

Уровень 2: фокус на Менеджерe Платформы

Подробнее о структуре Менеджера Платформы: