iac/docs/architecture/example-technology.xml

2094 lines
262 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.opengroup.org/xsd/archimate/3.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengroup.org/xsd/archimate/3.0/ https://www.opengroup.org/xsd/archimate/3.1/archimate3_Diagram.xsd"
identifier="model-contour">
<name xml:lang="ru">СДЕ Sarex — типовой контур (пример)</name>
<documentation xml:lang="ru">Технологический слой типового контура. Имена кластера, узлов, доменов и реестра заменены на примеры. Прикладной слой присутствует как потребители технологических сервисов и как состав групп узлов; межсервисные связи приложений моделируются отдельно.</documentation>
<elements>
<element identifier="ac-ams-sync" xsi:type="ApplicationComponent">
<name xml:lang="ru">ams-sync</name>
<documentation xml:lang="ru">Односторонняя синхронизация учётных записей из ядра платформы во внешний провайдер идентификации: созданный или изменённый пользователь вместе с профилем, принадлежностью организации и метаданными появляется в Zitadel, где на этих данных строится авторизация доменных сервисов. Работает консьюмером Kafka-топика, отдельный консольный режим использовался для первичной массовой миграции пользователей и компаний. Входящих вызовов не принимает.
Стек: Python · консьюмер Kafka (kafka-python) · requests с ретраями · Zitadel Management API.</documentation>
</element>
<element identifier="ac-attachments" xsi:type="ApplicationComponent">
<name xml:lang="ru">attachments</name>
<documentation xml:lang="ru">Универсальное хранилище файловых вложений к любым сущностям платформы: файл кладётся в S3, метаданные — в PostgreSQL, привязка полиморфная («имя модели + идентификатор экземпляра»). Скачивание идёт по временным подписанным ссылкам напрямую из объектного хранилища.
Стек: Python · FastAPI · PostgreSQL (psycopg2, сырой SQL; Alembic только для схемы) · S3 через boto3 · OpenTelemetry.</documentation>
</element>
<element identifier="ac-auth-flow" xsi:type="ApplicationComponent">
<name xml:lang="ru">auth-flow</name>
<documentation xml:lang="ru">Входная точка авторизации платформы: страницы `/login`, `/logout`, `/auth/callback`, `/auth/error` и обработка OIDC-редиректов Zitadel по Authorization Code flow. Полученные токены передаются в оболочку микрофронтендов; бизнес-данных компонент не хранит.
Стек: TypeScript · React · Webpack 5 · внутренний sdk-js поверх oidc-client · Zitadel (OIDC) · oauth2-proxy в инфраструктуре.</documentation>
</element>
<element identifier="ac-bim" xsi:type="ApplicationComponent">
<name xml:lang="ru">bim</name>
<documentation xml:lang="ru">Ядро работы с информационными моделями: хранит BIM-модели проекта, дерево элементов, их свойства и статусную модель хода строительства (в том числе корпоративные шаблоны статусов с цветами и переходами). Питает раскраску моделей во вьюере, фильтрацию элементов и отчётность о проценте готовности.
Стек: Go (go-pg, gorilla/mux, Prometheus) и легаси-часть на Python/Flask · PostgreSQL с шардированием и партиционированием · S3 · джоб metadata-inserter на Go.</documentation>
</element>
<element identifier="ac-cde" xsi:type="ApplicationComponent">
<name xml:lang="ru">cde</name>
<documentation xml:lang="ru">Среда общих данных (CDE): документы, версии, комплекты, права, штампы, QR-метки, электронные подписи, публичные ссылки и changelog. Публикует доменные события через transactional outbox в Kafka и постепенно принимает на себя мутирующие вызовы legacy-сервисов документации.
Стек: Go (Fiber, go-pg) · PostgreSQL · S3/MinIO · Valkey · Kafka (transactional outbox) · Camunda 8 / Zeebe · OpenTelemetry.</documentation>
</element>
<element identifier="ac-checklists" xsi:type="ApplicationComponent">
<name xml:lang="ru">checklists</name>
<documentation xml:lang="ru">Шаблоны проверок (чек-листы из шагов и типизированных элементов ввода) и результаты их заполнения. Результат привязывается к любой сущности платформы через пару «тип сущности + идентификатор» и может блокироваться после согласования по вызову из flows.
Стек: Python · FastAPI · Piccolo ORM с админкой · PostgreSQL (JSONB) · собственный JWT-middleware · OpenTelemetry.</documentation>
</element>
<element identifier="ac-comparisons" xsi:type="ApplicationComponent">
<name xml:lang="ru">comparisons</name>
<documentation xml:lang="ru">Сравнение проектных данных и выявление отклонений: облако точек к облаку, облако к модели, PDF к PDF, BIM к BIM, расчёт отклонений. Тяжёлые вычисления делегируются движку workflow, результат раскладывается на элементы и изменения, доступные для фильтрации и верификации инженером.
Стек: Go (Fiber, go-pg) · PostgreSQL · Docker-образы задач в реестре · фронтенд на TypeScript/React/MobX/Material-UI (Module Federation).</documentation>
</element>
<element identifier="ac-contracts" xsi:type="ApplicationComponent">
<name xml:lang="ru">contracts</name>
<documentation xml:lang="ru">Реестр договоров компании: номер, подрядчик, сроки, стоимость, привязка к проекту или объекту. Даёт коммерческий контур поверх производственных данных; на договор, в частности, ссылается предписание.
Стек: Go · Fiber v3 · pgx + squirrel · PostgreSQL (JSONB) · фронтенд на TypeScript/React/MobX по Feature-Sliced Design.</documentation>
</element>
<element identifier="ac-control-interface" xsi:type="ApplicationComponent">
<name xml:lang="ru">control-interface</name>
<documentation xml:lang="ru">Административный контур платформы (srx-admin): управление пользователями, ролями, атрибутами, подразделениями, проектами и функциональными группами, а также реестром активов компании с правами доступа. Отдельный крупный сценарий — пакетный импорт активов из XLSX со статусами заданий и отчётами об ошибках.
Стек: TypeScript · React · MobX · Material-UI и ui-kit · Webpack 5 Module Federation · монорепозиторий npm-workspaces; собственного хранилища нет.</documentation>
</element>
<element identifier="ac-cross-section" xsi:type="ApplicationComponent">
<name xml:lang="ru">cross-section</name>
<documentation xml:lang="ru">Инструмент построения поперечных сечений по облакам точек и BIM-документам прямо во вьюере, с сохранением сечений, цветовой легендой документов и экспортом в DWG. Применяется при обмере и контроле построенного; серверная часть — drawings.
Стек: TypeScript · React · MobX · pixi-viewer · джоб экспорта в DWG на Go с Python-генератором · PostgreSQL · объектное хранилище.</documentation>
</element>
<element identifier="ac-django" xsi:type="ApplicationComponent">
<name xml:lang="ru">django</name>
<documentation xml:lang="ru">Легаси-монолит и ядро продукта: компании, пользователи, роли и подрядчики, объекты строительства, миссии аэрофотосъёмки, ортофотопланы, облака точек и поверхности, измерения, аналитика с дашбордами и метриками, карта, ТОиР, уведомления и журнал действий. Здесь же — основной SPA-хост, в который встраиваются все микрофронтенды платформы.
Стек: Python · Django + DRF · django-guardian · channels · Celery + Redis · Kafka · PostgreSQL, ClickHouse, MongoDB, S3 · фронтенд на TypeScript/React/MobX (Module Federation, PWA).</documentation>
</element>
<element identifier="ac-document-link" xsi:type="ApplicationComponent">
<name xml:lang="ru">document-link</name>
<documentation xml:lang="ru">Публичная страница выданной наружу ссылки на документ: получатель без учётной записи видит карточку документа и скачивает файл. Собственного бэкенда нет — данные отдаёт публичный эндпоинт documentations, срок действия ограничен JWT ссылки.
Стек: TypeScript · Next.js (app router) · React · SWR · Tailwind; собственного бэкенда нет.</documentation>
</element>
<element identifier="ac-documentations" xsi:type="ApplicationComponent">
<name xml:lang="ru">documentations</name>
<documentation xml:lang="ru">Рабочая среда документации проекта: диски, дерево папок, документы с версиями, страницами, атрибутами, правами и связями; штампы, ЭЦП, подписки, корзина, публичные ссылки. Отвечает также за постановку загруженных инженерных форматов в очередь конвертации. Домен находится в миграции — мутирующие операции проксируются в cde.
Стек: Go (go-pg, Fiber, swaggo) · PostgreSQL · S3 с многочастной загрузкой · Valkey · RabbitMQ · Mailgun/SMTP · фронтенд на TypeScript/React/MobX.</documentation>
</element>
<element identifier="ac-drawings" xsi:type="ApplicationComponent">
<name xml:lang="ru">drawings</name>
<documentation xml:lang="ru">Серверная часть сечений: хранит поперечные сечения по поверхностям и облакам точек и задания на их экспорт, принимает результат асинхронной выгрузки по webhook. Применяется при исполнительной съёмке и контроле выполненных объёмов.
Стек: Go · gorilla/mux · go-pg с миграциями · PostgreSQL · внутренние библиотеки gotools и sdk-go · Prometheus.</documentation>
</element>
<element identifier="ac-eav" xsi:type="ApplicationComponent">
<name xml:lang="ru">eav</name>
<documentation xml:lang="ru">Универсальная модель «сущность — атрибут — значение»: пользовательские атрибуты, их типы, схемы и справочники, расширяющие любые доменные объекты без изменения схемы БД. Второй блок — иерархический классификатор активов объекта (WBS-дерево) с импортом и экспортом через Excel.
Стек: Python · Django + DRF · django-filter · Celery · PostgreSQL (в том числе сырой SQL для иерархии) · pandas + openpyxl · контракты protobuf.</documentation>
</element>
<element identifier="ac-faas" xsi:type="ApplicationComponent">
<name xml:lang="ru">faas</name>
<documentation xml:lang="ru">Логическое имя слоя эфемерных вычислительных функций — одноразовых job-контейнеров, запускаемых движком workflow поверх Kubernetes. Отдельного репозитория и кодовой базы не найдено; значение компонента требует уточнения у команды платформы.
Стек: Предположительно Kubernetes Job и воркеры RabbitMQ поверх Docker-образов на Python и Go; собственной кодовой базы не найдено, стек требует подтверждения.</documentation>
</element>
<element identifier="ac-flows" xsi:type="ApplicationComponent">
<name xml:lang="ru">flows</name>
<documentation xml:lang="ru">Маршруты согласования проектной документации: маршрут из шагов с назначенными согласующими, ревью документов, решения участников, сроки по рабочим дням и очередь задач согласующего. Публикует события согласования в Kafka и умеет автоматически инициировать трансмиттал после завершения маршрута.
Стек: Python · FastAPI · SQLAlchemy + Alembic · PostgreSQL (JSONB) · Celery · FastStream + Kafka · фронтенд на TypeScript/React/MobX (rsbuild + Module Federation).</documentation>
</element>
<element identifier="ac-iam" xsi:type="ApplicationComponent">
<name xml:lang="ru">iam</name>
<documentation xml:lang="ru">Платформенный IAM: иерархия ресурсов, компании, пользователи, сервисные аккаунты и права по модели ReBAC (SpiceDB). Отвечает на вопросы «какие права у пользователя на ресурс» и «какие ресурсы доступны пользователю», на которые опираются остальные сервисы; пользователи заводятся во внешнем Zitadel.
Стек: Go, гексагональная архитектура · SpiceDB по gRPC с собственным Postgres-datastore · PostgreSQL · S3 · Kafka · Zitadel Management API · Helm с Istio.</documentation>
</element>
<element identifier="ac-inspections" xsi:type="ApplicationComponent">
<name xml:lang="ru">inspections</name>
<documentation xml:lang="ru">События и проверки на объекте: планирование осмотров с типом, датой, ответственными, локацией и настраиваемыми атрибутами, контроль занятости исполнителей, история изменений и выгрузка реестра в XLSX. Отдельная подсистема — правила доступности и идемпотентное бронирование слотов для выездов и приёмок.
Стек: Python · FastAPI · Piccolo ORM с админкой · PostgreSQL (JSONB, триггеры, advisory-локи) · FastStream + Kafka · фронтенд на React/MobX с DevExpress Scheduler.</documentation>
</element>
<element identifier="ac-issues" xsi:type="ApplicationComponent">
<name xml:lang="ru">issues</name>
<documentation xml:lang="ru">Сервис замечаний строительного контроля: типы, настраиваемые статусные модели с правами на переходы, ответственные, комментарии, фото-вложения, атрибуты EAV и история изменений. Включает выпуск предписаний, выгрузку реестров в XLSX и PDF и рассылку уведомлений. Один бэкенд обслуживает также компоненты remarks и prescriptions.
Стек: Python · Django + DRF · PostgreSQL с полнотекстовым поиском · Celery + Redis · Kafka · S3 · pandas и ReportLab для XLSX и PDF · SimpleJWT с Zitadel.</documentation>
</element>
<element identifier="ac-mapper" xsi:type="ApplicationComponent">
<name xml:lang="ru">mapper</name>
<documentation xml:lang="ru">Агрегирующий сервис (BFF), склеивающий данные нескольких API в один ответ для интерфейса: реестр документов диска вместе с состоянием согласования и заметки вместе с их связями. Собственной доменной модели и базы не имеет, ответы кеширует в Redis.
Стек: Python · FastAPI · httpx с ретраями · Redis/RedisJSON как кеш; собственной БД нет.</documentation>
</element>
<element identifier="ac-measurements" xsi:type="ApplicationComponent">
<name xml:lang="ru">measurements</name>
<documentation xml:lang="ru">Геопространственные измерения по материалам аэросъёмки: высота и температура в точке, профиль вдоль ломаной, расчёт объёма по контуру и разности объёмов между съёмками, метаданные растров и пересчёт координат. Stateless-сервис без собственной БД, читающий GeoTIFF напрямую из объектного хранилища.
Стек: Python · FastAPI · GDAL, pyproj, NumPy, OpenCV, SciPy · чтение GeoTIFF из S3 через boto3; собственной БД нет.</documentation>
</element>
<element identifier="ac-message-hub" xsi:type="ApplicationComponent">
<name xml:lang="ru">message-hub</name>
<documentation xml:lang="ru">Событийный хаб домена планирования: принимает события Kafka и выполняет побочные действия — пересчёт аналитики, обновление атрибутов, письма, экспорты, системный журнал, автопланирование, синхронизацию проектов и ресурсов. Транслирует изменения в браузер по WebSocket, обеспечивая живое обновление доски проекта.
Стек: Python · FastStream + Kafka (aiokafka) · python-socketio с Redis · SQLAlchemy Core с сырым SQL к PostgreSQL · S3 · Jinja2 для писем.</documentation>
</element>
<element identifier="ac-notes" xsi:type="ApplicationComponent">
<name xml:lang="ru">notes</name>
<documentation xml:lang="ru">Заметки и примечания на объектах проекта: пометка на 2D-чертеже или в 3D-модели со сроком, цветом, фотографиями, вложениями и связями с сущностями разных сервисов. Поддерживает отправку скриншота вида и формирование документа по заметке; применяется при авторском надзоре и строительном контроле.
Стек: Python · FastAPI · SQLAlchemy + Alembic · PostgreSQL с полнотекстовым поиском · фронтенд на TypeScript/React/MobX/Material-UI.</documentation>
</element>
<element identifier="ac-pm" xsi:type="ApplicationComponent">
<name xml:lang="ru">pm</name>
<documentation xml:lang="ru">Календарно-сетевое планирование: иерархия задач, длительности, связи предшествования, календари, базовые планы, факт и проценты выполнения, ресурсы и назначения. Импорт графиков из MS Project, Primavera и XLSX, работа на диаграмме Ганта, экспорт в PDF, асинхронное автопланирование и пересчёт.
Стек: Python · Django 5 + DRF, целевой стиль — FastAPI с async SQLAlchemy · PostgreSQL с триггерами · ClickHouse · S3 · Celery + Redis · Kafka · pandas, парсеры MS Project и Primavera · фронтенд на React/MobX.</documentation>
</element>
<element identifier="ac-prescriptions" xsi:type="ApplicationComponent">
<name xml:lang="ru">prescriptions</name>
<documentation xml:lang="ru">Выдача предписаний подрядчику по результатам строительного контроля: предписание собирается из замечаний, привязывается к договору, подрядчику и объекту, получает номер и проходит согласование по статусам. Официальный документ формируется по шаблону движком workflow; бэкенд — приложение внутри issues.
Стек: Python · Django + DRF · PostgreSQL (приложение внутри бэкенда issues) · генерация документов движком workflow · фронтенд на React/MobX (rsbuild + Module Federation).</documentation>
</element>
<element identifier="ac-processing" xsi:type="ApplicationComponent">
<name xml:lang="ru">processing</name>
<documentation xml:lang="ru">Фабрика тяжёлых вычислений платформы: движок workflow исполняет граф задач, каждая из которых запускается отдельным контейнером (Kubernetes Job или воркер через RabbitMQ). Через него работают конвертация форматов, сравнения, экспорт в DWG и генерация документов; отдельный интерфейс даёт мониторинг, логи, отмену и перезапуск задач.
Стек: Go (pgx, go-pg, zap) · PostgreSQL · Kubernetes client-go для джобов · RabbitMQ для сторонних воркеров · джобы на Python (boto3, внутренняя workflows-tools) · фронтенд на React/MobX.</documentation>
</element>
<element identifier="ac-projects" xsi:type="ApplicationComponent">
<name xml:lang="ru">projects</name>
<documentation xml:lang="ru">Витрина проектов и карточка проекта — верхнеуровневый вход пользователя в платформу: атрибуты, местоположение, фотографии, группировки и настраиваемые вкладки с разделами-виджетами. Агрегирует показатели остальных модулей, включая встраивание внешней аналитики.
Стек: Python · FastAPI · async SQLAlchemy 2.0 + Alembic · PostgreSQL (JSONB) · S3 · фронтенд на React/MobX с TanStack Query и leaflet · встраивание Superset.</documentation>
</element>
<element identifier="ac-remarks" xsi:type="ApplicationComponent">
<name xml:lang="ru">remarks</name>
<documentation xml:lang="ru">Пользовательский модуль работы с замечаниями (UI): пин на чертеже, в ячейке XLSX или на задаче графика, описание, срок, ответственные, вложения и пометки поверх листа, табличное и списочное представления, фильтры, массовое редактирование и экспорт. Собственный бэкенд архивирован — модуль работает поверх issues.
Стек: TypeScript · React · MobX · Material-UI · TanStack Table и Virtual; серверная часть — стек issues.</documentation>
</element>
<element identifier="ac-resources" xsi:type="ApplicationComponent">
<name xml:lang="ru">resources</name>
<documentation xml:lang="ru">Единый реестр ресурсов платформы — иерархия объектов строительства (проект, объект, участок и ниже) с типами, географическим положением, кодами и правами доступа. Идентификатор ресурса служит сквозным ключом проекта во всех остальных сервисах, а сам реестр — общей точкой проверки прав, поэтому это один из самых востребованных компонентов контура. Интеграция только синхронная, по HTTP.
Стек: Python · Django + DRF · django-filter · PostgreSQL с ltree и PostGIS · фронтенд в отдельном репозитории.</documentation>
</element>
<element identifier="ac-reviews" xsi:type="ApplicationComponent">
<name xml:lang="ru">reviews</name>
<documentation xml:lang="ru">Рабочее место согласующего: очередь задач с приоритетами и сроками, просмотр документа, пометки и замечания, заполнение чек-листов и вынесение решения (согласовано / с замечаниями / отклонено). Ключевой этап между выпуском версии документа и выдачей её «в производство работ»; бэкенд общий с flows.
Стек: TypeScript · React · MobX · rsbuild + Module Federation; серверная часть — стек flows, экспорт отчётов вынесен в отдельный сервис.</documentation>
</element>
<element identifier="ac-rfi" xsi:type="ApplicationComponent">
<name xml:lang="ru">rfi</name>
<documentation xml:lang="ru">Формальные запросы информации между участниками проекта: запрос с приоритетом, статусом, ответственными и привязкой к ресурсу, переписка сообщениями с пометкой одного из них как решения. Приоритеты и статусы настраиваются на уровне компании, ведётся полный журнал изменений полей.
Стек: Python · Django 5.1 + DRF · django-filter · PostgreSQL · Celery · SimpleJWT с Zitadel · фронтенд на TypeScript/React/MobX (rsbuild + Module Federation).</documentation>
</element>
<element identifier="ac-stamp-verification" xsi:type="ApplicationComponent">
<name xml:lang="ru">stamp-verification</name>
<documentation xml:lang="ru">Публичная страница проверки подлинности документа по QR-штампу: сканирование кода с бумажной или PDF-копии открывает карточку с документом, страницей и его актуальным состоянием, включая статус согласования. Авторизация не требуется; серверная часть — публичный эндпоинт documentations.
Стек: Статический сайт без сборщика: HTML, vanilla JS, moment.js; серверная часть — Go (gorilla/mux, go-pg, PostgreSQL) в составе documentation-api.</documentation>
</element>
<element identifier="ac-subscriptions" xsi:type="ApplicationComponent">
<name xml:lang="ru">subscriptions</name>
<documentation xml:lang="ru">Подписки на изменения объектов и рассылка уведомлений по e-mail, SMTP/Mailgun и Telegram с периодичностью от мгновенной до еженедельной. Источник изменений — не брокер, а периодический опрос журнала system-log; тексты формируются по шаблонам, привязанным к модели и типу события.
Стек: Python · Django + DRF · PostgreSQL с PostGIS и TimescaleDB · SMTP и Mailgun · python-telegram-bot · Jinja2 · OpenTelemetry.</documentation>
</element>
<element identifier="ac-system-log" xsi:type="ApplicationComponent">
<name xml:lang="ru">system-log</name>
<documentation xml:lang="ru">Централизованный журнал системных событий (аудит) всей платформы: кто, что и над каким объектом сделал, с метаданными, ресурсом и компанией. Обеспечивает прослеживаемость изменений и служит источником событий для механизма подписок и уведомлений.
Стек: Go · Fiber · pgx + squirrel с миграциями на старте · PostgreSQL · Kafka через sarama (опционально) · отдельный воркер с cron · OpenTelemetry.</documentation>
</element>
<element identifier="ac-transmittal" xsi:type="ApplicationComponent">
<name xml:lang="ru">transmittal</name>
<documentation xml:lang="ru">Формальная передача комплектов документации между участниками — сопроводительное письмо с составом, получателями, сроком и результатом приёма или отклонения. По завершении формируется акт передачи в PDF; есть шаблоны трансмитталов и связь с согласованиями, замыкающая цикл «выдал документацию → получил замечания».
Стек: Python · FastAPI · async SQLAlchemy + Alembic · PostgreSQL · S3 · taskiq + RabbitMQ · Jinja2 с собственным конвертером HTML в PDF · Mailgun и SMTP · фронтенд на React/MobX (Module Federation).</documentation>
</element>
<element identifier="ac-workspaces" xsi:type="ApplicationComponent">
<name xml:lang="ru">workspaces</name>
<documentation xml:lang="ru">Рабочее пространство — сцена, в которой пользователь одновременно работает с BIM-моделями, облаками точек, PDF-чертежами и панорамами объекта, настраивает отображение и сохраняет именованные состояния. Поддерживает установку прикладных модулей компании как федеративных приложений внутри сцены и архивирование данных при закрытии этапов.
Стек: Go (gorilla/mux, go-pg, Prometheus, Sentry, JWT на RSA) · PostgreSQL · фронтенд на TypeScript/React/MobX с viewer (Module Federation), кеш в IndexedDB · тесты Cypress и Jest.</documentation>
</element>
<element identifier="ac-bim-converter" xsi:type="ApplicationComponent">
<name xml:lang="ru">Конвертер BIM-моделей</name>
<documentation xml:lang="ru">Подготовка исходных САПР-моделей (IFC, NWD и другие форматы Autodesk) к просмотру и анализу: облегчённая геометрия glTF/`.s3d` плюс структурированный набор свойств, категорий и материалов элементов. Обязательное звено между загрузкой документа в CDE и появлением работоспособной модели в интерфейсе; работает как эфемерный джоб и как постоянный воркер RPC.
Стек: Ядро на Python с ifcopenshell и NumPy · обвязка и воркеры на Go · RabbitMQ (RPC) · S3 · Docker · плагин Navisworks на C#/.NET (SharpGLTF) · форматы IFC и NWD в glTF/GLB, `.s3d` и JSON свойств.</documentation>
</element>
<element identifier="nd-cluster" xsi:type="Node">
<name xml:lang="ru">Кластер k8s-prod</name>
<documentation xml:lang="ru">Flux CD — набор контроллеров Kubernetes, реализующий подход GitOps: вся система описана декларативно и находится под контролем версий, а автоматика непрерывно приводит развёрнутое окружение в соответствие состоянию, заданному в Git. Контроллеры с заданным интервалом сравнивают фактическое состояние ресурсов с желаемым и применяют расхождения. Основные ресурсы: GitRepository описывает источник, Kustomization — набор манифестов для согласования, HelmRelease — развёртывание Helm-чарта.
Кластер Kubernetes, в котором работает вся платформа. Состав задаётся одним файлом clusters/&lt;контур&gt;/kustomization.yaml — плоским списком инфраструктурных компонентов и приложений; он же является источником истины о том, что развёрнуто. Доставка изменений — GitOps через FluxCD v2: Flux читает манифесты из Git-сервера контура и приводит кластер к описанному состоянию, ручной kubectl apply в нормальном процессе не используется. Прикладные сервисы ставятся не собственными чартами, а одним общим universal-chart, что делает их конфигурацию единообразной.</documentation>
</element>
<element identifier="ss-istio-gw" xsi:type="SystemSoftware">
<name xml:lang="ru">Istio Ingress Gateway</name>
<documentation xml:lang="ru">Istio — открытый service mesh, который прозрачно накладывается на существующие распределённые приложения и централизованно управляет взаимодействием сервисов, не требуя изменений в коде. Ingress-шлюз — это компонент плоскости данных Istio на границе mesh: он принимает внешний трафик, терминирует TLS и передаёт запросы внутрь по правилам, заданным ресурсами Gateway и VirtualService.
Единственная точка входа внешнего трафика в контур. Терминирует TLS и передаёт запросы дальше по правилам service mesh. Публикуется через NodePort и в типовой конфигурации привязан к выделенному узлу — это делает его единственной точкой отказа для всего внешнего доступа: при потере узла контур остаётся живым внутри, но недоступен снаружи. Резервирование ingress стоит рассматривать отдельно от резервирования приложений.</documentation>
</element>
<element identifier="ss-istio-mesh" xsi:type="SystemSoftware">
<name xml:lang="ru">Istio Service Mesh</name>
<documentation xml:lang="ru">Istio разделён на плоскость управления, которая хранит конфигурацию и раздаёт её прокси, и плоскость данных из прокси Envoy рядом с каждым подом. Такая схема даёт три группы возможностей: управление трафиком (маршрутизация, балансировка HTTP/gRPC/TCP, повторы и переключение при отказах), безопасность (взаимный TLS между сервисами) и наблюдаемость — метрики, логи и трассировки для всего трафика кластера собираются автоматически. Конфигурация меняется на лету: Istio перепрограммирует прокси без пересборки и перезапуска приложений.
Управляющая конфигурация сети: Gateway описывает внешние точки входа, VirtualService — маршрутизацию по путям на конкретные сервисы, RequestAuthentication — проверку JWT на входе. Поставляется чартом istio-config-contour и является тем местом, где видно, какие приложения вообще опубликованы наружу. В части контуров разводка по путям вынесена за пределы репозитория во внешний nginx — тогда в модели виден только факт публикации, но не таблица маршрутов. Sidecar-прокси рядом с каждым подом дают mTLS между сервисами и метрики трафика.</documentation>
</element>
<element identifier="ss-certmanager" xsi:type="SystemSoftware">
<name xml:lang="ru">cert-manager</name>
<documentation xml:lang="ru">cert-manager — расширение Kubernetes, которое выпускает TLS-сертификаты для нагрузок в кластере и продлевает их до истечения срока. Ресурсы Issuer и ClusterIssuer описывают, у какого удостоверяющего центра и на каких условиях получать сертификат, а ресурс Certificate — сам запрошенный сертификат; результат складывается в секрет Kubernetes, откуда его читают поды и ingress-контроллеры. Поддерживаются разные источники: Let's Encrypt, HashiCorp Vault, внутренние PKI и самоподписанные издатели.
Выпускает и автоматически продлевает TLS-сертификаты для внешних доменов контура. Работает через ClusterIssuer: в контурах с доступом в интернет это Let's Encrypt, в закрытых — самоподписанный издатель, как в этом примере. Выпущенный wildcard-сертификат складывается в секрет, который использует ingress-gateway. Практическое следствие самоподписанного варианта: клиентам нужно доверять корневому сертификату контура, иначе браузеры и интеграции будут ругаться.</documentation>
</element>
<element identifier="ss-zitadel" xsi:type="SystemSoftware">
<name xml:lang="ru">Zitadel</name>
<documentation xml:lang="ru">Zitadel — платформа управления идентификацией, реализующая отраслевые стандарты OIDC, OAuth 2.0 и SAML для входа и единой аутентификации. Отличительные черты — мультиарендность с настройкой оформления под каждого арендатора, полный журнал аудита на основе event sourcing и возможность развёртывания как в облаке, так и на своих мощностях. Закрывает задачи аутентификации, многофакторной проверки и управления пользователями без разработки собственной подсистемы входа.
Основной поставщик идентичности платформы, отвечает за аутентификацию пользователей по OIDC и выдачу токенов. Прикладные сервисы не проверяют пароли сами: они валидируют JWT по публичному ключу, а на границе контура это же делает Istio через RequestAuthentication. Самый широко используемый технологический сервис контура — с ним так или иначе работает подавляющее большинство приложений, включая фронтенды. Отдельный микрофронтенд auth-flow обслуживает сценарий логина и обработку OIDC-callback. Keycloak в платформе тоже встречается, но как вторичный вариант и внутри поставки Camunda.</documentation>
</element>
<element identifier="ss-vault" xsi:type="SystemSoftware">
<name xml:lang="ru">Vault + Agent Injector</name>
<documentation xml:lang="ru">HashiCorp Vault — централизованная система управления секретами: учётными данными, ключами шифрования и сертификатами, с аудитом всех обращений. Работает по схеме «клиент аутентифицируется — получает токен, связанный с набором политик — обращается к секретам по путям — Vault проверяет права и записывает обращение в журнал независимо от исхода». Модульная архитектура позволяет подключать разные способы аутентификации и разные хранилища секретов, включая выдачу временных учётных данных к базам данных.
Единственный механизм доставки секретов приложениям. Секреты не лежат в манифестах и не хранятся в Git: под получает их через sidecar Agent Injector, который аутентифицируется в Vault по service account пода и монтирует значения из пути вида secrets/data/apps/&lt;приложение&gt;/postgres. Ролью и service account служит имя приложения — соглашение единообразно для всех сервисов. Трафик к Vault выведен из-под sidecar-прокси Istio отдельной аннотацией, иначе инициализация пода не проходит.</documentation>
</element>
<element identifier="ss-postgres" xsi:type="SystemSoftware">
<name xml:lang="ru">PostgreSQL</name>
<documentation xml:lang="ru">PostgreSQL — объектно-реляционная СУБД с открытым исходным кодом и почти сорокалетней историей развития. Соответствует требованиям ACID, использует многоверсионное управление конкурентным доступом (MVCC) и покрывает не менее 170 из 177 обязательных возможностей ядра стандарта SQL:2023. Поддерживает широкий набор типов данных, включая JSON и JSONB, геометрические и пользовательские типы, а также расширения — хранимые процедуры на нескольких языках, обёртки сторонних источников данных и геопространственное расширение PostGIS.
Основное реляционное хранилище контура и самый востребованный технологический сервис после управления секретами. Разворачивается внутри кластера как StatefulSet на сетевом хранилище; в части контуров вместо него используется внешняя managed-СУБД, и тогда в кластере остаются только реквизиты подключения. Базы разделены по приложениям — общей схемы нет, каждый сервис владеет своими таблицами, что важно для независимости релизов. Реквизиты всегда приходят через Vault, поэтому в манифестах приложения видна лишь аннотация инжектора.</documentation>
</element>
<element identifier="ss-redis" xsi:type="SystemSoftware">
<name xml:lang="ru">Redis</name>
<documentation xml:lang="ru">Redis — сервер структур данных, хранящий данные в оперативной памяти. Помимо строк поддерживает хеши, списки, множества, упорядоченные множества и потоки — журнал с добавлением в конец. Такой набор примитивов закрывает разные задачи одним инструментом: кэширование, хранение сессий, очереди, счётчики и обработку событий. Предусмотрены механизмы сохранения данных на диск, что позволяет пережить перезапуск.
Кэш и брокер фоновых задач. В отличие от PostgreSQL, не является общей инфраструктурой контура: разворачивается точечно, в namespace тех приложений, которым он действительно нужен — как правило, там, где есть Celery-воркеры или требуется разделяемое состояние между репликами. Из-за этого экземпляров Redis в контуре несколько и они независимы; общего кэша, через который сервисы обмениваются данными, в платформе нет.</documentation>
</element>
<element identifier="ss-kafka" xsi:type="SystemSoftware">
<name xml:lang="ru">Kafka</name>
<documentation xml:lang="ru">Apache Kafka — платформа потоковой обработки событий: публикация, хранение и обработка непрерывных потоков данных в реальном времени. События пишутся в темы, темы делятся на разделы и распределяются по брокерам ради масштабирования; производители пишут, потребители читают. Ключевое отличие от обычной очереди в том, что событие не удаляется после прочтения, а хранится по настраиваемой политике — поэтому его можно перечитать заново и подключить новых потребителей к уже накопленной истории.
Шина событий для асинхронного обмена между сервисами. Используется там, где нужен журнал событий с возможностью повторного чтения и несколькими независимыми потребителями: аудит действий, уведомления, синхронизация состояний между доменами. Соседствует с RabbitMQ, и это осознанное разделение, а не дублирование: Kafka отвечает за поток событий, RabbitMQ — за адресную доставку задач. Часть приложений подключена к обеим шинам одновременно.</documentation>
</element>
<element identifier="ss-rabbit" xsi:type="SystemSoftware">
<name xml:lang="ru">RabbitMQ</name>
<documentation xml:lang="ru">RabbitMQ — брокер сообщений, реализующий протокол AMQP 0-9-1 для асинхронного обмена между приложениями. Опубликованное сообщение попадает в обменник, привязки маршрутизируют его в очереди по ключу маршрутизации, а из очередей его забирают потребители. Доставка подтверждается: при явном подтверждении потребитель сообщает об успешной обработке, и если он отвалился, не подтвердив сообщение, брокер передаст его другому потребителю или дождётся появления нового — сообщение не теряется.
Очередь задач для фоновой обработки: выгрузки, конвертация документов, рассылки, длительные операции, которые нельзя выполнять в HTTP-запросе. В отличие от Kafka, ориентирован на адресную доставку конкретному обработчику с подтверждением и повторами. В ряде контуров панель управления публикуется наружу отдельным доменом, что удобно для эксплуатации, но требует внимания к доступу — это полноценный административный интерфейс.</documentation>
</element>
<element identifier="ss-camunda" xsi:type="SystemSoftware">
<name xml:lang="ru">Camunda Platform</name>
<documentation xml:lang="ru">Camunda 8 — платформа оркестрации и автоматизации бизнес-процессов с участием людей, систем и устройств. В её основе движок Zeebe, координирующий исполнение процессов в распределённой среде; Operate и Tasklist дают операционную видимость и работу с пользовательскими задачами, Optimize — аналитику по исполнению. Работу выполняют job-воркеры: внешние компоненты, которые опрашивают кластер на предмет заданий своего типа, обрабатывают их и возвращают результат.
Движок исполнения бизнес-процессов в нотации BPMN. Через него проходят маршруты согласования документов: процесс описывает шаги и условия, а конкретные действия выполняют воркеры прикладных сервисов, подключённые к Zeebe как job-workers по типу задачи. Это единственный компонент контура, где логика согласования выражена декларативно и её можно менять без пересборки сервисов. Важная особенность для чтения конфигурации: переменные ZEEBE_* и CAMUNDA_* приходят из k8s-секрета, поэтому в манифестах приложений связь с Camunda не видна — она подтверждается только документацией сервисов.</documentation>
</element>
<element identifier="ss-cam-zeebe" xsi:type="SystemSoftware">
<name xml:lang="ru">Zeebe</name>
<documentation xml:lang="ru">Ядро движка: хранит состояние запущенных процессов и раздаёт задачи воркерам. Работает как StatefulSet, состояние на диске.</documentation>
</element>
<element identifier="ss-cam-zeebe-gateway" xsi:type="SystemSoftware">
<name xml:lang="ru">Zeebe Gateway</name>
<documentation xml:lang="ru">Точка подключения клиентов и job-workers к ядру. Именно её адрес прикладные сервисы получают в переменной ZEEBE_GATEWAY.</documentation>
</element>
<element identifier="ss-cam-operate" xsi:type="SystemSoftware">
<name xml:lang="ru">Operate</name>
<documentation xml:lang="ru">Интерфейс и REST API для наблюдения за экземплярами процессов: где застрял маршрут, какие переменные, какие инциденты. Используется не только людьми — прикладные сервисы обращаются к его API программно.</documentation>
</element>
<element identifier="ss-cam-tasklist" xsi:type="SystemSoftware">
<name xml:lang="ru">Tasklist</name>
<documentation xml:lang="ru">Интерфейс пользовательских задач BPMN — шагов процесса, требующих действия человека.</documentation>
</element>
<element identifier="ss-cam-optimize" xsi:type="SystemSoftware">
<name xml:lang="ru">Optimize</name>
<documentation xml:lang="ru">Аналитика по исполнению процессов: длительности, узкие места, статистика прохождения маршрутов.</documentation>
</element>
<element identifier="ss-cam-identity" xsi:type="SystemSoftware">
<name xml:lang="ru">Identity</name>
<documentation xml:lang="ru">Управление доступом к компонентам Camunda и выдача OAuth-токенов для машинного доступа. В поставке идёт вместе с собственным Keycloak, отдельным от основного поставщика идентичности контура.</documentation>
</element>
<element identifier="ss-cam-connectors" xsi:type="SystemSoftware">
<name xml:lang="ru">Connectors</name>
<documentation xml:lang="ru">Готовые коннекторы к внешним системам, вызываемые из процесса без написания своего воркера.</documentation>
</element>
<element identifier="nd-s3" xsi:type="Node">
<name xml:lang="ru">s3.example.com — объектное хранилище</name>
<documentation xml:lang="ru">Объектное хранилище — масштабируемый репозиторий для неструктурированных данных: файлов, медиа, журналов и резервных копий, без ограничений традиционной файловой системы. Отраслевым стандартом доступа стал API S3, поэтому такие хранилища взаимозаменяемы для приложения. В self-hosted варианте обычно применяется MinIO с S3-совместимым API и распределённым развёртыванием на основе избыточного кодирования (erasure coding): данные разрезаются на фрагменты с избыточностью и раскладываются по узлам, что позволяет пережить отказ части из них дешевле, чем при простом дублировании.
Хранилище файлов платформы: документы, чертежи, модели, вложения, результаты конвертации. Вынесено за пределы кластера — в одних контурах это MinIO на отдельных узлах, в других внешний S3-совместимый сервис заказчика. Именно здесь лежит основной объём данных: базы хранят метаданные и связи, а сами файлы всегда в объектном хранилище. Прямой доступ браузера к хранилищу не используется, отдача файлов идёт через прокси-сервис платформы.</documentation>
</element>
<element identifier="nd-nfs" xsi:type="Node">
<name xml:lang="ru">Сетевое хранилище (StorageClass)</name>
<documentation xml:lang="ru">Класс хранения, из которого выделяются тома для компонентов с состоянием — прежде всего для PostgreSQL, а также для брокеров и движка процессов. От его производительности напрямую зависит отзывчивость СУБД, поэтому это место стоит проверять первым при жалобах на медленную работу платформы.</documentation>
</element>
<element identifier="nd-gitea" xsi:type="Node">
<name xml:lang="ru">Git-сервер контура</name>
<documentation xml:lang="ru">Хранит манифесты, из которых Flux собирает состояние кластера. В закрытых контурах наполняется зеркалированием из основного репозитория разработки, что даёт контуру автономность: даже при отсутствии связи с внешним миром развёртывание работает из локальной копии. Практически это означает, что изменение, попавшее в основной репозиторий, доедет до контура не мгновенно, а после синхронизации зеркала.</documentation>
</element>
<element identifier="nd-cr" xsi:type="Node">
<name xml:lang="ru">registry.example.com</name>
<documentation xml:lang="ru">Реестр, из которого кластер получает и Helm-чарты (в формате OCI), и образы контейнеров. Единая точка поставки: версия чарта и тег образа, указанные в манифестах, разрешаются именно здесь. Доступность реестра — обязательное условие для развёртывания и перезапуска подов, поэтому в закрытых контурах он размещается внутри периметра.</documentation>
</element>
<element identifier="ar-charts" xsi:type="Artifact">
<name xml:lang="ru">Helm-чарты (OCI)</name>
</element>
<element identifier="ar-images" xsi:type="Artifact">
<name xml:lang="ru">Образы контейнеров</name>
</element>
<element identifier="nd-smtp" xsi:type="Node">
<name xml:lang="ru">smtp.example.com — почтовый релей</name>
<documentation xml:lang="ru">SMTP — протокол передачи почты. Релей заказчика принимает исходящие сообщения от приложений контура и доставляет их адресатам; приложение аутентифицируется логином и паролем сервисной учётной записи, транспорт защищается TLS — либо сразу (порт 465), либо через STARTTLS (порт 587).
Единственный канал, которым платформа по своей инициативе выходит за периметр: уведомления о назначенных задачах, замечаниях, запросах и отправленных трансмитталах. Адрес релея, порт и учётные данные задаются переменными окружения приложений. Отказ релея не останавливает работу платформы — перестают доходить только письма, и это стоит проверять первым при жалобах «уведомления не приходят».</documentation>
</element>
<element identifier="nd-keycloak" xsi:type="Node">
<name xml:lang="ru">Keycloak — брокер идентификации</name>
<documentation xml:lang="ru">Keycloak — открытый сервер управления доступом: поддерживает OIDC, OAuth 2.0 и SAML, умеет подтягивать пользователей из LDAP и Active Directory и принимать доменный вход по Kerberos (механизм SPNEGO). В схеме интеграции работает брокером: для платформы это обычный OIDC-провайдер, а в сторону предприятия — клиент корпоративного каталога.
Появляется в контуре там, где провайдер идентификации платформы не может обратиться к каталогу заказчика напрямую: нужен прозрачный доменный вход, источников пользователей несколько или каталог опубликован по SAML. Платформа поставляет чарт keycloak-contour, поэтому брокер может стоять как на стороне заказчика, так и внутри контура. Цена варианта — лишнее звено в цепочке входа: при недоступности брокера вход невозможен, даже если каталог и провайдер идентификации работают.</documentation>
</element>
<element identifier="nd-adfs" xsi:type="Node">
<name xml:lang="ru">AD FS — служба федерации</name>
<documentation xml:lang="ru">Active Directory Federation Services — служба федерации Microsoft поверх домена Active Directory. Выдаёт токены по SAML 2.0, WS-Federation и OIDC, а проверку самих учётных данных оставляет домену.
Альтернатива брокеру в тех контурах, где федеративная служба у заказчика уже развёрнута и является штатной точкой входа для корпоративных систем. Для платформы подключается как внешний провайдер идентификации: собственных учётных записей платформа при этом не заводит, а получает утверждения о пользователе от службы федерации.</documentation>
</element>
<element identifier="nd-ad" xsi:type="Node">
<name xml:lang="ru">Active Directory — каталог предприятия</name>
<documentation xml:lang="ru">Active Directory — служба каталогов Microsoft: хранит учётные записи, группы и организационную структуру предприятия и отвечает на запросы по LDAP (порт 389) и LDAPS (порт 636). Для предприятия это источник истины о сотрудниках.
Каталог заказчика — то, откуда пользователи попадают в платформу. Схем подключения четыре: напрямую к провайдеру идентификации платформы по LDAPS; через брокер Keycloak; через брокер с доменным входом по Kerberos; через службу федерации AD FS. Выбор делается при развёртывании и определяет, какие из внешних узлов этой группы вообще появятся в контуре. Общее у всех четырёх одно: учётные записи платформа не заводит, а получает, поэтому отключение сотрудника в каталоге закрывает ему и доступ в платформу.</documentation>
</element>
<element identifier="nd-kerberos" xsi:type="Node">
<name xml:lang="ru">Kerberos KDC — центр выдачи билетов</name>
<documentation xml:lang="ru">Kerberos — протокол сетевой аутентификации на билетах, встроенный в домен Active Directory. Центр выдачи билетов работает на контроллерах домена и слушает порт 88 по TCP и UDP.
Нужен только ради прозрачного входа: пользователь, уже вошедший в домен на рабочей станции, попадает в платформу без повторного ввода пароля. Билет проверяет брокер по механизму SPNEGO, поэтому сценарий с Kerberos всегда предполагает брокер в цепочке. Работает лишь для рабочих станций внутри домена — внешние подрядчики в этом же контуре входят обычным паролем.</documentation>
</element>
<element identifier="nd-frontend" xsi:type="Node">
<name xml:lang="ru">frontend-node-01</name>
<documentation xml:lang="ru">Узел, к которому привязан ingress-gateway через nodeSelector. Привязка сделана ради предсказуемого адреса для внешней балансировки и правил межсетевого экрана, но ценой того, что внешний доступ зависит от одного узла.</documentation>
</element>
<element identifier="ts-ingress" xsi:type="TechnologyService">
<name xml:lang="ru">Маршрутизация HTTPS-трафика</name>
<documentation xml:lang="ru">Публикация приложений наружу: терминация TLS, разбор внешнего домена и пути, направление запроса нужному сервису, проверка токена на границе. Сервисом пользуются только те приложения, у которых есть внешний интерфейс; остальные доступны исключительно внутри кластера.</documentation>
</element>
<element identifier="ts-tls" xsi:type="TechnologyService">
<name xml:lang="ru">Выпуск TLS-сертификатов</name>
<documentation xml:lang="ru">Автоматическое получение и продление сертификатов для доменов контура. Потребитель у сервиса один — ingress-gateway; приложения с ним не взаимодействуют, поэтому отдельного представления с потребителями у него нет.</documentation>
</element>
<element identifier="ts-oidc" xsi:type="TechnologyService">
<name xml:lang="ru">Аутентификация OIDC</name>
<documentation xml:lang="ru">Проверка личности пользователя и выдача токена, по которому сервисы принимают решение о доступе. Самый массово используемый сервис контура. Значительная часть связей подтверждается только документацией приложений: публичный ключ и параметры подключения приходят из секретов, а не из манифестов.</documentation>
</element>
<element identifier="ts-secrets" xsi:type="TechnologyService">
<name xml:lang="ru">Управление секретами</name>
<documentation xml:lang="ru">Выдача приложениям реквизитов доступа к базам, брокерам и хранилищам во время запуска пода. Практически универсальная зависимость: почти каждый сервис с состоянием стартует только после успешного получения секретов, поэтому недоступность этого сервиса останавливает не работу, а перезапуск и выкатку.</documentation>
</element>
<element identifier="ts-rdbms" xsi:type="TechnologyService">
<name xml:lang="ru">Реляционное хранилище</name>
<documentation xml:lang="ru">Хранение структурированных данных доменных областей: карточек, связей, статусов, журналов. У каждого сервиса своя база, общей схемы нет — обмен между сервисами идёт через API и шины, а не через общие таблицы.</documentation>
</element>
<element identifier="ts-cache" xsi:type="TechnologyService">
<name xml:lang="ru">Кэш</name>
<documentation xml:lang="ru">Разделяемое короткоживущее состояние и очередь фоновых задач для сервисов с Celery-воркерами. Востребован узким кругом приложений, поэтому разворачивается точечно, а не как общая инфраструктура контура.</documentation>
</element>
<element identifier="ts-events" xsi:type="TechnologyService">
<name xml:lang="ru">Событийная шина</name>
<documentation xml:lang="ru">Асинхронная публикация событий с сохранением журнала и несколькими независимыми потребителями. Используется там, где важен факт изменения и возможность его повторно прочитать: аудит, уведомления, синхронизация состояний между доменами.</documentation>
</element>
<element identifier="ts-amqp" xsi:type="TechnologyService">
<name xml:lang="ru">Очередь сообщений AMQP</name>
<documentation xml:lang="ru">Адресная доставка задач фоновым обработчикам с подтверждением и повторами. Обслуживает длительные операции — конвертацию, выгрузки, рассылки, — которые нельзя выполнять внутри HTTP-запроса.</documentation>
</element>
<element identifier="ts-bpmn" xsi:type="TechnologyService">
<name xml:lang="ru">Оркестрация процессов BPMN</name>
<documentation xml:lang="ru">Исполнение маршрутов согласования, описанных схемой BPMN: движок ведёт состояние процесса и раздаёт шаги воркерам прикладных сервисов. Позволяет менять логику согласования без пересборки сервисов. Связь с потребителем не видна в манифестах — параметры подключения приходят из секрета.</documentation>
</element>
<element identifier="ts-object" xsi:type="TechnologyService">
<name xml:lang="ru">Объектное хранилище</name>
<documentation xml:lang="ru">Хранение и выдача файлов: документов, чертежей, моделей, вложений и производных представлений. Базовый сервис для всех документоориентированных областей платформы — в реляционных базах лежат только метаданные, содержимое всегда здесь.</documentation>
</element>
<element identifier="ts-mail" xsi:type="TechnologyService">
<name xml:lang="ru">Отправка почтовых уведомлений</name>
<documentation xml:lang="ru">Отправка исходящей почты приложениями контура. Собственного почтового сервера платформа не содержит — сервис реализуется релеем заказчика. Через него уходят уведомления о назначенных задачах, замечаниях, запросах и отправленных трансмитталах.</documentation>
</element>
<element identifier="ng-processing" xsi:type="Node">
<name xml:lang="ru">Группа узлов processing (Сервера приложений)</name>
<documentation xml:lang="ru">Узлы под вычислительно тяжёлую обработку, вынесенную из общего пула приложений: конвертация и разбор файлов, построение производных представлений документов и моделей. Отделены от остальных прикладных серверов намеренно — такая нагрузка неравномерна и способна вытеснить интерактивные сервисы, если делить с ними ресурсы.</documentation>
</element>
<element identifier="ng-app" xsi:type="Node">
<name xml:lang="ru">Группа узлов generic (Сервера приложений)</name>
<documentation xml:lang="ru">Основной пул прикладных серверов: здесь работает подавляющее большинство сервисов платформы — и бэкенды доменных областей, и микрофронтенды. Нагрузка преимущественно интерактивная, запрос-ответ. Это самая массовая группа, и именно её объём определяет, сколько ресурсов требует контур.</documentation>
</element>
<element identifier="ng-storage" xsi:type="Node">
<name xml:lang="ru">Объектное хранилище</name>
<documentation xml:lang="ru">Узлы файлового хранилища. Отделены от вычислительных, потому что растут по другому закону: объём здесь определяется накопленными документами и моделями за всё время эксплуатации, а не числом одновременных пользователей. Это же делает группу главным кандидатом на резервное копирование.</documentation>
</element>
<element identifier="ng-db" xsi:type="Node">
<name xml:lang="ru">Группа узлов DB (Базы данных)</name>
<documentation xml:lang="ru">Узлы СУБД. Вынесены отдельно по двум причинам: предсказуемая производительность дисков и возможность обслуживать базы, не затрагивая прикладные сервисы. Хранят метаданные и связи всех доменных областей; при потере данных этой группы файлы в объектном хранилище останутся, но станут неадресуемыми.</documentation>
</element>
<element identifier="ng-k8s" xsi:type="Node">
<name xml:lang="ru">Группа узлов K8s (Поддерживающая инфраструктура)</name>
<documentation xml:lang="ru">Узлы платформенных сервисов, на которых не работает прикладная логика: сеть и вход в контур, идентификация, секреты, брокеры, движок процессов, кэш. Прикладные сервисы без этой группы нефункциональны — здесь сосредоточены зависимости, общие для всех доменных областей.</documentation>
</element>
<element identifier="ng-repo" xsi:type="Node">
<name xml:lang="ru">Репозиторий компонентов</name>
<documentation xml:lang="ru">Узлы поставки: реестр чартов и образов, а также Git-сервер, из которого Flux читает манифесты. Обеспечивают автономность контура — развёртывание и перезапуск не требуют выхода во внешнюю сеть. Состав группы требует подтверждения: не исключено, что под репозиторием компонентов понимается только реестр артефактов.</documentation>
</element>
<element identifier="ng-cad" xsi:type="Node">
<name xml:lang="ru">CAD ферма</name>
<documentation xml:lang="ru">Узлы обработки исходных файлов BIM-моделей в проприетарных форматах NWD и RVT. Работают асинхронно: воркер разбирает очередь заданий, забирает исходный файл из объектного хранилища, конвертирует его в пригодный для просмотра и анализа вид и складывает результат обратно. Вынесены в отдельную группу, потому что требуют специфического окружения и дают тяжёлую неравномерную нагрузку — обработка одной модели занимает несоизмеримо больше времени, чем любой интерактивный запрос. В манифестах кластера этих компонентов нет: группа обслуживается вне GitOps-контура платформы.</documentation>
</element>
<element identifier="dm-core" xsi:type="Grouping">
<name xml:lang="ru">Платформа</name>
<documentation xml:lang="ru">Общие механизмы, на которые опираются все прикладные домены: единая точка входа в интерфейс, вход и права, справочник атрибутов, рабочие пространства и проекты как контейнеры данных, журнал действий, уведомления, оркестрация процессов.
Почти все связи прикладного слоя ведут сюда, поэтому изменения в этой группе стоят дороже всего: отказ любого её компонента виден сразу во всех доменах, тогда как отказ прикладного сервиса ограничен своей областью.</documentation>
</element>
<element identifier="dm-pm" xsi:type="Grouping">
<name xml:lang="ru">Управление проектом</name>
<documentation xml:lang="ru">Планирование и учёт: календарно-сетевые планы, договоры и обязательства по ним, справочник ресурсов, рабочие заметки.
Группа потребляет данные остальных доменов чаще, чем отдаёт: план и договор ссылаются на документы, замечания и полевые измерения, обратные ссылки редки.</documentation>
</element>
<element identifier="dm-cde" xsi:type="Grouping">
<name xml:lang="ru">Документы и общая среда данных</name>
<documentation xml:lang="ru">Ядро CDE: хранение документов и их версий, связи между документами, вложения, комплекты передачи, чертежи и трёхмерные модели, подготовка САПР-моделей к просмотру, проверка штампов.
Самая нагруженная группа по числу входящих ссылок — на документ ссылается почти каждый прикладной сценарий. Хранилище документов здесь же является и самым связанным компонентом всей платформы.</documentation>
</element>
<element identifier="dm-qc" xsi:type="Grouping">
<name xml:lang="ru">Контроль качества</name>
<documentation xml:lang="ru">Работа с несоответствиями: инспекции и чек-листы, замечания, проблемы, запросы информации, ревью, предписания, сравнение редакций чертежей.
Группа однородна по устройству — почти каждый её сервис читает документ, пишет запись о несоответствии и поднимает процесс в оркестраторе, — поэтому её компоненты сильнее прочих зависят от домена документов и от платформенных процессов.</documentation>
</element>
<element identifier="dm-field" xsi:type="Grouping">
<name xml:lang="ru">Полевые данные</name>
<documentation xml:lang="ru">Данные, приходящие со стройплощадки: замеры, привязка к местности, сечения, а также обработка тяжёлых входных файлов.
Единственная группа с существенной вычислительной нагрузкой: обработка вынесена на отдельные узлы, потому что её всплески не должны мешать интерактивной работе остальных сервисов.</documentation>
</element>
</elements>
<relationships>
<relationship identifier="rel-001" source="nd-cluster" target="ss-istio-gw" xsi:type="Composition"/>
<relationship identifier="rel-002" source="nd-cluster" target="ss-istio-mesh" xsi:type="Composition"/>
<relationship identifier="rel-003" source="nd-cluster" target="ss-certmanager" xsi:type="Composition"/>
<relationship identifier="rel-004" source="nd-cluster" target="ss-zitadel" xsi:type="Composition"/>
<relationship identifier="rel-005" source="nd-cluster" target="ss-vault" xsi:type="Composition"/>
<relationship identifier="rel-006" source="nd-cluster" target="ss-postgres" xsi:type="Composition"/>
<relationship identifier="rel-007" source="nd-cluster" target="ss-redis" xsi:type="Composition"/>
<relationship identifier="rel-008" source="nd-cluster" target="ss-kafka" xsi:type="Composition"/>
<relationship identifier="rel-009" source="nd-cluster" target="ss-rabbit" xsi:type="Composition"/>
<relationship identifier="rel-010" source="nd-cluster" target="ss-camunda" xsi:type="Composition"/>
<relationship identifier="rel-011" source="ss-camunda" target="ss-cam-zeebe" xsi:type="Composition"/>
<relationship identifier="rel-012" source="ss-camunda" target="ss-cam-zeebe-gateway" xsi:type="Composition"/>
<relationship identifier="rel-013" source="ss-camunda" target="ss-cam-operate" xsi:type="Composition"/>
<relationship identifier="rel-014" source="ss-camunda" target="ss-cam-tasklist" xsi:type="Composition"/>
<relationship identifier="rel-015" source="ss-camunda" target="ss-cam-optimize" xsi:type="Composition"/>
<relationship identifier="rel-016" source="ss-camunda" target="ss-cam-identity" xsi:type="Composition"/>
<relationship identifier="rel-017" source="ss-camunda" target="ss-cam-connectors" xsi:type="Composition"/>
<relationship identifier="rel-018" source="nd-nfs" target="ss-postgres" xsi:type="Serving"/>
<relationship identifier="rel-019" source="nd-gitea" target="nd-cluster" xsi:type="Serving"/>
<relationship identifier="rel-020" source="nd-cr" target="ar-charts" xsi:type="Composition"/>
<relationship identifier="rel-021" source="nd-cr" target="ar-images" xsi:type="Composition"/>
<relationship identifier="rel-022" source="nd-cr" target="nd-cluster" xsi:type="Serving"/>
<relationship identifier="rel-023" source="nd-keycloak" target="ss-zitadel" xsi:type="Serving"/>
<relationship identifier="rel-024" source="nd-adfs" target="ss-zitadel" xsi:type="Serving"/>
<relationship identifier="rel-025" source="nd-ad" target="ss-zitadel" xsi:type="Serving"/>
<relationship identifier="rel-026" source="nd-ad" target="nd-keycloak" xsi:type="Serving"/>
<relationship identifier="rel-027" source="nd-ad" target="nd-adfs" xsi:type="Serving"/>
<relationship identifier="rel-028" source="nd-kerberos" target="nd-keycloak" xsi:type="Serving"/>
<relationship identifier="rel-029" source="nd-frontend" target="ss-istio-gw" xsi:type="Assignment"/>
<relationship identifier="rel-030" source="ss-istio-gw" target="ts-ingress" xsi:type="Realization"/>
<relationship identifier="rel-031" source="ss-istio-mesh" target="ts-ingress" xsi:type="Realization"/>
<relationship identifier="rel-032" source="ss-certmanager" target="ts-tls" xsi:type="Realization"/>
<relationship identifier="rel-033" source="ts-tls" target="ss-istio-gw" xsi:type="Serving"/>
<relationship identifier="rel-034" source="ss-zitadel" target="ts-oidc" xsi:type="Realization"/>
<relationship identifier="rel-035" source="ss-vault" target="ts-secrets" xsi:type="Realization"/>
<relationship identifier="rel-036" source="ss-postgres" target="ts-rdbms" xsi:type="Realization"/>
<relationship identifier="rel-037" source="ss-redis" target="ts-cache" xsi:type="Realization"/>
<relationship identifier="rel-038" source="ss-kafka" target="ts-events" xsi:type="Realization"/>
<relationship identifier="rel-039" source="ss-rabbit" target="ts-amqp" xsi:type="Realization"/>
<relationship identifier="rel-040" source="ss-camunda" target="ts-bpmn" xsi:type="Realization"/>
<relationship identifier="rel-041" source="nd-s3" target="ts-object" xsi:type="Realization"/>
<relationship identifier="rel-042" source="nd-smtp" target="ts-mail" xsi:type="Realization"/>
<relationship identifier="rel-043" source="ts-ingress" target="ac-auth-flow" xsi:type="Serving"/>
<relationship identifier="rel-044" source="ts-ingress" target="ac-bim" xsi:type="Serving"/>
<relationship identifier="rel-045" source="ts-ingress" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-046" source="ts-ingress" target="ac-checklists" xsi:type="Serving"/>
<relationship identifier="rel-047" source="ts-ingress" target="ac-control-interface" xsi:type="Serving"/>
<relationship identifier="rel-048" source="ts-ingress" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-049" source="ts-ingress" target="ac-document-link" xsi:type="Serving"/>
<relationship identifier="rel-050" source="ts-ingress" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-051" source="ts-ingress" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-052" source="ts-ingress" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-053" source="ts-ingress" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-054" source="ts-ingress" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-055" source="ts-ingress" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-056" source="ts-ingress" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-057" source="ts-ingress" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-058" source="ts-ingress" target="ac-remarks" xsi:type="Serving"/>
<relationship identifier="rel-059" source="ts-ingress" target="ac-reviews" xsi:type="Serving"/>
<relationship identifier="rel-060" source="ts-ingress" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-061" source="ts-ingress" target="ac-stamp-verification" xsi:type="Serving"/>
<relationship identifier="rel-062" source="ts-ingress" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-063" source="ts-ingress" target="ac-workspaces" xsi:type="Serving"/>
<relationship identifier="rel-064" source="ts-oidc" target="ac-ams-sync" xsi:type="Serving"/>
<relationship identifier="rel-065" source="ts-oidc" target="ac-auth-flow" xsi:type="Serving"/>
<relationship identifier="rel-066" source="ts-oidc" target="ac-checklists" xsi:type="Serving"/>
<relationship identifier="rel-067" source="ts-oidc" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-068" source="ts-oidc" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-069" source="ts-oidc" target="ac-control-interface" xsi:type="Serving"/>
<relationship identifier="rel-070" source="ts-oidc" target="ac-cross-section" xsi:type="Serving"/>
<relationship identifier="rel-071" source="ts-oidc" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-072" source="ts-oidc" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-073" source="ts-oidc" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-074" source="ts-oidc" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-075" source="ts-oidc" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-076" source="ts-oidc" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-077" source="ts-oidc" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-078" source="ts-oidc" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-079" source="ts-oidc" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-080" source="ts-oidc" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-081" source="ts-oidc" target="ac-prescriptions" xsi:type="Serving"/>
<relationship identifier="rel-082" source="ts-oidc" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-083" source="ts-oidc" target="ac-projects" xsi:type="Serving"/>
<relationship identifier="rel-084" source="ts-oidc" target="ac-remarks" xsi:type="Serving"/>
<relationship identifier="rel-085" source="ts-oidc" target="ac-reviews" xsi:type="Serving"/>
<relationship identifier="rel-086" source="ts-oidc" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-087" source="ts-oidc" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-088" source="ts-oidc" target="ac-workspaces" xsi:type="Serving"/>
<relationship identifier="rel-089" source="ts-secrets" target="ac-attachments" xsi:type="Serving"/>
<relationship identifier="rel-090" source="ts-secrets" target="ac-bim" xsi:type="Serving"/>
<relationship identifier="rel-091" source="ts-secrets" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-092" source="ts-secrets" target="ac-checklists" xsi:type="Serving"/>
<relationship identifier="rel-093" source="ts-secrets" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-094" source="ts-secrets" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-095" source="ts-secrets" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-096" source="ts-secrets" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-097" source="ts-secrets" target="ac-drawings" xsi:type="Serving"/>
<relationship identifier="rel-098" source="ts-secrets" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-099" source="ts-secrets" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-100" source="ts-secrets" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-101" source="ts-secrets" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-102" source="ts-secrets" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-103" source="ts-secrets" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-104" source="ts-secrets" target="ac-measurements" xsi:type="Serving"/>
<relationship identifier="rel-105" source="ts-secrets" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-106" source="ts-secrets" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-107" source="ts-secrets" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-108" source="ts-secrets" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-109" source="ts-secrets" target="ac-resources" xsi:type="Serving"/>
<relationship identifier="rel-110" source="ts-secrets" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-111" source="ts-secrets" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-112" source="ts-secrets" target="ac-system-log" xsi:type="Serving"/>
<relationship identifier="rel-113" source="ts-secrets" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-114" source="ts-secrets" target="ac-workspaces" xsi:type="Serving"/>
<relationship identifier="rel-115" source="ts-rdbms" target="ac-attachments" xsi:type="Serving"/>
<relationship identifier="rel-116" source="ts-rdbms" target="ac-bim" xsi:type="Serving"/>
<relationship identifier="rel-117" source="ts-rdbms" target="ac-checklists" xsi:type="Serving"/>
<relationship identifier="rel-118" source="ts-rdbms" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-119" source="ts-rdbms" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-120" source="ts-rdbms" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-121" source="ts-rdbms" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-122" source="ts-rdbms" target="ac-drawings" xsi:type="Serving"/>
<relationship identifier="rel-123" source="ts-rdbms" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-124" source="ts-rdbms" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-125" source="ts-rdbms" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-126" source="ts-rdbms" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-127" source="ts-rdbms" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-128" source="ts-rdbms" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-129" source="ts-rdbms" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-130" source="ts-rdbms" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-131" source="ts-rdbms" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-132" source="ts-rdbms" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-133" source="ts-rdbms" target="ac-resources" xsi:type="Serving"/>
<relationship identifier="rel-134" source="ts-rdbms" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-135" source="ts-rdbms" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-136" source="ts-rdbms" target="ac-system-log" xsi:type="Serving"/>
<relationship identifier="rel-137" source="ts-rdbms" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-138" source="ts-rdbms" target="ac-workspaces" xsi:type="Serving"/>
<relationship identifier="rel-139" source="ts-cache" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-140" source="ts-cache" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-141" source="ts-cache" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-142" source="ts-cache" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-143" source="ts-cache" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-144" source="ts-events" target="ac-ams-sync" xsi:type="Serving"/>
<relationship identifier="rel-145" source="ts-events" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-146" source="ts-events" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-147" source="ts-events" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-148" source="ts-events" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-149" source="ts-events" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-150" source="ts-events" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-151" source="ts-events" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-152" source="ts-events" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-153" source="ts-events" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-154" source="ts-events" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-155" source="ts-events" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-156" source="ts-events" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-157" source="ts-events" target="ac-system-log" xsi:type="Serving"/>
<relationship identifier="rel-158" source="ts-amqp" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-159" source="ts-amqp" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-160" source="ts-amqp" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-161" source="ts-amqp" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-162" source="ts-amqp" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-163" source="ts-amqp" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-164" source="ts-amqp" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-165" source="ts-amqp" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-166" source="ts-amqp" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-167" source="ts-amqp" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-168" source="ts-amqp" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-169" source="ts-amqp" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-170" source="ts-bpmn" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-171" source="ts-object" target="ac-attachments" xsi:type="Serving"/>
<relationship identifier="rel-172" source="ts-object" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-173" source="ts-object" target="ac-contracts" xsi:type="Serving"/>
<relationship identifier="rel-174" source="ts-object" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-175" source="ts-object" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-176" source="ts-object" target="ac-eav" xsi:type="Serving"/>
<relationship identifier="rel-177" source="ts-object" target="ac-iam" xsi:type="Serving"/>
<relationship identifier="rel-178" source="ts-object" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-179" source="ts-object" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-180" source="ts-object" target="ac-measurements" xsi:type="Serving"/>
<relationship identifier="rel-181" source="ts-object" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-182" source="ts-object" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-183" source="ts-object" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-184" source="ts-object" target="ac-resources" xsi:type="Serving"/>
<relationship identifier="rel-185" source="ts-object" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-186" source="ts-object" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-187" source="ts-mail" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-188" source="ts-mail" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-189" source="ts-mail" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-190" source="ts-mail" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-191" source="ts-mail" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-192" source="ts-mail" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-193" source="ng-processing" target="ac-processing" xsi:type="Assignment"/>
<relationship identifier="rel-194" source="ng-app" target="ac-ams-sync" xsi:type="Assignment"/>
<relationship identifier="rel-195" source="ng-app" target="ac-attachments" xsi:type="Assignment"/>
<relationship identifier="rel-196" source="ng-app" target="ac-auth-flow" xsi:type="Assignment"/>
<relationship identifier="rel-197" source="ng-app" target="ac-bim" xsi:type="Assignment"/>
<relationship identifier="rel-198" source="ng-app" target="ac-cde" xsi:type="Assignment"/>
<relationship identifier="rel-199" source="ng-app" target="ac-checklists" xsi:type="Assignment"/>
<relationship identifier="rel-200" source="ng-app" target="ac-comparisons" xsi:type="Assignment"/>
<relationship identifier="rel-201" source="ng-app" target="ac-contracts" xsi:type="Assignment"/>
<relationship identifier="rel-202" source="ng-app" target="ac-control-interface" xsi:type="Assignment"/>
<relationship identifier="rel-203" source="ng-app" target="ac-cross-section" xsi:type="Assignment"/>
<relationship identifier="rel-204" source="ng-app" target="ac-django" xsi:type="Assignment"/>
<relationship identifier="rel-205" source="ng-app" target="ac-document-link" xsi:type="Assignment"/>
<relationship identifier="rel-206" source="ng-app" target="ac-documentations" xsi:type="Assignment"/>
<relationship identifier="rel-207" source="ng-app" target="ac-drawings" xsi:type="Assignment"/>
<relationship identifier="rel-208" source="ng-app" target="ac-eav" xsi:type="Assignment"/>
<relationship identifier="rel-209" source="ng-app" target="ac-faas" xsi:type="Assignment"/>
<relationship identifier="rel-210" source="ng-app" target="ac-flows" xsi:type="Assignment"/>
<relationship identifier="rel-211" source="ng-app" target="ac-iam" xsi:type="Assignment"/>
<relationship identifier="rel-212" source="ng-app" target="ac-inspections" xsi:type="Assignment"/>
<relationship identifier="rel-213" source="ng-app" target="ac-issues" xsi:type="Assignment"/>
<relationship identifier="rel-214" source="ng-app" target="ac-mapper" xsi:type="Assignment"/>
<relationship identifier="rel-215" source="ng-app" target="ac-measurements" xsi:type="Assignment"/>
<relationship identifier="rel-216" source="ng-app" target="ac-message-hub" xsi:type="Assignment"/>
<relationship identifier="rel-217" source="ng-app" target="ac-notes" xsi:type="Assignment"/>
<relationship identifier="rel-218" source="ng-app" target="ac-pm" xsi:type="Assignment"/>
<relationship identifier="rel-219" source="ng-app" target="ac-prescriptions" xsi:type="Assignment"/>
<relationship identifier="rel-220" source="ng-app" target="ac-projects" xsi:type="Assignment"/>
<relationship identifier="rel-221" source="ng-app" target="ac-remarks" xsi:type="Assignment"/>
<relationship identifier="rel-222" source="ng-app" target="ac-resources" xsi:type="Assignment"/>
<relationship identifier="rel-223" source="ng-app" target="ac-reviews" xsi:type="Assignment"/>
<relationship identifier="rel-224" source="ng-app" target="ac-rfi" xsi:type="Assignment"/>
<relationship identifier="rel-225" source="ng-app" target="ac-stamp-verification" xsi:type="Assignment"/>
<relationship identifier="rel-226" source="ng-app" target="ac-subscriptions" xsi:type="Assignment"/>
<relationship identifier="rel-227" source="ng-app" target="ac-system-log" xsi:type="Assignment"/>
<relationship identifier="rel-228" source="ng-app" target="ac-transmittal" xsi:type="Assignment"/>
<relationship identifier="rel-229" source="ng-app" target="ac-workspaces" xsi:type="Assignment"/>
<relationship identifier="rel-230" source="ng-storage" target="nd-s3" xsi:type="Aggregation"/>
<relationship identifier="rel-231" source="ng-db" target="ss-postgres" xsi:type="Aggregation"/>
<relationship identifier="rel-232" source="ng-k8s" target="ss-istio-gw" xsi:type="Aggregation"/>
<relationship identifier="rel-233" source="ng-k8s" target="ss-istio-mesh" xsi:type="Aggregation"/>
<relationship identifier="rel-234" source="ng-k8s" target="ss-certmanager" xsi:type="Aggregation"/>
<relationship identifier="rel-235" source="ng-k8s" target="ss-zitadel" xsi:type="Aggregation"/>
<relationship identifier="rel-236" source="ng-k8s" target="ss-vault" xsi:type="Aggregation"/>
<relationship identifier="rel-237" source="ng-k8s" target="ss-redis" xsi:type="Aggregation"/>
<relationship identifier="rel-238" source="ng-k8s" target="ss-kafka" xsi:type="Aggregation"/>
<relationship identifier="rel-239" source="ng-k8s" target="ss-rabbit" xsi:type="Aggregation"/>
<relationship identifier="rel-240" source="ng-k8s" target="ss-camunda" xsi:type="Aggregation"/>
<relationship identifier="rel-241" source="ng-repo" target="nd-cr" xsi:type="Aggregation"/>
<relationship identifier="rel-242" source="ng-repo" target="nd-gitea" xsi:type="Aggregation"/>
<relationship identifier="rel-243" source="ng-cad" target="ac-bim-converter" xsi:type="Assignment"/>
<relationship identifier="rel-244" source="ts-amqp" target="ac-bim-converter" xsi:type="Serving"/>
<relationship identifier="rel-245" source="ts-object" target="ac-bim-converter" xsi:type="Serving"/>
<relationship identifier="rel-246" source="dm-core" target="ac-ams-sync" xsi:type="Aggregation"/>
<relationship identifier="rel-247" source="dm-core" target="ac-auth-flow" xsi:type="Aggregation"/>
<relationship identifier="rel-248" source="dm-core" target="ac-control-interface" xsi:type="Aggregation"/>
<relationship identifier="rel-249" source="dm-core" target="ac-django" xsi:type="Aggregation"/>
<relationship identifier="rel-250" source="dm-core" target="ac-eav" xsi:type="Aggregation"/>
<relationship identifier="rel-251" source="dm-core" target="ac-faas" xsi:type="Aggregation"/>
<relationship identifier="rel-252" source="dm-core" target="ac-flows" xsi:type="Aggregation"/>
<relationship identifier="rel-253" source="dm-core" target="ac-iam" xsi:type="Aggregation"/>
<relationship identifier="rel-254" source="dm-core" target="ac-message-hub" xsi:type="Aggregation"/>
<relationship identifier="rel-255" source="dm-core" target="ac-projects" xsi:type="Aggregation"/>
<relationship identifier="rel-256" source="dm-core" target="ac-subscriptions" xsi:type="Aggregation"/>
<relationship identifier="rel-257" source="dm-core" target="ac-system-log" xsi:type="Aggregation"/>
<relationship identifier="rel-258" source="dm-core" target="ac-workspaces" xsi:type="Aggregation"/>
<relationship identifier="rel-259" source="dm-pm" target="ac-contracts" xsi:type="Aggregation"/>
<relationship identifier="rel-260" source="dm-pm" target="ac-notes" xsi:type="Aggregation"/>
<relationship identifier="rel-261" source="dm-pm" target="ac-pm" xsi:type="Aggregation"/>
<relationship identifier="rel-262" source="dm-pm" target="ac-resources" xsi:type="Aggregation"/>
<relationship identifier="rel-263" source="dm-cde" target="ac-attachments" xsi:type="Aggregation"/>
<relationship identifier="rel-264" source="dm-cde" target="ac-bim" xsi:type="Aggregation"/>
<relationship identifier="rel-265" source="dm-cde" target="ac-bim-converter" xsi:type="Aggregation"/>
<relationship identifier="rel-266" source="dm-cde" target="ac-cde" xsi:type="Aggregation"/>
<relationship identifier="rel-267" source="dm-cde" target="ac-document-link" xsi:type="Aggregation"/>
<relationship identifier="rel-268" source="dm-cde" target="ac-documentations" xsi:type="Aggregation"/>
<relationship identifier="rel-269" source="dm-cde" target="ac-drawings" xsi:type="Aggregation"/>
<relationship identifier="rel-270" source="dm-cde" target="ac-stamp-verification" xsi:type="Aggregation"/>
<relationship identifier="rel-271" source="dm-cde" target="ac-transmittal" xsi:type="Aggregation"/>
<relationship identifier="rel-272" source="dm-qc" target="ac-checklists" xsi:type="Aggregation"/>
<relationship identifier="rel-273" source="dm-qc" target="ac-comparisons" xsi:type="Aggregation"/>
<relationship identifier="rel-274" source="dm-qc" target="ac-inspections" xsi:type="Aggregation"/>
<relationship identifier="rel-275" source="dm-qc" target="ac-issues" xsi:type="Aggregation"/>
<relationship identifier="rel-276" source="dm-qc" target="ac-prescriptions" xsi:type="Aggregation"/>
<relationship identifier="rel-277" source="dm-qc" target="ac-remarks" xsi:type="Aggregation"/>
<relationship identifier="rel-278" source="dm-qc" target="ac-reviews" xsi:type="Aggregation"/>
<relationship identifier="rel-279" source="dm-qc" target="ac-rfi" xsi:type="Aggregation"/>
<relationship identifier="rel-280" source="dm-field" target="ac-cross-section" xsi:type="Aggregation"/>
<relationship identifier="rel-281" source="dm-field" target="ac-mapper" xsi:type="Aggregation"/>
<relationship identifier="rel-282" source="dm-field" target="ac-measurements" xsi:type="Aggregation"/>
<relationship identifier="rel-283" source="dm-field" target="ac-processing" xsi:type="Aggregation"/>
<relationship identifier="rel-284" source="ac-django" target="ac-bim" xsi:type="Serving"/>
<relationship identifier="rel-285" source="ac-flows" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-286" source="ac-system-log" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-287" source="ac-workspaces" target="ac-cde" xsi:type="Serving"/>
<relationship identifier="rel-288" source="ac-bim" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-289" source="ac-django" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-290" source="ac-documentations" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-291" source="ac-eav" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-292" source="ac-processing" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-293" source="ac-workspaces" target="ac-comparisons" xsi:type="Serving"/>
<relationship identifier="rel-294" source="ac-bim" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-295" source="ac-documentations" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-296" source="ac-measurements" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-297" source="ac-pm" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-298" source="ac-processing" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-299" source="ac-workspaces" target="ac-django" xsi:type="Serving"/>
<relationship identifier="rel-300" source="ac-attachments" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-301" source="ac-bim" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-302" source="ac-django" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-303" source="ac-drawings" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-304" source="ac-eav" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-305" source="ac-flows" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-306" source="ac-iam" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-307" source="ac-inspections" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-308" source="ac-notes" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-309" source="ac-processing" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-310" source="ac-remarks" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-311" source="ac-resources" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-312" source="ac-subscriptions" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-313" source="ac-system-log" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-314" source="ac-workspaces" target="ac-documentations" xsi:type="Serving"/>
<relationship identifier="rel-315" source="ac-django" target="ac-faas" xsi:type="Serving"/>
<relationship identifier="rel-316" source="ac-documentations" target="ac-faas" xsi:type="Serving"/>
<relationship identifier="rel-317" source="ac-eav" target="ac-faas" xsi:type="Serving"/>
<relationship identifier="rel-318" source="ac-reviews" target="ac-faas" xsi:type="Serving"/>
<relationship identifier="rel-319" source="ac-transmittal" target="ac-faas" xsi:type="Serving"/>
<relationship identifier="rel-320" source="ac-checklists" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-321" source="ac-django" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-322" source="ac-documentations" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-323" source="ac-eav" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-324" source="ac-iam" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-325" source="ac-pm" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-326" source="ac-processing" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-327" source="ac-resources" target="ac-flows" xsi:type="Serving"/>
<relationship identifier="rel-328" source="ac-eav" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-329" source="ac-processing" target="ac-inspections" xsi:type="Serving"/>
<relationship identifier="rel-330" source="ac-django" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-331" source="ac-documentations" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-332" source="ac-eav" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-333" source="ac-flows" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-334" source="ac-iam" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-335" source="ac-processing" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-336" source="ac-resources" target="ac-issues" xsi:type="Serving"/>
<relationship identifier="rel-337" source="ac-django" target="ac-mapper" xsi:type="Serving"/>
<relationship identifier="rel-338" source="ac-django" target="ac-measurements" xsi:type="Serving"/>
<relationship identifier="rel-339" source="ac-django" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-340" source="ac-eav" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-341" source="ac-issues" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-342" source="ac-pm" target="ac-message-hub" xsi:type="Serving"/>
<relationship identifier="rel-343" source="ac-attachments" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-344" source="ac-django" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-345" source="ac-documentations" target="ac-notes" xsi:type="Serving"/>
<relationship identifier="rel-346" source="ac-django" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-347" source="ac-eav" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-348" source="ac-iam" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-349" source="ac-resources" target="ac-pm" xsi:type="Serving"/>
<relationship identifier="rel-350" source="ac-django" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-351" source="ac-documentations" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-352" source="ac-iam" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-353" source="ac-resources" target="ac-processing" xsi:type="Serving"/>
<relationship identifier="rel-354" source="ac-django" target="ac-resources" xsi:type="Serving"/>
<relationship identifier="rel-355" source="ac-django" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-356" source="ac-documentations" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-357" source="ac-eav" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-358" source="ac-resources" target="ac-rfi" xsi:type="Serving"/>
<relationship identifier="rel-359" source="ac-django" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-360" source="ac-system-log" target="ac-subscriptions" xsi:type="Serving"/>
<relationship identifier="rel-361" source="ac-django" target="ac-system-log" xsi:type="Serving"/>
<relationship identifier="rel-362" source="ac-documentations" target="ac-system-log" xsi:type="Serving"/>
<relationship identifier="rel-363" source="ac-django" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-364" source="ac-documentations" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-365" source="ac-flows" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-366" source="ac-iam" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-367" source="ac-resources" target="ac-transmittal" xsi:type="Serving"/>
<relationship identifier="rel-368" source="ac-django" target="ac-workspaces" xsi:type="Serving"/>
<relationship identifier="rel-369" source="ac-documentations" target="ac-workspaces" xsi:type="Serving"/>
</relationships>
<views>
<diagrams>
<view identifier="view-40" xsi:type="Diagram">
<name xml:lang="ru">L1. Как читать схемы</name>
<documentation xml:lang="ru">Легенда нотации. Показан настоящий фрагмент модели, подписанный по типам: каждый элемент и каждая линия здесь встречаются на остальных представлениях в том же начертании.</documentation>
<node identifier="do-1025" xsi:type="Label" x="20" y="20" w="1220" h="66">
<label xml:lang="ru">Стрелка serving читается не как «кто кого вызывает», а как «кто без кого не работает»: она идёт от обслуживающего к обслуживаемому. Направление выбрано так потому, что от схемы обычно нужен ответ на вопрос «что откажет, если убрать этот элемент», — и он читается по стрелкам вперёд.</label>
</node>
<node identifier="do-1026" elementRef="nd-cluster" xsi:type="Element" x="20" y="120" w="260" h="60"/>
<node identifier="do-1027" xsi:type="Label" x="20" y="190" w="260" h="96">
<label xml:lang="ru">Узел (Node) — вычислительная среда: кластер, группа серверов или отдельный хост. Ромб на линии — composition: узел состоит из этого, и отдельно от узла содержимое не существует.</label>
</node>
<node identifier="do-1028" elementRef="ss-vault" xsi:type="Element" x="340" y="120" w="260" h="60"/>
<node identifier="do-1029" xsi:type="Label" x="340" y="190" w="260" h="96">
<label xml:lang="ru">Системное ПО (System Software) — платформенный компонент внутри узла. Пунктир с полым треугольником — realization: компонент реализует технологический сервис.</label>
</node>
<node identifier="do-1030" elementRef="ts-secrets" xsi:type="Element" x="660" y="120" w="260" h="60"/>
<node identifier="do-1031" xsi:type="Label" x="660" y="190" w="260" h="96">
<label xml:lang="ru">Технологический сервис (Technology Service) — что платформа даёт приложениям, без указания, чем именно это сделано. Приложение зависит от сервиса, а не от конкретного продукта под ним.</label>
</node>
<node identifier="do-1032" elementRef="ac-attachments" xsi:type="Element" x="980" y="120" w="260" h="60"/>
<node identifier="do-1033" xsi:type="Label" x="980" y="190" w="260" h="96">
<label xml:lang="ru">Прикладной компонент (Application Component) — сервис прикладного слоя. Цветом различаются слои: голубой — прикладной, зелёный — технологический.</label>
</node>
<node identifier="do-1037" elementRef="ng-k8s" xsi:type="Element" x="340" y="320" w="260" h="60"/>
<node identifier="do-1038" xsi:type="Label" x="340" y="390" w="260" h="96">
<label xml:lang="ru">Линия с полым ромбом — aggregation: группа объединяет элемент, но тот может существовать и без неё. Так показано, на каких узлах работает системное ПО.</label>
</node>
<node identifier="do-1040" elementRef="ng-app" xsi:type="Element" x="660" y="320" w="260" h="60"/>
<node identifier="do-1041" xsi:type="Label" x="660" y="390" w="260" h="96">
<label xml:lang="ru">Линия с шариком и закрашенной стрелкой — assignment: узел выделен под компонент, и компонент на нём исполняется.</label>
</node>
<node identifier="do-1043" elementRef="dm-cde" xsi:type="Element" x="980" y="320" w="260" h="60"/>
<node identifier="do-1044" xsi:type="Label" x="980" y="390" w="260" h="96">
<label xml:lang="ru">Смысловая группа (Grouping) — домен прикладного слоя. Тоже aggregation: компонент принадлежит домену по смыслу, а не по месту размещения.</label>
</node>
<node identifier="do-1046" elementRef="ar-charts" xsi:type="Element" x="20" y="320" w="260" h="60"/>
<node identifier="do-1047" xsi:type="Label" x="20" y="390" w="260" h="96">
<label xml:lang="ru">Артефакт (Artifact) — то, что физически лежит в хранилище: файл, образ контейнера, дистрибутив.</label>
</node>
<connection identifier="cn-1034" relationshipRef="rel-005" xsi:type="Relationship" source="do-1026" target="do-1028"/>
<connection identifier="cn-1035" relationshipRef="rel-035" xsi:type="Relationship" source="do-1028" target="do-1030"/>
<connection identifier="cn-1036" relationshipRef="rel-089" xsi:type="Relationship" source="do-1030" target="do-1032"/>
<connection identifier="cn-1039" relationshipRef="rel-236" xsi:type="Relationship" source="do-1037" target="do-1028"/>
<connection identifier="cn-1042" relationshipRef="rel-195" xsi:type="Relationship" source="do-1040" target="do-1032"/>
<connection identifier="cn-1045" relationshipRef="rel-263" xsi:type="Relationship" source="do-1043" target="do-1032"/>
</view>
<view identifier="view-1" xsi:type="Diagram">
<name xml:lang="ru">T1. Технологический слой</name>
<documentation xml:lang="ru">Что развёрнуто в кластере и какие технологические сервисы это даёт. Приложения-потребители вынесены в отдельные представления T2 и далее.</documentation>
<node identifier="do-0001" elementRef="ts-ingress" xsi:type="Element" x="20" y="30" w="150" h="60"/>
<node identifier="do-0002" elementRef="ts-tls" xsi:type="Element" x="185" y="30" w="150" h="60"/>
<node identifier="do-0003" elementRef="ts-oidc" xsi:type="Element" x="350" y="30" w="150" h="60"/>
<node identifier="do-0004" elementRef="ts-secrets" xsi:type="Element" x="515" y="30" w="150" h="60"/>
<node identifier="do-0005" elementRef="ts-rdbms" xsi:type="Element" x="680" y="30" w="150" h="60"/>
<node identifier="do-0006" elementRef="ts-cache" xsi:type="Element" x="845" y="30" w="150" h="60"/>
<node identifier="do-0007" elementRef="ts-events" xsi:type="Element" x="1010" y="30" w="150" h="60"/>
<node identifier="do-0008" elementRef="ts-amqp" xsi:type="Element" x="1175" y="30" w="150" h="60"/>
<node identifier="do-0009" elementRef="ts-bpmn" xsi:type="Element" x="1340" y="30" w="150" h="60"/>
<node identifier="do-0010" elementRef="ts-object" xsi:type="Element" x="1505" y="30" w="150" h="60"/>
<node identifier="do-0011" elementRef="ts-mail" xsi:type="Element" x="1670" y="30" w="150" h="60"/>
<node identifier="do-0012" elementRef="nd-cluster" xsi:type="Element" x="20" y="140" w="1270" h="400"/>
<node identifier="do-0013" elementRef="ss-istio-gw" xsi:type="Element" x="40" y="185" w="220" h="70"/>
<node identifier="do-0014" elementRef="ss-istio-mesh" xsi:type="Element" x="280" y="185" w="220" h="70"/>
<node identifier="do-0015" elementRef="ss-certmanager" xsi:type="Element" x="520" y="185" w="220" h="70"/>
<node identifier="do-0016" elementRef="ss-zitadel" xsi:type="Element" x="760" y="185" w="220" h="70"/>
<node identifier="do-0017" elementRef="ss-vault" xsi:type="Element" x="1000" y="185" w="220" h="70"/>
<node identifier="do-0018" elementRef="ss-postgres" xsi:type="Element" x="40" y="285" w="220" h="70"/>
<node identifier="do-0019" elementRef="ss-redis" xsi:type="Element" x="280" y="285" w="220" h="70"/>
<node identifier="do-0020" elementRef="ss-kafka" xsi:type="Element" x="520" y="285" w="220" h="70"/>
<node identifier="do-0021" elementRef="ss-rabbit" xsi:type="Element" x="760" y="285" w="220" h="70"/>
<node identifier="do-0022" elementRef="ss-camunda" xsi:type="Element" x="40" y="385" w="1230" h="130"/>
<node identifier="do-0023" elementRef="ss-cam-zeebe" xsi:type="Element" x="50" y="435" w="162" h="60"/>
<node identifier="do-0024" elementRef="ss-cam-zeebe-gateway" xsi:type="Element" x="224" y="435" w="162" h="60"/>
<node identifier="do-0025" elementRef="ss-cam-operate" xsi:type="Element" x="398" y="435" w="162" h="60"/>
<node identifier="do-0026" elementRef="ss-cam-tasklist" xsi:type="Element" x="572" y="435" w="162" h="60"/>
<node identifier="do-0027" elementRef="ss-cam-optimize" xsi:type="Element" x="746" y="435" w="162" h="60"/>
<node identifier="do-0028" elementRef="ss-cam-identity" xsi:type="Element" x="920" y="435" w="162" h="60"/>
<node identifier="do-0029" elementRef="ss-cam-connectors" xsi:type="Element" x="1094" y="435" w="162" h="60"/>
<node identifier="do-0030" elementRef="nd-s3" xsi:type="Element" x="1320" y="140" w="330" h="70"/>
<node identifier="do-0031" elementRef="nd-nfs" xsi:type="Element" x="1320" y="230" w="330" h="70"/>
<node identifier="do-0032" elementRef="nd-gitea" xsi:type="Element" x="1320" y="320" w="330" h="70"/>
<node identifier="do-0033" elementRef="nd-cr" xsi:type="Element" x="1320" y="410" w="330" h="130"/>
<node identifier="do-0034" elementRef="ar-charts" xsi:type="Element" x="1335" y="460" w="145" h="60"/>
<node identifier="do-0035" elementRef="ar-images" xsi:type="Element" x="1490" y="460" w="145" h="60"/>
<node identifier="do-0036" elementRef="nd-smtp" xsi:type="Element" x="1320" y="560" w="330" h="70"/>
<node identifier="do-0037" elementRef="nd-keycloak" xsi:type="Element" x="1320" y="650" w="330" h="70"/>
<node identifier="do-0038" elementRef="nd-adfs" xsi:type="Element" x="1320" y="740" w="330" h="70"/>
<node identifier="do-0039" elementRef="nd-ad" xsi:type="Element" x="1320" y="830" w="330" h="70"/>
<node identifier="do-0040" elementRef="nd-kerberos" xsi:type="Element" x="1320" y="920" w="330" h="70"/>
<node identifier="do-0041" elementRef="nd-frontend" xsi:type="Element" x="20" y="570" w="300" h="60"/>
<connection identifier="cn-0045" relationshipRef="rel-033" xsi:type="Relationship" source="do-0002" target="do-0013"/>
<connection identifier="cn-0042" relationshipRef="rel-030" xsi:type="Relationship" source="do-0013" target="do-0001"/>
<connection identifier="cn-0043" relationshipRef="rel-031" xsi:type="Relationship" source="do-0014" target="do-0001"/>
<connection identifier="cn-0044" relationshipRef="rel-032" xsi:type="Relationship" source="do-0015" target="do-0002"/>
<connection identifier="cn-0046" relationshipRef="rel-034" xsi:type="Relationship" source="do-0016" target="do-0003"/>
<connection identifier="cn-0047" relationshipRef="rel-035" xsi:type="Relationship" source="do-0017" target="do-0004"/>
<connection identifier="cn-0048" relationshipRef="rel-036" xsi:type="Relationship" source="do-0018" target="do-0005"/>
<connection identifier="cn-0049" relationshipRef="rel-037" xsi:type="Relationship" source="do-0019" target="do-0006"/>
<connection identifier="cn-0050" relationshipRef="rel-038" xsi:type="Relationship" source="do-0020" target="do-0007"/>
<connection identifier="cn-0051" relationshipRef="rel-039" xsi:type="Relationship" source="do-0021" target="do-0008"/>
<connection identifier="cn-0052" relationshipRef="rel-040" xsi:type="Relationship" source="do-0022" target="do-0009"/>
<connection identifier="cn-0053" relationshipRef="rel-041" xsi:type="Relationship" source="do-0030" target="do-0010"/>
<connection identifier="cn-0056" relationshipRef="rel-018" xsi:type="Relationship" source="do-0031" target="do-0018"/>
<connection identifier="cn-0057" relationshipRef="rel-019" xsi:type="Relationship" source="do-0032" target="do-0012"/>
<connection identifier="cn-0058" relationshipRef="rel-022" xsi:type="Relationship" source="do-0033" target="do-0012"/>
<connection identifier="cn-0054" relationshipRef="rel-042" xsi:type="Relationship" source="do-0036" target="do-0011"/>
<connection identifier="cn-0059" relationshipRef="rel-023" xsi:type="Relationship" source="do-0037" target="do-0016"/>
<connection identifier="cn-0060" relationshipRef="rel-024" xsi:type="Relationship" source="do-0038" target="do-0016"/>
<connection identifier="cn-0061" relationshipRef="rel-025" xsi:type="Relationship" source="do-0039" target="do-0016"/>
<connection identifier="cn-0062" relationshipRef="rel-026" xsi:type="Relationship" source="do-0039" target="do-0037"/>
<connection identifier="cn-0063" relationshipRef="rel-027" xsi:type="Relationship" source="do-0039" target="do-0038"/>
<connection identifier="cn-0064" relationshipRef="rel-028" xsi:type="Relationship" source="do-0040" target="do-0037"/>
<connection identifier="cn-0055" relationshipRef="rel-029" xsi:type="Relationship" source="do-0041" target="do-0013"/>
</view>
<view identifier="view-2" xsi:type="Diagram">
<name xml:lang="ru">T2. Развёртывание по узлам</name>
<documentation xml:lang="ru">Какие группы узлов какие компоненты несут. Вложенность заменяет стрелки: хост внутри группы — composition, приложение — assignment, системное ПО — aggregation. Имена хостов заданы в профиле контура.</documentation>
<node identifier="do-0065" elementRef="ng-processing" xsi:type="Element" x="20" y="20" w="400" h="112"/>
<node identifier="do-0066" elementRef="ac-processing" xsi:type="Element" x="34" y="54" w="180" h="50"/>
<node identifier="do-0067" elementRef="ng-storage" xsi:type="Element" x="20" y="152" w="400" h="112"/>
<node identifier="do-0068" elementRef="nd-s3" xsi:type="Element" x="34" y="186" w="180" h="50"/>
<node identifier="do-0069" elementRef="ng-db" xsi:type="Element" x="20" y="284" w="400" h="112"/>
<node identifier="do-0070" elementRef="ss-postgres" xsi:type="Element" x="34" y="318" w="180" h="50"/>
<node identifier="do-0071" elementRef="ng-k8s" xsi:type="Element" x="20" y="416" w="400" h="360"/>
<node identifier="do-0072" elementRef="ss-istio-gw" xsi:type="Element" x="34" y="450" w="180" h="50"/>
<node identifier="do-0073" elementRef="ss-istio-mesh" xsi:type="Element" x="229" y="450" w="180" h="50"/>
<node identifier="do-0074" elementRef="ss-certmanager" xsi:type="Element" x="34" y="512" w="180" h="50"/>
<node identifier="do-0075" elementRef="ss-zitadel" xsi:type="Element" x="229" y="512" w="180" h="50"/>
<node identifier="do-0076" elementRef="ss-vault" xsi:type="Element" x="34" y="574" w="180" h="50"/>
<node identifier="do-0077" elementRef="ss-redis" xsi:type="Element" x="229" y="574" w="180" h="50"/>
<node identifier="do-0078" elementRef="ss-kafka" xsi:type="Element" x="34" y="636" w="180" h="50"/>
<node identifier="do-0079" elementRef="ss-rabbit" xsi:type="Element" x="229" y="636" w="180" h="50"/>
<node identifier="do-0080" elementRef="ss-camunda" xsi:type="Element" x="34" y="698" w="180" h="50"/>
<node identifier="do-0081" elementRef="ng-repo" xsi:type="Element" x="20" y="796" w="400" h="112"/>
<node identifier="do-0082" elementRef="nd-cr" xsi:type="Element" x="34" y="830" w="180" h="50"/>
<node identifier="do-0083" elementRef="nd-gitea" xsi:type="Element" x="229" y="830" w="180" h="50"/>
<node identifier="do-0084" elementRef="ng-cad" xsi:type="Element" x="20" y="928" w="400" h="112"/>
<node identifier="do-0085" elementRef="ac-bim-converter" xsi:type="Element" x="34" y="962" w="180" h="50"/>
<node identifier="do-0086" elementRef="ng-app" xsi:type="Element" x="450" y="20" w="1108" h="1020"/>
<node identifier="do-0087" elementRef="ac-ams-sync" xsi:type="Element" x="464" y="54" w="165" h="50"/>
<node identifier="do-0088" elementRef="ac-attachments" xsi:type="Element" x="644" y="54" w="165" h="50"/>
<node identifier="do-0089" elementRef="ac-auth-flow" xsi:type="Element" x="824" y="54" w="165" h="50"/>
<node identifier="do-0090" elementRef="ac-bim" xsi:type="Element" x="1004" y="54" w="165" h="50"/>
<node identifier="do-0091" elementRef="ac-cde" xsi:type="Element" x="1184" y="54" w="165" h="50"/>
<node identifier="do-0092" elementRef="ac-checklists" xsi:type="Element" x="1364" y="54" w="165" h="50"/>
<node identifier="do-0093" elementRef="ac-comparisons" xsi:type="Element" x="464" y="116" w="165" h="50"/>
<node identifier="do-0094" elementRef="ac-contracts" xsi:type="Element" x="644" y="116" w="165" h="50"/>
<node identifier="do-0095" elementRef="ac-control-interface" xsi:type="Element" x="824" y="116" w="165" h="50"/>
<node identifier="do-0096" elementRef="ac-cross-section" xsi:type="Element" x="1004" y="116" w="165" h="50"/>
<node identifier="do-0097" elementRef="ac-django" xsi:type="Element" x="1184" y="116" w="165" h="50"/>
<node identifier="do-0098" elementRef="ac-document-link" xsi:type="Element" x="1364" y="116" w="165" h="50"/>
<node identifier="do-0099" elementRef="ac-documentations" xsi:type="Element" x="464" y="178" w="165" h="50"/>
<node identifier="do-0100" elementRef="ac-drawings" xsi:type="Element" x="644" y="178" w="165" h="50"/>
<node identifier="do-0101" elementRef="ac-eav" xsi:type="Element" x="824" y="178" w="165" h="50"/>
<node identifier="do-0102" elementRef="ac-faas" xsi:type="Element" x="1004" y="178" w="165" h="50"/>
<node identifier="do-0103" elementRef="ac-flows" xsi:type="Element" x="1184" y="178" w="165" h="50"/>
<node identifier="do-0104" elementRef="ac-iam" xsi:type="Element" x="1364" y="178" w="165" h="50"/>
<node identifier="do-0105" elementRef="ac-inspections" xsi:type="Element" x="464" y="240" w="165" h="50"/>
<node identifier="do-0106" elementRef="ac-issues" xsi:type="Element" x="644" y="240" w="165" h="50"/>
<node identifier="do-0107" elementRef="ac-mapper" xsi:type="Element" x="824" y="240" w="165" h="50"/>
<node identifier="do-0108" elementRef="ac-measurements" xsi:type="Element" x="1004" y="240" w="165" h="50"/>
<node identifier="do-0109" elementRef="ac-message-hub" xsi:type="Element" x="1184" y="240" w="165" h="50"/>
<node identifier="do-0110" elementRef="ac-notes" xsi:type="Element" x="1364" y="240" w="165" h="50"/>
<node identifier="do-0111" elementRef="ac-pm" xsi:type="Element" x="464" y="302" w="165" h="50"/>
<node identifier="do-0112" elementRef="ac-prescriptions" xsi:type="Element" x="644" y="302" w="165" h="50"/>
<node identifier="do-0113" elementRef="ac-projects" xsi:type="Element" x="824" y="302" w="165" h="50"/>
<node identifier="do-0114" elementRef="ac-remarks" xsi:type="Element" x="1004" y="302" w="165" h="50"/>
<node identifier="do-0115" elementRef="ac-resources" xsi:type="Element" x="1184" y="302" w="165" h="50"/>
<node identifier="do-0116" elementRef="ac-reviews" xsi:type="Element" x="1364" y="302" w="165" h="50"/>
<node identifier="do-0117" elementRef="ac-rfi" xsi:type="Element" x="464" y="364" w="165" h="50"/>
<node identifier="do-0118" elementRef="ac-stamp-verification" xsi:type="Element" x="644" y="364" w="165" h="50"/>
<node identifier="do-0119" elementRef="ac-subscriptions" xsi:type="Element" x="824" y="364" w="165" h="50"/>
<node identifier="do-0120" elementRef="ac-system-log" xsi:type="Element" x="1004" y="364" w="165" h="50"/>
<node identifier="do-0121" elementRef="ac-transmittal" xsi:type="Element" x="1184" y="364" w="165" h="50"/>
<node identifier="do-0122" elementRef="ac-workspaces" xsi:type="Element" x="1364" y="364" w="165" h="50"/>
</view>
<view identifier="view-3" xsi:type="Diagram">
<name xml:lang="ru">T3. Внешние интеграции</name>
<documentation xml:lang="ru">Системы за периметром контура, с которыми платформа обменивается данными, и направление зависимости. Слева — технологические сервисы, которые видят приложения; справа — то, чем эти сервисы обеспечены на стороне заказчика.
Схем подключения каталога предприятия четыре, и в конкретном контуре работает одна: каталог напрямую к провайдеру идентификации платформы; каталог через брокер Keycloak; то же с доменным входом по Kerberos, который умеет проверять только брокер; либо служба федерации AD FS поверх того же каталога. Здесь показаны все четыре сразу — при развёртывании лишние узлы из профиля убираются.</documentation>
<node identifier="do-0123" elementRef="ts-oidc" xsi:type="Element" x="20" y="20" w="320" h="70"/>
<node identifier="do-0124" elementRef="ts-mail" xsi:type="Element" x="20" y="130" w="320" h="70"/>
<node identifier="do-0125" elementRef="ss-zitadel" xsi:type="Element" x="400" y="20" w="320" h="70"/>
<node identifier="do-0126" elementRef="nd-smtp" xsi:type="Element" x="400" y="130" w="320" h="70"/>
<node identifier="do-0127" elementRef="nd-keycloak" xsi:type="Element" x="780" y="20" w="320" h="70"/>
<node identifier="do-0128" elementRef="nd-adfs" xsi:type="Element" x="780" y="130" w="320" h="70"/>
<node identifier="do-0129" elementRef="nd-ad" xsi:type="Element" x="1160" y="20" w="320" h="70"/>
<node identifier="do-0130" elementRef="nd-kerberos" xsi:type="Element" x="1160" y="130" w="320" h="70"/>
<connection identifier="cn-0137" relationshipRef="rel-034" xsi:type="Relationship" source="do-0125" target="do-0123"/>
<connection identifier="cn-0138" relationshipRef="rel-042" xsi:type="Relationship" source="do-0126" target="do-0124"/>
<connection identifier="cn-0131" relationshipRef="rel-023" xsi:type="Relationship" source="do-0127" target="do-0125"/>
<connection identifier="cn-0132" relationshipRef="rel-024" xsi:type="Relationship" source="do-0128" target="do-0125"/>
<connection identifier="cn-0133" relationshipRef="rel-025" xsi:type="Relationship" source="do-0129" target="do-0125"/>
<connection identifier="cn-0134" relationshipRef="rel-026" xsi:type="Relationship" source="do-0129" target="do-0127"/>
<connection identifier="cn-0135" relationshipRef="rel-027" xsi:type="Relationship" source="do-0129" target="do-0128"/>
<connection identifier="cn-0136" relationshipRef="rel-028" xsi:type="Relationship" source="do-0130" target="do-0127"/>
</view>
<view identifier="view-30" xsi:type="Diagram">
<name xml:lang="ru">T4. Потребители: Маршрутизация HTTPS-трафика</name>
<documentation xml:lang="ru">Сервисом пользуется 21 из 37 приложений контура.</documentation>
<node identifier="do-0689" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0690" elementRef="ss-istio-gw" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0692" elementRef="ss-istio-mesh" xsi:type="Element" x="600" y="20" w="260" h="60"/>
<node identifier="do-0694" elementRef="ac-auth-flow" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0696" elementRef="ac-bim" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0698" elementRef="ac-cde" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0700" elementRef="ac-checklists" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0702" elementRef="ac-control-interface" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0704" elementRef="ac-django" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0706" elementRef="ac-document-link" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0708" elementRef="ac-documentations" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0710" elementRef="ac-eav" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0712" elementRef="ac-flows" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0714" elementRef="ac-iam" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0716" elementRef="ac-inspections" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0718" elementRef="ac-issues" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0720" elementRef="ac-pm" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0722" elementRef="ac-processing" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0724" elementRef="ac-remarks" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0726" elementRef="ac-reviews" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0728" elementRef="ac-rfi" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0730" elementRef="ac-stamp-verification" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0732" elementRef="ac-transmittal" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<node identifier="do-0734" elementRef="ac-workspaces" xsi:type="Element" x="400" y="390" w="170" h="55"/>
<connection identifier="cn-0695" relationshipRef="rel-043" xsi:type="Relationship" source="do-0689" target="do-0694"/>
<connection identifier="cn-0697" relationshipRef="rel-044" xsi:type="Relationship" source="do-0689" target="do-0696"/>
<connection identifier="cn-0699" relationshipRef="rel-045" xsi:type="Relationship" source="do-0689" target="do-0698"/>
<connection identifier="cn-0701" relationshipRef="rel-046" xsi:type="Relationship" source="do-0689" target="do-0700"/>
<connection identifier="cn-0703" relationshipRef="rel-047" xsi:type="Relationship" source="do-0689" target="do-0702"/>
<connection identifier="cn-0705" relationshipRef="rel-048" xsi:type="Relationship" source="do-0689" target="do-0704"/>
<connection identifier="cn-0707" relationshipRef="rel-049" xsi:type="Relationship" source="do-0689" target="do-0706"/>
<connection identifier="cn-0709" relationshipRef="rel-050" xsi:type="Relationship" source="do-0689" target="do-0708"/>
<connection identifier="cn-0711" relationshipRef="rel-051" xsi:type="Relationship" source="do-0689" target="do-0710"/>
<connection identifier="cn-0713" relationshipRef="rel-052" xsi:type="Relationship" source="do-0689" target="do-0712"/>
<connection identifier="cn-0715" relationshipRef="rel-053" xsi:type="Relationship" source="do-0689" target="do-0714"/>
<connection identifier="cn-0717" relationshipRef="rel-054" xsi:type="Relationship" source="do-0689" target="do-0716"/>
<connection identifier="cn-0719" relationshipRef="rel-055" xsi:type="Relationship" source="do-0689" target="do-0718"/>
<connection identifier="cn-0721" relationshipRef="rel-056" xsi:type="Relationship" source="do-0689" target="do-0720"/>
<connection identifier="cn-0723" relationshipRef="rel-057" xsi:type="Relationship" source="do-0689" target="do-0722"/>
<connection identifier="cn-0725" relationshipRef="rel-058" xsi:type="Relationship" source="do-0689" target="do-0724"/>
<connection identifier="cn-0727" relationshipRef="rel-059" xsi:type="Relationship" source="do-0689" target="do-0726"/>
<connection identifier="cn-0729" relationshipRef="rel-060" xsi:type="Relationship" source="do-0689" target="do-0728"/>
<connection identifier="cn-0731" relationshipRef="rel-061" xsi:type="Relationship" source="do-0689" target="do-0730"/>
<connection identifier="cn-0733" relationshipRef="rel-062" xsi:type="Relationship" source="do-0689" target="do-0732"/>
<connection identifier="cn-0735" relationshipRef="rel-063" xsi:type="Relationship" source="do-0689" target="do-0734"/>
<connection identifier="cn-0691" relationshipRef="rel-030" xsi:type="Relationship" source="do-0690" target="do-0689"/>
<connection identifier="cn-0693" relationshipRef="rel-031" xsi:type="Relationship" source="do-0692" target="do-0689"/>
</view>
<view identifier="view-31" xsi:type="Diagram">
<name xml:lang="ru">T5. Потребители: Аутентификация OIDC</name>
<documentation xml:lang="ru">Сервисом пользуются 25 из 37 приложений контура.</documentation>
<node identifier="do-0736" elementRef="ts-oidc" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0737" elementRef="ss-zitadel" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0739" elementRef="ac-ams-sync" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0741" elementRef="ac-auth-flow" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0743" elementRef="ac-checklists" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0745" elementRef="ac-comparisons" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0747" elementRef="ac-contracts" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0749" elementRef="ac-control-interface" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0751" elementRef="ac-cross-section" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0753" elementRef="ac-django" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0755" elementRef="ac-documentations" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0757" elementRef="ac-eav" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0759" elementRef="ac-flows" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0761" elementRef="ac-iam" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0763" elementRef="ac-inspections" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0765" elementRef="ac-issues" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0767" elementRef="ac-mapper" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0769" elementRef="ac-notes" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0771" elementRef="ac-pm" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0773" elementRef="ac-prescriptions" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0775" elementRef="ac-processing" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0777" elementRef="ac-projects" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<node identifier="do-0779" elementRef="ac-remarks" xsi:type="Element" x="400" y="390" w="170" h="55"/>
<node identifier="do-0781" elementRef="ac-reviews" xsi:type="Element" x="590" y="390" w="170" h="55"/>
<node identifier="do-0783" elementRef="ac-rfi" xsi:type="Element" x="780" y="390" w="170" h="55"/>
<node identifier="do-0785" elementRef="ac-transmittal" xsi:type="Element" x="970" y="390" w="170" h="55"/>
<node identifier="do-0787" elementRef="ac-workspaces" xsi:type="Element" x="20" y="470" w="170" h="55"/>
<connection identifier="cn-0740" relationshipRef="rel-064" xsi:type="Relationship" source="do-0736" target="do-0739"/>
<connection identifier="cn-0742" relationshipRef="rel-065" xsi:type="Relationship" source="do-0736" target="do-0741"/>
<connection identifier="cn-0744" relationshipRef="rel-066" xsi:type="Relationship" source="do-0736" target="do-0743"/>
<connection identifier="cn-0746" relationshipRef="rel-067" xsi:type="Relationship" source="do-0736" target="do-0745"/>
<connection identifier="cn-0748" relationshipRef="rel-068" xsi:type="Relationship" source="do-0736" target="do-0747"/>
<connection identifier="cn-0750" relationshipRef="rel-069" xsi:type="Relationship" source="do-0736" target="do-0749"/>
<connection identifier="cn-0752" relationshipRef="rel-070" xsi:type="Relationship" source="do-0736" target="do-0751"/>
<connection identifier="cn-0754" relationshipRef="rel-071" xsi:type="Relationship" source="do-0736" target="do-0753"/>
<connection identifier="cn-0756" relationshipRef="rel-072" xsi:type="Relationship" source="do-0736" target="do-0755"/>
<connection identifier="cn-0758" relationshipRef="rel-073" xsi:type="Relationship" source="do-0736" target="do-0757"/>
<connection identifier="cn-0760" relationshipRef="rel-074" xsi:type="Relationship" source="do-0736" target="do-0759"/>
<connection identifier="cn-0762" relationshipRef="rel-075" xsi:type="Relationship" source="do-0736" target="do-0761"/>
<connection identifier="cn-0764" relationshipRef="rel-076" xsi:type="Relationship" source="do-0736" target="do-0763"/>
<connection identifier="cn-0766" relationshipRef="rel-077" xsi:type="Relationship" source="do-0736" target="do-0765"/>
<connection identifier="cn-0768" relationshipRef="rel-078" xsi:type="Relationship" source="do-0736" target="do-0767"/>
<connection identifier="cn-0770" relationshipRef="rel-079" xsi:type="Relationship" source="do-0736" target="do-0769"/>
<connection identifier="cn-0772" relationshipRef="rel-080" xsi:type="Relationship" source="do-0736" target="do-0771"/>
<connection identifier="cn-0774" relationshipRef="rel-081" xsi:type="Relationship" source="do-0736" target="do-0773"/>
<connection identifier="cn-0776" relationshipRef="rel-082" xsi:type="Relationship" source="do-0736" target="do-0775"/>
<connection identifier="cn-0778" relationshipRef="rel-083" xsi:type="Relationship" source="do-0736" target="do-0777"/>
<connection identifier="cn-0780" relationshipRef="rel-084" xsi:type="Relationship" source="do-0736" target="do-0779"/>
<connection identifier="cn-0782" relationshipRef="rel-085" xsi:type="Relationship" source="do-0736" target="do-0781"/>
<connection identifier="cn-0784" relationshipRef="rel-086" xsi:type="Relationship" source="do-0736" target="do-0783"/>
<connection identifier="cn-0786" relationshipRef="rel-087" xsi:type="Relationship" source="do-0736" target="do-0785"/>
<connection identifier="cn-0788" relationshipRef="rel-088" xsi:type="Relationship" source="do-0736" target="do-0787"/>
<connection identifier="cn-0738" relationshipRef="rel-034" xsi:type="Relationship" source="do-0737" target="do-0736"/>
</view>
<view identifier="view-32" xsi:type="Diagram">
<name xml:lang="ru">T6. Потребители: Управление секретами</name>
<documentation xml:lang="ru">Сервисом пользуются 26 из 37 приложений контура.</documentation>
<node identifier="do-0789" elementRef="ts-secrets" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0790" elementRef="ss-vault" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0792" elementRef="ac-attachments" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0794" elementRef="ac-bim" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0796" elementRef="ac-cde" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0798" elementRef="ac-checklists" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0800" elementRef="ac-comparisons" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0802" elementRef="ac-contracts" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0804" elementRef="ac-django" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0806" elementRef="ac-documentations" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0808" elementRef="ac-drawings" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0810" elementRef="ac-eav" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0812" elementRef="ac-flows" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0814" elementRef="ac-iam" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0816" elementRef="ac-inspections" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0818" elementRef="ac-issues" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0820" elementRef="ac-mapper" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0822" elementRef="ac-measurements" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0824" elementRef="ac-message-hub" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0826" elementRef="ac-notes" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0828" elementRef="ac-pm" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0830" elementRef="ac-processing" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<node identifier="do-0832" elementRef="ac-resources" xsi:type="Element" x="400" y="390" w="170" h="55"/>
<node identifier="do-0834" elementRef="ac-rfi" xsi:type="Element" x="590" y="390" w="170" h="55"/>
<node identifier="do-0836" elementRef="ac-subscriptions" xsi:type="Element" x="780" y="390" w="170" h="55"/>
<node identifier="do-0838" elementRef="ac-system-log" xsi:type="Element" x="970" y="390" w="170" h="55"/>
<node identifier="do-0840" elementRef="ac-transmittal" xsi:type="Element" x="20" y="470" w="170" h="55"/>
<node identifier="do-0842" elementRef="ac-workspaces" xsi:type="Element" x="210" y="470" w="170" h="55"/>
<connection identifier="cn-0793" relationshipRef="rel-089" xsi:type="Relationship" source="do-0789" target="do-0792"/>
<connection identifier="cn-0795" relationshipRef="rel-090" xsi:type="Relationship" source="do-0789" target="do-0794"/>
<connection identifier="cn-0797" relationshipRef="rel-091" xsi:type="Relationship" source="do-0789" target="do-0796"/>
<connection identifier="cn-0799" relationshipRef="rel-092" xsi:type="Relationship" source="do-0789" target="do-0798"/>
<connection identifier="cn-0801" relationshipRef="rel-093" xsi:type="Relationship" source="do-0789" target="do-0800"/>
<connection identifier="cn-0803" relationshipRef="rel-094" xsi:type="Relationship" source="do-0789" target="do-0802"/>
<connection identifier="cn-0805" relationshipRef="rel-095" xsi:type="Relationship" source="do-0789" target="do-0804"/>
<connection identifier="cn-0807" relationshipRef="rel-096" xsi:type="Relationship" source="do-0789" target="do-0806"/>
<connection identifier="cn-0809" relationshipRef="rel-097" xsi:type="Relationship" source="do-0789" target="do-0808"/>
<connection identifier="cn-0811" relationshipRef="rel-098" xsi:type="Relationship" source="do-0789" target="do-0810"/>
<connection identifier="cn-0813" relationshipRef="rel-099" xsi:type="Relationship" source="do-0789" target="do-0812"/>
<connection identifier="cn-0815" relationshipRef="rel-100" xsi:type="Relationship" source="do-0789" target="do-0814"/>
<connection identifier="cn-0817" relationshipRef="rel-101" xsi:type="Relationship" source="do-0789" target="do-0816"/>
<connection identifier="cn-0819" relationshipRef="rel-102" xsi:type="Relationship" source="do-0789" target="do-0818"/>
<connection identifier="cn-0821" relationshipRef="rel-103" xsi:type="Relationship" source="do-0789" target="do-0820"/>
<connection identifier="cn-0823" relationshipRef="rel-104" xsi:type="Relationship" source="do-0789" target="do-0822"/>
<connection identifier="cn-0825" relationshipRef="rel-105" xsi:type="Relationship" source="do-0789" target="do-0824"/>
<connection identifier="cn-0827" relationshipRef="rel-106" xsi:type="Relationship" source="do-0789" target="do-0826"/>
<connection identifier="cn-0829" relationshipRef="rel-107" xsi:type="Relationship" source="do-0789" target="do-0828"/>
<connection identifier="cn-0831" relationshipRef="rel-108" xsi:type="Relationship" source="do-0789" target="do-0830"/>
<connection identifier="cn-0833" relationshipRef="rel-109" xsi:type="Relationship" source="do-0789" target="do-0832"/>
<connection identifier="cn-0835" relationshipRef="rel-110" xsi:type="Relationship" source="do-0789" target="do-0834"/>
<connection identifier="cn-0837" relationshipRef="rel-111" xsi:type="Relationship" source="do-0789" target="do-0836"/>
<connection identifier="cn-0839" relationshipRef="rel-112" xsi:type="Relationship" source="do-0789" target="do-0838"/>
<connection identifier="cn-0841" relationshipRef="rel-113" xsi:type="Relationship" source="do-0789" target="do-0840"/>
<connection identifier="cn-0843" relationshipRef="rel-114" xsi:type="Relationship" source="do-0789" target="do-0842"/>
<connection identifier="cn-0791" relationshipRef="rel-035" xsi:type="Relationship" source="do-0790" target="do-0789"/>
</view>
<view identifier="view-33" xsi:type="Diagram">
<name xml:lang="ru">T7. Потребители: Реляционное хранилище</name>
<documentation xml:lang="ru">Сервисом пользуются 24 из 37 приложений контура.</documentation>
<node identifier="do-0844" elementRef="ts-rdbms" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0845" elementRef="ss-postgres" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0847" elementRef="ac-attachments" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0849" elementRef="ac-bim" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0851" elementRef="ac-checklists" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0853" elementRef="ac-comparisons" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0855" elementRef="ac-contracts" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0857" elementRef="ac-django" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0859" elementRef="ac-documentations" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0861" elementRef="ac-drawings" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0863" elementRef="ac-eav" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0865" elementRef="ac-flows" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0867" elementRef="ac-iam" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0869" elementRef="ac-inspections" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0871" elementRef="ac-issues" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0873" elementRef="ac-mapper" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0875" elementRef="ac-message-hub" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0877" elementRef="ac-notes" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0879" elementRef="ac-pm" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0881" elementRef="ac-processing" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0883" elementRef="ac-resources" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0885" elementRef="ac-rfi" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<node identifier="do-0887" elementRef="ac-subscriptions" xsi:type="Element" x="400" y="390" w="170" h="55"/>
<node identifier="do-0889" elementRef="ac-system-log" xsi:type="Element" x="590" y="390" w="170" h="55"/>
<node identifier="do-0891" elementRef="ac-transmittal" xsi:type="Element" x="780" y="390" w="170" h="55"/>
<node identifier="do-0893" elementRef="ac-workspaces" xsi:type="Element" x="970" y="390" w="170" h="55"/>
<connection identifier="cn-0848" relationshipRef="rel-115" xsi:type="Relationship" source="do-0844" target="do-0847"/>
<connection identifier="cn-0850" relationshipRef="rel-116" xsi:type="Relationship" source="do-0844" target="do-0849"/>
<connection identifier="cn-0852" relationshipRef="rel-117" xsi:type="Relationship" source="do-0844" target="do-0851"/>
<connection identifier="cn-0854" relationshipRef="rel-118" xsi:type="Relationship" source="do-0844" target="do-0853"/>
<connection identifier="cn-0856" relationshipRef="rel-119" xsi:type="Relationship" source="do-0844" target="do-0855"/>
<connection identifier="cn-0858" relationshipRef="rel-120" xsi:type="Relationship" source="do-0844" target="do-0857"/>
<connection identifier="cn-0860" relationshipRef="rel-121" xsi:type="Relationship" source="do-0844" target="do-0859"/>
<connection identifier="cn-0862" relationshipRef="rel-122" xsi:type="Relationship" source="do-0844" target="do-0861"/>
<connection identifier="cn-0864" relationshipRef="rel-123" xsi:type="Relationship" source="do-0844" target="do-0863"/>
<connection identifier="cn-0866" relationshipRef="rel-124" xsi:type="Relationship" source="do-0844" target="do-0865"/>
<connection identifier="cn-0868" relationshipRef="rel-125" xsi:type="Relationship" source="do-0844" target="do-0867"/>
<connection identifier="cn-0870" relationshipRef="rel-126" xsi:type="Relationship" source="do-0844" target="do-0869"/>
<connection identifier="cn-0872" relationshipRef="rel-127" xsi:type="Relationship" source="do-0844" target="do-0871"/>
<connection identifier="cn-0874" relationshipRef="rel-128" xsi:type="Relationship" source="do-0844" target="do-0873"/>
<connection identifier="cn-0876" relationshipRef="rel-129" xsi:type="Relationship" source="do-0844" target="do-0875"/>
<connection identifier="cn-0878" relationshipRef="rel-130" xsi:type="Relationship" source="do-0844" target="do-0877"/>
<connection identifier="cn-0880" relationshipRef="rel-131" xsi:type="Relationship" source="do-0844" target="do-0879"/>
<connection identifier="cn-0882" relationshipRef="rel-132" xsi:type="Relationship" source="do-0844" target="do-0881"/>
<connection identifier="cn-0884" relationshipRef="rel-133" xsi:type="Relationship" source="do-0844" target="do-0883"/>
<connection identifier="cn-0886" relationshipRef="rel-134" xsi:type="Relationship" source="do-0844" target="do-0885"/>
<connection identifier="cn-0888" relationshipRef="rel-135" xsi:type="Relationship" source="do-0844" target="do-0887"/>
<connection identifier="cn-0890" relationshipRef="rel-136" xsi:type="Relationship" source="do-0844" target="do-0889"/>
<connection identifier="cn-0892" relationshipRef="rel-137" xsi:type="Relationship" source="do-0844" target="do-0891"/>
<connection identifier="cn-0894" relationshipRef="rel-138" xsi:type="Relationship" source="do-0844" target="do-0893"/>
<connection identifier="cn-0846" relationshipRef="rel-036" xsi:type="Relationship" source="do-0845" target="do-0844"/>
</view>
<view identifier="view-34" xsi:type="Diagram">
<name xml:lang="ru">T8. Потребители: Кэш</name>
<documentation xml:lang="ru">Сервисом пользуются 5 из 37 приложений контура.</documentation>
<node identifier="do-0895" elementRef="ts-cache" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0896" elementRef="ss-redis" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0898" elementRef="ac-django" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0900" elementRef="ac-issues" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0902" elementRef="ac-mapper" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0904" elementRef="ac-message-hub" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0906" elementRef="ac-pm" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<connection identifier="cn-0899" relationshipRef="rel-139" xsi:type="Relationship" source="do-0895" target="do-0898"/>
<connection identifier="cn-0901" relationshipRef="rel-140" xsi:type="Relationship" source="do-0895" target="do-0900"/>
<connection identifier="cn-0903" relationshipRef="rel-141" xsi:type="Relationship" source="do-0895" target="do-0902"/>
<connection identifier="cn-0905" relationshipRef="rel-142" xsi:type="Relationship" source="do-0895" target="do-0904"/>
<connection identifier="cn-0907" relationshipRef="rel-143" xsi:type="Relationship" source="do-0895" target="do-0906"/>
<connection identifier="cn-0897" relationshipRef="rel-037" xsi:type="Relationship" source="do-0896" target="do-0895"/>
</view>
<view identifier="view-35" xsi:type="Diagram">
<name xml:lang="ru">T9. Потребители: Событийная шина</name>
<documentation xml:lang="ru">Сервисом пользуются 14 из 37 приложений контура.</documentation>
<node identifier="do-0908" elementRef="ts-events" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0909" elementRef="ss-kafka" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0911" elementRef="ac-ams-sync" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0913" elementRef="ac-contracts" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0915" elementRef="ac-django" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0917" elementRef="ac-documentations" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0919" elementRef="ac-eav" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0921" elementRef="ac-flows" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0923" elementRef="ac-iam" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0925" elementRef="ac-inspections" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0927" elementRef="ac-issues" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0929" elementRef="ac-mapper" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0931" elementRef="ac-message-hub" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0933" elementRef="ac-notes" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0935" elementRef="ac-pm" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0937" elementRef="ac-system-log" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<connection identifier="cn-0912" relationshipRef="rel-144" xsi:type="Relationship" source="do-0908" target="do-0911"/>
<connection identifier="cn-0914" relationshipRef="rel-145" xsi:type="Relationship" source="do-0908" target="do-0913"/>
<connection identifier="cn-0916" relationshipRef="rel-146" xsi:type="Relationship" source="do-0908" target="do-0915"/>
<connection identifier="cn-0918" relationshipRef="rel-147" xsi:type="Relationship" source="do-0908" target="do-0917"/>
<connection identifier="cn-0920" relationshipRef="rel-148" xsi:type="Relationship" source="do-0908" target="do-0919"/>
<connection identifier="cn-0922" relationshipRef="rel-149" xsi:type="Relationship" source="do-0908" target="do-0921"/>
<connection identifier="cn-0924" relationshipRef="rel-150" xsi:type="Relationship" source="do-0908" target="do-0923"/>
<connection identifier="cn-0926" relationshipRef="rel-151" xsi:type="Relationship" source="do-0908" target="do-0925"/>
<connection identifier="cn-0928" relationshipRef="rel-152" xsi:type="Relationship" source="do-0908" target="do-0927"/>
<connection identifier="cn-0930" relationshipRef="rel-153" xsi:type="Relationship" source="do-0908" target="do-0929"/>
<connection identifier="cn-0932" relationshipRef="rel-154" xsi:type="Relationship" source="do-0908" target="do-0931"/>
<connection identifier="cn-0934" relationshipRef="rel-155" xsi:type="Relationship" source="do-0908" target="do-0933"/>
<connection identifier="cn-0936" relationshipRef="rel-156" xsi:type="Relationship" source="do-0908" target="do-0935"/>
<connection identifier="cn-0938" relationshipRef="rel-157" xsi:type="Relationship" source="do-0908" target="do-0937"/>
<connection identifier="cn-0910" relationshipRef="rel-038" xsi:type="Relationship" source="do-0909" target="do-0908"/>
</view>
<view identifier="view-36" xsi:type="Diagram">
<name xml:lang="ru">T10. Потребители: Очередь сообщений AMQP</name>
<documentation xml:lang="ru">Сервисом пользуются 12 из 37 приложений контура.</documentation>
<node identifier="do-0939" elementRef="ts-amqp" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0940" elementRef="ss-rabbit" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0942" elementRef="ac-cde" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0944" elementRef="ac-contracts" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0946" elementRef="ac-django" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0948" elementRef="ac-documentations" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0950" elementRef="ac-flows" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0952" elementRef="ac-issues" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0954" elementRef="ac-mapper" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0956" elementRef="ac-notes" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0958" elementRef="ac-pm" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0960" elementRef="ac-processing" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0962" elementRef="ac-rfi" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0964" elementRef="ac-transmittal" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0966" elementRef="ac-bim-converter" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<connection identifier="cn-0943" relationshipRef="rel-158" xsi:type="Relationship" source="do-0939" target="do-0942"/>
<connection identifier="cn-0945" relationshipRef="rel-159" xsi:type="Relationship" source="do-0939" target="do-0944"/>
<connection identifier="cn-0947" relationshipRef="rel-160" xsi:type="Relationship" source="do-0939" target="do-0946"/>
<connection identifier="cn-0949" relationshipRef="rel-161" xsi:type="Relationship" source="do-0939" target="do-0948"/>
<connection identifier="cn-0951" relationshipRef="rel-162" xsi:type="Relationship" source="do-0939" target="do-0950"/>
<connection identifier="cn-0953" relationshipRef="rel-163" xsi:type="Relationship" source="do-0939" target="do-0952"/>
<connection identifier="cn-0955" relationshipRef="rel-164" xsi:type="Relationship" source="do-0939" target="do-0954"/>
<connection identifier="cn-0957" relationshipRef="rel-165" xsi:type="Relationship" source="do-0939" target="do-0956"/>
<connection identifier="cn-0959" relationshipRef="rel-166" xsi:type="Relationship" source="do-0939" target="do-0958"/>
<connection identifier="cn-0961" relationshipRef="rel-167" xsi:type="Relationship" source="do-0939" target="do-0960"/>
<connection identifier="cn-0963" relationshipRef="rel-168" xsi:type="Relationship" source="do-0939" target="do-0962"/>
<connection identifier="cn-0965" relationshipRef="rel-169" xsi:type="Relationship" source="do-0939" target="do-0964"/>
<connection identifier="cn-0967" relationshipRef="rel-244" xsi:type="Relationship" source="do-0939" target="do-0966"/>
<connection identifier="cn-0941" relationshipRef="rel-039" xsi:type="Relationship" source="do-0940" target="do-0939"/>
</view>
<view identifier="view-37" xsi:type="Diagram">
<name xml:lang="ru">T11. Потребители: Оркестрация процессов BPMN</name>
<documentation xml:lang="ru">Сервисом пользуется 1 из 37 приложений контура.</documentation>
<node identifier="do-0968" elementRef="ts-bpmn" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0969" elementRef="ss-camunda" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0971" elementRef="ac-cde" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<connection identifier="cn-0972" relationshipRef="rel-170" xsi:type="Relationship" source="do-0968" target="do-0971"/>
<connection identifier="cn-0970" relationshipRef="rel-040" xsi:type="Relationship" source="do-0969" target="do-0968"/>
</view>
<view identifier="view-38" xsi:type="Diagram">
<name xml:lang="ru">T12. Потребители: Объектное хранилище</name>
<documentation xml:lang="ru">Сервисом пользуются 16 из 37 приложений контура.</documentation>
<node identifier="do-0973" elementRef="ts-object" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0974" elementRef="nd-s3" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-0976" elementRef="ac-attachments" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0978" elementRef="ac-cde" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0980" elementRef="ac-contracts" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0982" elementRef="ac-django" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0984" elementRef="ac-documentations" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0986" elementRef="ac-eav" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0988" elementRef="ac-iam" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0990" elementRef="ac-issues" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0992" elementRef="ac-mapper" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0994" elementRef="ac-measurements" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0996" elementRef="ac-message-hub" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0998" elementRef="ac-notes" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-1000" elementRef="ac-pm" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-1002" elementRef="ac-resources" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-1004" elementRef="ac-rfi" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-1006" elementRef="ac-subscriptions" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-1008" elementRef="ac-bim-converter" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<connection identifier="cn-0977" relationshipRef="rel-171" xsi:type="Relationship" source="do-0973" target="do-0976"/>
<connection identifier="cn-0979" relationshipRef="rel-172" xsi:type="Relationship" source="do-0973" target="do-0978"/>
<connection identifier="cn-0981" relationshipRef="rel-173" xsi:type="Relationship" source="do-0973" target="do-0980"/>
<connection identifier="cn-0983" relationshipRef="rel-174" xsi:type="Relationship" source="do-0973" target="do-0982"/>
<connection identifier="cn-0985" relationshipRef="rel-175" xsi:type="Relationship" source="do-0973" target="do-0984"/>
<connection identifier="cn-0987" relationshipRef="rel-176" xsi:type="Relationship" source="do-0973" target="do-0986"/>
<connection identifier="cn-0989" relationshipRef="rel-177" xsi:type="Relationship" source="do-0973" target="do-0988"/>
<connection identifier="cn-0991" relationshipRef="rel-178" xsi:type="Relationship" source="do-0973" target="do-0990"/>
<connection identifier="cn-0993" relationshipRef="rel-179" xsi:type="Relationship" source="do-0973" target="do-0992"/>
<connection identifier="cn-0995" relationshipRef="rel-180" xsi:type="Relationship" source="do-0973" target="do-0994"/>
<connection identifier="cn-0997" relationshipRef="rel-181" xsi:type="Relationship" source="do-0973" target="do-0996"/>
<connection identifier="cn-0999" relationshipRef="rel-182" xsi:type="Relationship" source="do-0973" target="do-0998"/>
<connection identifier="cn-1001" relationshipRef="rel-183" xsi:type="Relationship" source="do-0973" target="do-1000"/>
<connection identifier="cn-1003" relationshipRef="rel-184" xsi:type="Relationship" source="do-0973" target="do-1002"/>
<connection identifier="cn-1005" relationshipRef="rel-185" xsi:type="Relationship" source="do-0973" target="do-1004"/>
<connection identifier="cn-1007" relationshipRef="rel-186" xsi:type="Relationship" source="do-0973" target="do-1006"/>
<connection identifier="cn-1009" relationshipRef="rel-245" xsi:type="Relationship" source="do-0973" target="do-1008"/>
<connection identifier="cn-0975" relationshipRef="rel-041" xsi:type="Relationship" source="do-0974" target="do-0973"/>
</view>
<view identifier="view-39" xsi:type="Diagram">
<name xml:lang="ru">T13. Потребители: Отправка почтовых уведомлений</name>
<documentation xml:lang="ru">Сервисом пользуются 6 из 37 приложений контура.</documentation>
<node identifier="do-1010" elementRef="ts-mail" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-1011" elementRef="nd-smtp" xsi:type="Element" x="320" y="20" w="260" h="60"/>
<node identifier="do-1013" elementRef="ac-flows" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-1015" elementRef="ac-inspections" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-1017" elementRef="ac-issues" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-1019" elementRef="ac-rfi" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-1021" elementRef="ac-subscriptions" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-1023" elementRef="ac-transmittal" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<connection identifier="cn-1014" relationshipRef="rel-187" xsi:type="Relationship" source="do-1010" target="do-1013"/>
<connection identifier="cn-1016" relationshipRef="rel-188" xsi:type="Relationship" source="do-1010" target="do-1015"/>
<connection identifier="cn-1018" relationshipRef="rel-189" xsi:type="Relationship" source="do-1010" target="do-1017"/>
<connection identifier="cn-1020" relationshipRef="rel-190" xsi:type="Relationship" source="do-1010" target="do-1019"/>
<connection identifier="cn-1022" relationshipRef="rel-191" xsi:type="Relationship" source="do-1010" target="do-1021"/>
<connection identifier="cn-1024" relationshipRef="rel-192" xsi:type="Relationship" source="do-1010" target="do-1023"/>
<connection identifier="cn-1012" relationshipRef="rel-042" xsi:type="Relationship" source="do-1011" target="do-1010"/>
</view>
<view identifier="view-4" xsi:type="Diagram">
<name xml:lang="ru">A0. Карта прикладного слоя</name>
<documentation xml:lang="ru">Из чего состоит прикладной слой: 38 компонентов по смысловым группам. Связи здесь намеренно не показаны — на таком числе компонентов они делают схему нечитаемой; для них есть представления A1 и далее. Вложенность означает aggregation: группа объединяет компоненты, но не владеет ими.</documentation>
<node identifier="do-0139" elementRef="dm-core" xsi:type="Element" x="20" y="20" w="1288" h="166"/>
<node identifier="do-0140" elementRef="ac-ams-sync" xsi:type="Element" x="34" y="54" w="165" h="50"/>
<node identifier="do-0141" elementRef="ac-auth-flow" xsi:type="Element" x="214" y="54" w="165" h="50"/>
<node identifier="do-0142" elementRef="ac-control-interface" xsi:type="Element" x="394" y="54" w="165" h="50"/>
<node identifier="do-0143" elementRef="ac-django" xsi:type="Element" x="574" y="54" w="165" h="50"/>
<node identifier="do-0144" elementRef="ac-eav" xsi:type="Element" x="754" y="54" w="165" h="50"/>
<node identifier="do-0145" elementRef="ac-faas" xsi:type="Element" x="934" y="54" w="165" h="50"/>
<node identifier="do-0146" elementRef="ac-flows" xsi:type="Element" x="1114" y="54" w="165" h="50"/>
<node identifier="do-0147" elementRef="ac-iam" xsi:type="Element" x="34" y="116" w="165" h="50"/>
<node identifier="do-0148" elementRef="ac-message-hub" xsi:type="Element" x="214" y="116" w="165" h="50"/>
<node identifier="do-0149" elementRef="ac-projects" xsi:type="Element" x="394" y="116" w="165" h="50"/>
<node identifier="do-0150" elementRef="ac-subscriptions" xsi:type="Element" x="574" y="116" w="165" h="50"/>
<node identifier="do-0151" elementRef="ac-system-log" xsi:type="Element" x="754" y="116" w="165" h="50"/>
<node identifier="do-0152" elementRef="ac-workspaces" xsi:type="Element" x="934" y="116" w="165" h="50"/>
<node identifier="do-0153" elementRef="dm-pm" xsi:type="Element" x="20" y="206" w="1288" h="104"/>
<node identifier="do-0154" elementRef="ac-contracts" xsi:type="Element" x="34" y="240" w="165" h="50"/>
<node identifier="do-0155" elementRef="ac-notes" xsi:type="Element" x="214" y="240" w="165" h="50"/>
<node identifier="do-0156" elementRef="ac-pm" xsi:type="Element" x="394" y="240" w="165" h="50"/>
<node identifier="do-0157" elementRef="ac-resources" xsi:type="Element" x="574" y="240" w="165" h="50"/>
<node identifier="do-0158" elementRef="dm-cde" xsi:type="Element" x="20" y="330" w="1288" h="166"/>
<node identifier="do-0159" elementRef="ac-attachments" xsi:type="Element" x="34" y="364" w="165" h="50"/>
<node identifier="do-0160" elementRef="ac-bim" xsi:type="Element" x="214" y="364" w="165" h="50"/>
<node identifier="do-0161" elementRef="ac-bim-converter" xsi:type="Element" x="394" y="364" w="165" h="50"/>
<node identifier="do-0162" elementRef="ac-cde" xsi:type="Element" x="574" y="364" w="165" h="50"/>
<node identifier="do-0163" elementRef="ac-document-link" xsi:type="Element" x="754" y="364" w="165" h="50"/>
<node identifier="do-0164" elementRef="ac-documentations" xsi:type="Element" x="934" y="364" w="165" h="50"/>
<node identifier="do-0165" elementRef="ac-drawings" xsi:type="Element" x="1114" y="364" w="165" h="50"/>
<node identifier="do-0166" elementRef="ac-stamp-verification" xsi:type="Element" x="34" y="426" w="165" h="50"/>
<node identifier="do-0167" elementRef="ac-transmittal" xsi:type="Element" x="214" y="426" w="165" h="50"/>
<node identifier="do-0168" elementRef="dm-qc" xsi:type="Element" x="20" y="516" w="1288" h="166"/>
<node identifier="do-0169" elementRef="ac-checklists" xsi:type="Element" x="34" y="550" w="165" h="50"/>
<node identifier="do-0170" elementRef="ac-comparisons" xsi:type="Element" x="214" y="550" w="165" h="50"/>
<node identifier="do-0171" elementRef="ac-inspections" xsi:type="Element" x="394" y="550" w="165" h="50"/>
<node identifier="do-0172" elementRef="ac-issues" xsi:type="Element" x="574" y="550" w="165" h="50"/>
<node identifier="do-0173" elementRef="ac-prescriptions" xsi:type="Element" x="754" y="550" w="165" h="50"/>
<node identifier="do-0174" elementRef="ac-remarks" xsi:type="Element" x="934" y="550" w="165" h="50"/>
<node identifier="do-0175" elementRef="ac-reviews" xsi:type="Element" x="1114" y="550" w="165" h="50"/>
<node identifier="do-0176" elementRef="ac-rfi" xsi:type="Element" x="34" y="612" w="165" h="50"/>
<node identifier="do-0177" elementRef="dm-field" xsi:type="Element" x="20" y="702" w="1288" h="104"/>
<node identifier="do-0178" elementRef="ac-cross-section" xsi:type="Element" x="34" y="736" w="165" h="50"/>
<node identifier="do-0179" elementRef="ac-mapper" xsi:type="Element" x="214" y="736" w="165" h="50"/>
<node identifier="do-0180" elementRef="ac-measurements" xsi:type="Element" x="394" y="736" w="165" h="50"/>
<node identifier="do-0181" elementRef="ac-processing" xsi:type="Element" x="574" y="736" w="165" h="50"/>
</view>
<view identifier="view-5" xsi:type="Diagram">
<name xml:lang="ru">A1. Ядро прикладного слоя</name>
<documentation xml:lang="ru">Восемь сервисов с наибольшим числом связей и вызовы между ними. Стрелка идёт от вызываемого к вызывающему (serving): кого лишишься — тот и сломается. Всего в контуре 86 межсервисных связей.</documentation>
<node identifier="do-0182" elementRef="ac-documentations" xsi:type="Element" x="425" y="20" w="170" h="55"/>
<node identifier="do-0183" elementRef="ac-django" xsi:type="Element" x="711" y="108" w="170" h="55"/>
<node identifier="do-0184" elementRef="ac-flows" xsi:type="Element" x="830" y="320" w="170" h="55"/>
<node identifier="do-0185" elementRef="ac-processing" xsi:type="Element" x="711" y="532" w="170" h="55"/>
<node identifier="do-0186" elementRef="ac-eav" xsi:type="Element" x="425" y="620" w="170" h="55"/>
<node identifier="do-0187" elementRef="ac-issues" xsi:type="Element" x="139" y="532" w="170" h="55"/>
<node identifier="do-0188" elementRef="ac-resources" xsi:type="Element" x="20" y="320" w="170" h="55"/>
<node identifier="do-0189" elementRef="ac-pm" xsi:type="Element" x="139" y="108" w="170" h="55"/>
<connection identifier="cn-0190" relationshipRef="rel-295" xsi:type="Relationship" source="do-0182" target="do-0183"/>
<connection identifier="cn-0199" relationshipRef="rel-322" xsi:type="Relationship" source="do-0182" target="do-0184"/>
<connection identifier="cn-0205" relationshipRef="rel-331" xsi:type="Relationship" source="do-0182" target="do-0187"/>
<connection identifier="cn-0214" relationshipRef="rel-351" xsi:type="Relationship" source="do-0182" target="do-0185"/>
<connection identifier="cn-0193" relationshipRef="rel-302" xsi:type="Relationship" source="do-0183" target="do-0182"/>
<connection identifier="cn-0198" relationshipRef="rel-321" xsi:type="Relationship" source="do-0183" target="do-0184"/>
<connection identifier="cn-0204" relationshipRef="rel-330" xsi:type="Relationship" source="do-0183" target="do-0187"/>
<connection identifier="cn-0210" relationshipRef="rel-346" xsi:type="Relationship" source="do-0183" target="do-0189"/>
<connection identifier="cn-0213" relationshipRef="rel-350" xsi:type="Relationship" source="do-0183" target="do-0185"/>
<connection identifier="cn-0216" relationshipRef="rel-354" xsi:type="Relationship" source="do-0183" target="do-0188"/>
<connection identifier="cn-0195" relationshipRef="rel-305" xsi:type="Relationship" source="do-0184" target="do-0182"/>
<connection identifier="cn-0207" relationshipRef="rel-333" xsi:type="Relationship" source="do-0184" target="do-0187"/>
<connection identifier="cn-0192" relationshipRef="rel-298" xsi:type="Relationship" source="do-0185" target="do-0183"/>
<connection identifier="cn-0196" relationshipRef="rel-309" xsi:type="Relationship" source="do-0185" target="do-0182"/>
<connection identifier="cn-0202" relationshipRef="rel-326" xsi:type="Relationship" source="do-0185" target="do-0184"/>
<connection identifier="cn-0208" relationshipRef="rel-335" xsi:type="Relationship" source="do-0185" target="do-0187"/>
<connection identifier="cn-0194" relationshipRef="rel-304" xsi:type="Relationship" source="do-0186" target="do-0182"/>
<connection identifier="cn-0200" relationshipRef="rel-323" xsi:type="Relationship" source="do-0186" target="do-0184"/>
<connection identifier="cn-0206" relationshipRef="rel-332" xsi:type="Relationship" source="do-0186" target="do-0187"/>
<connection identifier="cn-0211" relationshipRef="rel-347" xsi:type="Relationship" source="do-0186" target="do-0189"/>
<connection identifier="cn-0197" relationshipRef="rel-311" xsi:type="Relationship" source="do-0188" target="do-0182"/>
<connection identifier="cn-0203" relationshipRef="rel-327" xsi:type="Relationship" source="do-0188" target="do-0184"/>
<connection identifier="cn-0209" relationshipRef="rel-336" xsi:type="Relationship" source="do-0188" target="do-0187"/>
<connection identifier="cn-0212" relationshipRef="rel-349" xsi:type="Relationship" source="do-0188" target="do-0189"/>
<connection identifier="cn-0215" relationshipRef="rel-353" xsi:type="Relationship" source="do-0188" target="do-0185"/>
<connection identifier="cn-0191" relationshipRef="rel-297" xsi:type="Relationship" source="do-0189" target="do-0183"/>
<connection identifier="cn-0201" relationshipRef="rel-325" xsi:type="Relationship" source="do-0189" target="do-0184"/>
</view>
<view identifier="view-6" xsi:type="Diagram">
<name xml:lang="ru">A2. Зависят от: django</name>
<documentation xml:lang="ru">К django обращаются 18 сервисов.</documentation>
<node identifier="do-0217" elementRef="ac-django" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0218" elementRef="ac-bim" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0220" elementRef="ac-comparisons" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0222" elementRef="ac-documentations" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0224" elementRef="ac-faas" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0226" elementRef="ac-flows" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0228" elementRef="ac-issues" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0230" elementRef="ac-mapper" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0232" elementRef="ac-measurements" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0234" elementRef="ac-message-hub" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0236" elementRef="ac-notes" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0238" elementRef="ac-pm" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0240" elementRef="ac-processing" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<node identifier="do-0242" elementRef="ac-resources" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0244" elementRef="ac-rfi" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0246" elementRef="ac-subscriptions" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0248" elementRef="ac-system-log" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0250" elementRef="ac-transmittal" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0252" elementRef="ac-workspaces" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<connection identifier="cn-0219" relationshipRef="rel-284" xsi:type="Relationship" source="do-0217" target="do-0218"/>
<connection identifier="cn-0221" relationshipRef="rel-289" xsi:type="Relationship" source="do-0217" target="do-0220"/>
<connection identifier="cn-0223" relationshipRef="rel-302" xsi:type="Relationship" source="do-0217" target="do-0222"/>
<connection identifier="cn-0225" relationshipRef="rel-315" xsi:type="Relationship" source="do-0217" target="do-0224"/>
<connection identifier="cn-0227" relationshipRef="rel-321" xsi:type="Relationship" source="do-0217" target="do-0226"/>
<connection identifier="cn-0229" relationshipRef="rel-330" xsi:type="Relationship" source="do-0217" target="do-0228"/>
<connection identifier="cn-0231" relationshipRef="rel-337" xsi:type="Relationship" source="do-0217" target="do-0230"/>
<connection identifier="cn-0233" relationshipRef="rel-338" xsi:type="Relationship" source="do-0217" target="do-0232"/>
<connection identifier="cn-0235" relationshipRef="rel-339" xsi:type="Relationship" source="do-0217" target="do-0234"/>
<connection identifier="cn-0237" relationshipRef="rel-344" xsi:type="Relationship" source="do-0217" target="do-0236"/>
<connection identifier="cn-0239" relationshipRef="rel-346" xsi:type="Relationship" source="do-0217" target="do-0238"/>
<connection identifier="cn-0241" relationshipRef="rel-350" xsi:type="Relationship" source="do-0217" target="do-0240"/>
<connection identifier="cn-0243" relationshipRef="rel-354" xsi:type="Relationship" source="do-0217" target="do-0242"/>
<connection identifier="cn-0245" relationshipRef="rel-355" xsi:type="Relationship" source="do-0217" target="do-0244"/>
<connection identifier="cn-0247" relationshipRef="rel-359" xsi:type="Relationship" source="do-0217" target="do-0246"/>
<connection identifier="cn-0249" relationshipRef="rel-361" xsi:type="Relationship" source="do-0217" target="do-0248"/>
<connection identifier="cn-0251" relationshipRef="rel-363" xsi:type="Relationship" source="do-0217" target="do-0250"/>
<connection identifier="cn-0253" relationshipRef="rel-368" xsi:type="Relationship" source="do-0217" target="do-0252"/>
</view>
<view identifier="view-7" xsi:type="Diagram">
<name xml:lang="ru">A3. Зависят от: documentations</name>
<documentation xml:lang="ru">К documentations обращаются 11 сервисов.</documentation>
<node identifier="do-0254" elementRef="ac-documentations" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0255" elementRef="ac-comparisons" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0257" elementRef="ac-django" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0259" elementRef="ac-faas" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0261" elementRef="ac-flows" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0263" elementRef="ac-issues" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0265" elementRef="ac-notes" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0267" elementRef="ac-processing" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0269" elementRef="ac-rfi" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0271" elementRef="ac-system-log" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0273" elementRef="ac-transmittal" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0275" elementRef="ac-workspaces" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<connection identifier="cn-0256" relationshipRef="rel-290" xsi:type="Relationship" source="do-0254" target="do-0255"/>
<connection identifier="cn-0258" relationshipRef="rel-295" xsi:type="Relationship" source="do-0254" target="do-0257"/>
<connection identifier="cn-0260" relationshipRef="rel-316" xsi:type="Relationship" source="do-0254" target="do-0259"/>
<connection identifier="cn-0262" relationshipRef="rel-322" xsi:type="Relationship" source="do-0254" target="do-0261"/>
<connection identifier="cn-0264" relationshipRef="rel-331" xsi:type="Relationship" source="do-0254" target="do-0263"/>
<connection identifier="cn-0266" relationshipRef="rel-345" xsi:type="Relationship" source="do-0254" target="do-0265"/>
<connection identifier="cn-0268" relationshipRef="rel-351" xsi:type="Relationship" source="do-0254" target="do-0267"/>
<connection identifier="cn-0270" relationshipRef="rel-356" xsi:type="Relationship" source="do-0254" target="do-0269"/>
<connection identifier="cn-0272" relationshipRef="rel-362" xsi:type="Relationship" source="do-0254" target="do-0271"/>
<connection identifier="cn-0274" relationshipRef="rel-364" xsi:type="Relationship" source="do-0254" target="do-0273"/>
<connection identifier="cn-0276" relationshipRef="rel-369" xsi:type="Relationship" source="do-0254" target="do-0275"/>
</view>
<view identifier="view-8" xsi:type="Diagram">
<name xml:lang="ru">A4. Зависят от: eav</name>
<documentation xml:lang="ru">К eav обращаются 9 сервисов.</documentation>
<node identifier="do-0277" elementRef="ac-eav" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0278" elementRef="ac-comparisons" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0280" elementRef="ac-documentations" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0282" elementRef="ac-faas" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0284" elementRef="ac-flows" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0286" elementRef="ac-inspections" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0288" elementRef="ac-issues" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0290" elementRef="ac-message-hub" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0292" elementRef="ac-pm" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0294" elementRef="ac-rfi" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<connection identifier="cn-0279" relationshipRef="rel-291" xsi:type="Relationship" source="do-0277" target="do-0278"/>
<connection identifier="cn-0281" relationshipRef="rel-304" xsi:type="Relationship" source="do-0277" target="do-0280"/>
<connection identifier="cn-0283" relationshipRef="rel-317" xsi:type="Relationship" source="do-0277" target="do-0282"/>
<connection identifier="cn-0285" relationshipRef="rel-323" xsi:type="Relationship" source="do-0277" target="do-0284"/>
<connection identifier="cn-0287" relationshipRef="rel-328" xsi:type="Relationship" source="do-0277" target="do-0286"/>
<connection identifier="cn-0289" relationshipRef="rel-332" xsi:type="Relationship" source="do-0277" target="do-0288"/>
<connection identifier="cn-0291" relationshipRef="rel-340" xsi:type="Relationship" source="do-0277" target="do-0290"/>
<connection identifier="cn-0293" relationshipRef="rel-347" xsi:type="Relationship" source="do-0277" target="do-0292"/>
<connection identifier="cn-0295" relationshipRef="rel-357" xsi:type="Relationship" source="do-0277" target="do-0294"/>
</view>
<view identifier="view-9" xsi:type="Diagram">
<name xml:lang="ru">A5. Зависят от: resources</name>
<documentation xml:lang="ru">К resources обращаются 7 сервисов.</documentation>
<node identifier="do-0296" elementRef="ac-resources" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0297" elementRef="ac-documentations" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0299" elementRef="ac-flows" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0301" elementRef="ac-issues" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0303" elementRef="ac-pm" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0305" elementRef="ac-processing" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0307" elementRef="ac-rfi" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<node identifier="do-0309" elementRef="ac-transmittal" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<connection identifier="cn-0298" relationshipRef="rel-311" xsi:type="Relationship" source="do-0296" target="do-0297"/>
<connection identifier="cn-0300" relationshipRef="rel-327" xsi:type="Relationship" source="do-0296" target="do-0299"/>
<connection identifier="cn-0302" relationshipRef="rel-336" xsi:type="Relationship" source="do-0296" target="do-0301"/>
<connection identifier="cn-0304" relationshipRef="rel-349" xsi:type="Relationship" source="do-0296" target="do-0303"/>
<connection identifier="cn-0306" relationshipRef="rel-353" xsi:type="Relationship" source="do-0296" target="do-0305"/>
<connection identifier="cn-0308" relationshipRef="rel-358" xsi:type="Relationship" source="do-0296" target="do-0307"/>
<connection identifier="cn-0310" relationshipRef="rel-367" xsi:type="Relationship" source="do-0296" target="do-0309"/>
</view>
<view identifier="view-10" xsi:type="Diagram">
<name xml:lang="ru">A6. Зависят от: processing</name>
<documentation xml:lang="ru">К processing обращаются 6 сервисов.</documentation>
<node identifier="do-0311" elementRef="ac-processing" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0312" elementRef="ac-comparisons" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0314" elementRef="ac-django" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0316" elementRef="ac-documentations" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0318" elementRef="ac-flows" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0320" elementRef="ac-inspections" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0322" elementRef="ac-issues" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<connection identifier="cn-0313" relationshipRef="rel-292" xsi:type="Relationship" source="do-0311" target="do-0312"/>
<connection identifier="cn-0315" relationshipRef="rel-298" xsi:type="Relationship" source="do-0311" target="do-0314"/>
<connection identifier="cn-0317" relationshipRef="rel-309" xsi:type="Relationship" source="do-0311" target="do-0316"/>
<connection identifier="cn-0319" relationshipRef="rel-326" xsi:type="Relationship" source="do-0311" target="do-0318"/>
<connection identifier="cn-0321" relationshipRef="rel-329" xsi:type="Relationship" source="do-0311" target="do-0320"/>
<connection identifier="cn-0323" relationshipRef="rel-335" xsi:type="Relationship" source="do-0311" target="do-0322"/>
</view>
<view identifier="view-11" xsi:type="Diagram">
<name xml:lang="ru">A7. Зависят от: iam</name>
<documentation xml:lang="ru">К iam обращаются 6 сервисов.</documentation>
<node identifier="do-0324" elementRef="ac-iam" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0325" elementRef="ac-documentations" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0327" elementRef="ac-flows" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0329" elementRef="ac-issues" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0331" elementRef="ac-pm" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0333" elementRef="ac-processing" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<node identifier="do-0335" elementRef="ac-transmittal" xsi:type="Element" x="970" y="150" w="170" h="55"/>
<connection identifier="cn-0326" relationshipRef="rel-306" xsi:type="Relationship" source="do-0324" target="do-0325"/>
<connection identifier="cn-0328" relationshipRef="rel-324" xsi:type="Relationship" source="do-0324" target="do-0327"/>
<connection identifier="cn-0330" relationshipRef="rel-334" xsi:type="Relationship" source="do-0324" target="do-0329"/>
<connection identifier="cn-0332" relationshipRef="rel-348" xsi:type="Relationship" source="do-0324" target="do-0331"/>
<connection identifier="cn-0334" relationshipRef="rel-352" xsi:type="Relationship" source="do-0324" target="do-0333"/>
<connection identifier="cn-0336" relationshipRef="rel-366" xsi:type="Relationship" source="do-0324" target="do-0335"/>
</view>
<view identifier="view-12" xsi:type="Diagram">
<name xml:lang="ru">A8. Зависят от: flows</name>
<documentation xml:lang="ru">К flows обращаются 4 сервиса.</documentation>
<node identifier="do-0337" elementRef="ac-flows" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0338" elementRef="ac-cde" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0340" elementRef="ac-documentations" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0342" elementRef="ac-issues" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0344" elementRef="ac-transmittal" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<connection identifier="cn-0339" relationshipRef="rel-285" xsi:type="Relationship" source="do-0337" target="do-0338"/>
<connection identifier="cn-0341" relationshipRef="rel-305" xsi:type="Relationship" source="do-0337" target="do-0340"/>
<connection identifier="cn-0343" relationshipRef="rel-333" xsi:type="Relationship" source="do-0337" target="do-0342"/>
<connection identifier="cn-0345" relationshipRef="rel-365" xsi:type="Relationship" source="do-0337" target="do-0344"/>
</view>
<view identifier="view-13" xsi:type="Diagram">
<name xml:lang="ru">A9. Зависят от: workspaces</name>
<documentation xml:lang="ru">К workspaces обращаются 4 сервиса.</documentation>
<node identifier="do-0346" elementRef="ac-workspaces" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0347" elementRef="ac-cde" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0349" elementRef="ac-comparisons" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0351" elementRef="ac-django" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0353" elementRef="ac-documentations" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<connection identifier="cn-0348" relationshipRef="rel-287" xsi:type="Relationship" source="do-0346" target="do-0347"/>
<connection identifier="cn-0350" relationshipRef="rel-293" xsi:type="Relationship" source="do-0346" target="do-0349"/>
<connection identifier="cn-0352" relationshipRef="rel-299" xsi:type="Relationship" source="do-0346" target="do-0351"/>
<connection identifier="cn-0354" relationshipRef="rel-314" xsi:type="Relationship" source="do-0346" target="do-0353"/>
</view>
<view identifier="view-14" xsi:type="Diagram">
<name xml:lang="ru">A10. Зависят от: system-log</name>
<documentation xml:lang="ru">К system-log обращаются 3 сервиса.</documentation>
<node identifier="do-0355" elementRef="ac-system-log" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0356" elementRef="ac-cde" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0358" elementRef="ac-documentations" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0360" elementRef="ac-subscriptions" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<connection identifier="cn-0357" relationshipRef="rel-286" xsi:type="Relationship" source="do-0355" target="do-0356"/>
<connection identifier="cn-0359" relationshipRef="rel-313" xsi:type="Relationship" source="do-0355" target="do-0358"/>
<connection identifier="cn-0361" relationshipRef="rel-360" xsi:type="Relationship" source="do-0355" target="do-0360"/>
</view>
<view identifier="view-15" xsi:type="Diagram">
<name xml:lang="ru">A11. Зависят от: bim</name>
<documentation xml:lang="ru">К bim обращаются 3 сервиса.</documentation>
<node identifier="do-0362" elementRef="ac-bim" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0363" elementRef="ac-comparisons" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0365" elementRef="ac-django" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0367" elementRef="ac-documentations" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<connection identifier="cn-0364" relationshipRef="rel-288" xsi:type="Relationship" source="do-0362" target="do-0363"/>
<connection identifier="cn-0366" relationshipRef="rel-294" xsi:type="Relationship" source="do-0362" target="do-0365"/>
<connection identifier="cn-0368" relationshipRef="rel-301" xsi:type="Relationship" source="do-0362" target="do-0367"/>
</view>
<view identifier="view-16" xsi:type="Diagram">
<name xml:lang="ru">A12. Зависят от: pm</name>
<documentation xml:lang="ru">К pm обращаются 3 сервиса.</documentation>
<node identifier="do-0369" elementRef="ac-pm" xsi:type="Element" x="20" y="20" w="260" h="60"/>
<node identifier="do-0370" elementRef="ac-django" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0372" elementRef="ac-flows" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0374" elementRef="ac-message-hub" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<connection identifier="cn-0371" relationshipRef="rel-297" xsi:type="Relationship" source="do-0369" target="do-0370"/>
<connection identifier="cn-0373" relationshipRef="rel-325" xsi:type="Relationship" source="do-0369" target="do-0372"/>
<connection identifier="cn-0375" relationshipRef="rel-342" xsi:type="Relationship" source="do-0369" target="do-0374"/>
</view>
<view identifier="view-17" xsi:type="Diagram">
<name xml:lang="ru">P1. Паспорт: documentations</name>
<documentation xml:lang="ru">Что нужно, чтобы documentations работал: 7 технологических сервисов и 15 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Кто зависит от самого documentations — представление A3.</documentation>
<node identifier="do-0376" elementRef="ac-documentations" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0377" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0379" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0381" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0383" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0385" elementRef="ts-events" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0387" elementRef="ts-amqp" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0389" elementRef="ts-object" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0391" elementRef="ac-attachments" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0393" elementRef="ac-bim" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0395" elementRef="ac-django" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0397" elementRef="ac-drawings" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0399" elementRef="ac-eav" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0401" elementRef="ac-flows" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0403" elementRef="ac-iam" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0405" elementRef="ac-inspections" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<node identifier="do-0407" elementRef="ac-notes" xsi:type="Element" x="400" y="390" w="170" h="55"/>
<node identifier="do-0409" elementRef="ac-processing" xsi:type="Element" x="590" y="390" w="170" h="55"/>
<node identifier="do-0411" elementRef="ac-remarks" xsi:type="Element" x="780" y="390" w="170" h="55"/>
<node identifier="do-0413" elementRef="ac-resources" xsi:type="Element" x="970" y="390" w="170" h="55"/>
<node identifier="do-0415" elementRef="ac-subscriptions" xsi:type="Element" x="20" y="470" w="170" h="55"/>
<node identifier="do-0417" elementRef="ac-system-log" xsi:type="Element" x="210" y="470" w="170" h="55"/>
<node identifier="do-0419" elementRef="ac-workspaces" xsi:type="Element" x="400" y="470" w="170" h="55"/>
<connection identifier="cn-0378" relationshipRef="rel-050" xsi:type="Relationship" source="do-0377" target="do-0376"/>
<connection identifier="cn-0380" relationshipRef="rel-072" xsi:type="Relationship" source="do-0379" target="do-0376"/>
<connection identifier="cn-0382" relationshipRef="rel-096" xsi:type="Relationship" source="do-0381" target="do-0376"/>
<connection identifier="cn-0384" relationshipRef="rel-121" xsi:type="Relationship" source="do-0383" target="do-0376"/>
<connection identifier="cn-0386" relationshipRef="rel-147" xsi:type="Relationship" source="do-0385" target="do-0376"/>
<connection identifier="cn-0388" relationshipRef="rel-161" xsi:type="Relationship" source="do-0387" target="do-0376"/>
<connection identifier="cn-0390" relationshipRef="rel-175" xsi:type="Relationship" source="do-0389" target="do-0376"/>
<connection identifier="cn-0392" relationshipRef="rel-300" xsi:type="Relationship" source="do-0391" target="do-0376"/>
<connection identifier="cn-0394" relationshipRef="rel-301" xsi:type="Relationship" source="do-0393" target="do-0376"/>
<connection identifier="cn-0396" relationshipRef="rel-302" xsi:type="Relationship" source="do-0395" target="do-0376"/>
<connection identifier="cn-0398" relationshipRef="rel-303" xsi:type="Relationship" source="do-0397" target="do-0376"/>
<connection identifier="cn-0400" relationshipRef="rel-304" xsi:type="Relationship" source="do-0399" target="do-0376"/>
<connection identifier="cn-0402" relationshipRef="rel-305" xsi:type="Relationship" source="do-0401" target="do-0376"/>
<connection identifier="cn-0404" relationshipRef="rel-306" xsi:type="Relationship" source="do-0403" target="do-0376"/>
<connection identifier="cn-0406" relationshipRef="rel-307" xsi:type="Relationship" source="do-0405" target="do-0376"/>
<connection identifier="cn-0408" relationshipRef="rel-308" xsi:type="Relationship" source="do-0407" target="do-0376"/>
<connection identifier="cn-0410" relationshipRef="rel-309" xsi:type="Relationship" source="do-0409" target="do-0376"/>
<connection identifier="cn-0412" relationshipRef="rel-310" xsi:type="Relationship" source="do-0411" target="do-0376"/>
<connection identifier="cn-0414" relationshipRef="rel-311" xsi:type="Relationship" source="do-0413" target="do-0376"/>
<connection identifier="cn-0416" relationshipRef="rel-312" xsi:type="Relationship" source="do-0415" target="do-0376"/>
<connection identifier="cn-0418" relationshipRef="rel-313" xsi:type="Relationship" source="do-0417" target="do-0376"/>
<connection identifier="cn-0420" relationshipRef="rel-314" xsi:type="Relationship" source="do-0419" target="do-0376"/>
</view>
<view identifier="view-18" xsi:type="Diagram">
<name xml:lang="ru">P2. Паспорт: flows</name>
<documentation xml:lang="ru">Что нужно, чтобы flows работал: 7 технологических сервисов и 8 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Кто зависит от самого flows — представление A8.</documentation>
<node identifier="do-0421" elementRef="ac-flows" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0422" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0424" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0426" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0428" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0430" elementRef="ts-events" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0432" elementRef="ts-amqp" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0434" elementRef="ts-mail" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0436" elementRef="ac-checklists" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0438" elementRef="ac-django" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0440" elementRef="ac-documentations" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0442" elementRef="ac-eav" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0444" elementRef="ac-iam" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0446" elementRef="ac-pm" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0448" elementRef="ac-processing" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<node identifier="do-0450" elementRef="ac-resources" xsi:type="Element" x="210" y="390" w="170" h="55"/>
<connection identifier="cn-0423" relationshipRef="rel-052" xsi:type="Relationship" source="do-0422" target="do-0421"/>
<connection identifier="cn-0425" relationshipRef="rel-074" xsi:type="Relationship" source="do-0424" target="do-0421"/>
<connection identifier="cn-0427" relationshipRef="rel-099" xsi:type="Relationship" source="do-0426" target="do-0421"/>
<connection identifier="cn-0429" relationshipRef="rel-124" xsi:type="Relationship" source="do-0428" target="do-0421"/>
<connection identifier="cn-0431" relationshipRef="rel-149" xsi:type="Relationship" source="do-0430" target="do-0421"/>
<connection identifier="cn-0433" relationshipRef="rel-162" xsi:type="Relationship" source="do-0432" target="do-0421"/>
<connection identifier="cn-0435" relationshipRef="rel-187" xsi:type="Relationship" source="do-0434" target="do-0421"/>
<connection identifier="cn-0437" relationshipRef="rel-320" xsi:type="Relationship" source="do-0436" target="do-0421"/>
<connection identifier="cn-0439" relationshipRef="rel-321" xsi:type="Relationship" source="do-0438" target="do-0421"/>
<connection identifier="cn-0441" relationshipRef="rel-322" xsi:type="Relationship" source="do-0440" target="do-0421"/>
<connection identifier="cn-0443" relationshipRef="rel-323" xsi:type="Relationship" source="do-0442" target="do-0421"/>
<connection identifier="cn-0445" relationshipRef="rel-324" xsi:type="Relationship" source="do-0444" target="do-0421"/>
<connection identifier="cn-0447" relationshipRef="rel-325" xsi:type="Relationship" source="do-0446" target="do-0421"/>
<connection identifier="cn-0449" relationshipRef="rel-326" xsi:type="Relationship" source="do-0448" target="do-0421"/>
<connection identifier="cn-0451" relationshipRef="rel-327" xsi:type="Relationship" source="do-0450" target="do-0421"/>
</view>
<view identifier="view-19" xsi:type="Diagram">
<name xml:lang="ru">P3. Паспорт: issues</name>
<documentation xml:lang="ru">Что нужно, чтобы issues работал: 9 технологических сервисов и 7 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у issues меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0452" elementRef="ac-issues" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0453" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0455" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0457" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0459" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0461" elementRef="ts-cache" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0463" elementRef="ts-events" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0465" elementRef="ts-amqp" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0467" elementRef="ts-object" xsi:type="Element" x="210" y="100" w="170" h="55"/>
<node identifier="do-0469" elementRef="ts-mail" xsi:type="Element" x="400" y="100" w="170" h="55"/>
<node identifier="do-0471" elementRef="ac-django" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0473" elementRef="ac-documentations" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0475" elementRef="ac-eav" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0477" elementRef="ac-flows" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0479" elementRef="ac-iam" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0481" elementRef="ac-processing" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<node identifier="do-0483" elementRef="ac-resources" xsi:type="Element" x="20" y="390" w="170" h="55"/>
<connection identifier="cn-0454" relationshipRef="rel-055" xsi:type="Relationship" source="do-0453" target="do-0452"/>
<connection identifier="cn-0456" relationshipRef="rel-077" xsi:type="Relationship" source="do-0455" target="do-0452"/>
<connection identifier="cn-0458" relationshipRef="rel-102" xsi:type="Relationship" source="do-0457" target="do-0452"/>
<connection identifier="cn-0460" relationshipRef="rel-127" xsi:type="Relationship" source="do-0459" target="do-0452"/>
<connection identifier="cn-0462" relationshipRef="rel-140" xsi:type="Relationship" source="do-0461" target="do-0452"/>
<connection identifier="cn-0464" relationshipRef="rel-152" xsi:type="Relationship" source="do-0463" target="do-0452"/>
<connection identifier="cn-0466" relationshipRef="rel-163" xsi:type="Relationship" source="do-0465" target="do-0452"/>
<connection identifier="cn-0468" relationshipRef="rel-178" xsi:type="Relationship" source="do-0467" target="do-0452"/>
<connection identifier="cn-0470" relationshipRef="rel-189" xsi:type="Relationship" source="do-0469" target="do-0452"/>
<connection identifier="cn-0472" relationshipRef="rel-330" xsi:type="Relationship" source="do-0471" target="do-0452"/>
<connection identifier="cn-0474" relationshipRef="rel-331" xsi:type="Relationship" source="do-0473" target="do-0452"/>
<connection identifier="cn-0476" relationshipRef="rel-332" xsi:type="Relationship" source="do-0475" target="do-0452"/>
<connection identifier="cn-0478" relationshipRef="rel-333" xsi:type="Relationship" source="do-0477" target="do-0452"/>
<connection identifier="cn-0480" relationshipRef="rel-334" xsi:type="Relationship" source="do-0479" target="do-0452"/>
<connection identifier="cn-0482" relationshipRef="rel-335" xsi:type="Relationship" source="do-0481" target="do-0452"/>
<connection identifier="cn-0484" relationshipRef="rel-336" xsi:type="Relationship" source="do-0483" target="do-0452"/>
</view>
<view identifier="view-20" xsi:type="Diagram">
<name xml:lang="ru">P4. Паспорт: comparisons</name>
<documentation xml:lang="ru">Что нужно, чтобы comparisons работал: 3 технологических сервиса и 6 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у comparisons меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0485" elementRef="ac-comparisons" xsi:type="Element" x="460" y="100" w="260" h="60"/>
<node identifier="do-0486" elementRef="ts-oidc" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0488" elementRef="ts-secrets" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0490" elementRef="ts-rdbms" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0492" elementRef="ac-bim" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0494" elementRef="ac-django" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0496" elementRef="ac-documentations" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0498" elementRef="ac-eav" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0500" elementRef="ac-processing" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<node identifier="do-0502" elementRef="ac-workspaces" xsi:type="Element" x="970" y="230" w="170" h="55"/>
<connection identifier="cn-0487" relationshipRef="rel-067" xsi:type="Relationship" source="do-0486" target="do-0485"/>
<connection identifier="cn-0489" relationshipRef="rel-093" xsi:type="Relationship" source="do-0488" target="do-0485"/>
<connection identifier="cn-0491" relationshipRef="rel-118" xsi:type="Relationship" source="do-0490" target="do-0485"/>
<connection identifier="cn-0493" relationshipRef="rel-288" xsi:type="Relationship" source="do-0492" target="do-0485"/>
<connection identifier="cn-0495" relationshipRef="rel-289" xsi:type="Relationship" source="do-0494" target="do-0485"/>
<connection identifier="cn-0497" relationshipRef="rel-290" xsi:type="Relationship" source="do-0496" target="do-0485"/>
<connection identifier="cn-0499" relationshipRef="rel-291" xsi:type="Relationship" source="do-0498" target="do-0485"/>
<connection identifier="cn-0501" relationshipRef="rel-292" xsi:type="Relationship" source="do-0500" target="do-0485"/>
<connection identifier="cn-0503" relationshipRef="rel-293" xsi:type="Relationship" source="do-0502" target="do-0485"/>
</view>
<view identifier="view-21" xsi:type="Diagram">
<name xml:lang="ru">P5. Паспорт: django</name>
<documentation xml:lang="ru">Что нужно, чтобы django работал: 8 технологических сервисов и 6 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Кто зависит от самого django — представление A2.</documentation>
<node identifier="do-0504" elementRef="ac-django" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0505" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0507" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0509" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0511" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0513" elementRef="ts-cache" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0515" elementRef="ts-events" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0517" elementRef="ts-amqp" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0519" elementRef="ts-object" xsi:type="Element" x="210" y="100" w="170" h="55"/>
<node identifier="do-0521" elementRef="ac-bim" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0523" elementRef="ac-documentations" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0525" elementRef="ac-measurements" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0527" elementRef="ac-pm" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<node identifier="do-0529" elementRef="ac-processing" xsi:type="Element" x="780" y="310" w="170" h="55"/>
<node identifier="do-0531" elementRef="ac-workspaces" xsi:type="Element" x="970" y="310" w="170" h="55"/>
<connection identifier="cn-0506" relationshipRef="rel-048" xsi:type="Relationship" source="do-0505" target="do-0504"/>
<connection identifier="cn-0508" relationshipRef="rel-071" xsi:type="Relationship" source="do-0507" target="do-0504"/>
<connection identifier="cn-0510" relationshipRef="rel-095" xsi:type="Relationship" source="do-0509" target="do-0504"/>
<connection identifier="cn-0512" relationshipRef="rel-120" xsi:type="Relationship" source="do-0511" target="do-0504"/>
<connection identifier="cn-0514" relationshipRef="rel-139" xsi:type="Relationship" source="do-0513" target="do-0504"/>
<connection identifier="cn-0516" relationshipRef="rel-146" xsi:type="Relationship" source="do-0515" target="do-0504"/>
<connection identifier="cn-0518" relationshipRef="rel-160" xsi:type="Relationship" source="do-0517" target="do-0504"/>
<connection identifier="cn-0520" relationshipRef="rel-174" xsi:type="Relationship" source="do-0519" target="do-0504"/>
<connection identifier="cn-0522" relationshipRef="rel-294" xsi:type="Relationship" source="do-0521" target="do-0504"/>
<connection identifier="cn-0524" relationshipRef="rel-295" xsi:type="Relationship" source="do-0523" target="do-0504"/>
<connection identifier="cn-0526" relationshipRef="rel-296" xsi:type="Relationship" source="do-0525" target="do-0504"/>
<connection identifier="cn-0528" relationshipRef="rel-297" xsi:type="Relationship" source="do-0527" target="do-0504"/>
<connection identifier="cn-0530" relationshipRef="rel-298" xsi:type="Relationship" source="do-0529" target="do-0504"/>
<connection identifier="cn-0532" relationshipRef="rel-299" xsi:type="Relationship" source="do-0531" target="do-0504"/>
</view>
<view identifier="view-22" xsi:type="Diagram">
<name xml:lang="ru">P6. Паспорт: faas</name>
<documentation xml:lang="ru">Что нужно, чтобы faas работал: 0 технологических сервисов и 5 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у faas меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0533" elementRef="ac-faas" xsi:type="Element" x="365" y="20" w="260" h="60"/>
<node identifier="do-0534" elementRef="ac-django" xsi:type="Element" x="20" y="150" w="170" h="55"/>
<node identifier="do-0536" elementRef="ac-documentations" xsi:type="Element" x="210" y="150" w="170" h="55"/>
<node identifier="do-0538" elementRef="ac-eav" xsi:type="Element" x="400" y="150" w="170" h="55"/>
<node identifier="do-0540" elementRef="ac-reviews" xsi:type="Element" x="590" y="150" w="170" h="55"/>
<node identifier="do-0542" elementRef="ac-transmittal" xsi:type="Element" x="780" y="150" w="170" h="55"/>
<connection identifier="cn-0535" relationshipRef="rel-315" xsi:type="Relationship" source="do-0534" target="do-0533"/>
<connection identifier="cn-0537" relationshipRef="rel-316" xsi:type="Relationship" source="do-0536" target="do-0533"/>
<connection identifier="cn-0539" relationshipRef="rel-317" xsi:type="Relationship" source="do-0538" target="do-0533"/>
<connection identifier="cn-0541" relationshipRef="rel-318" xsi:type="Relationship" source="do-0540" target="do-0533"/>
<connection identifier="cn-0543" relationshipRef="rel-319" xsi:type="Relationship" source="do-0542" target="do-0533"/>
</view>
<view identifier="view-23" xsi:type="Diagram">
<name xml:lang="ru">P7. Паспорт: transmittal</name>
<documentation xml:lang="ru">Что нужно, чтобы transmittal работал: 6 технологических сервисов и 5 прикладных сервисов. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у transmittal меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0544" elementRef="ac-transmittal" xsi:type="Element" x="460" y="100" w="260" h="60"/>
<node identifier="do-0545" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0547" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0549" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0551" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0553" elementRef="ts-amqp" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0555" elementRef="ts-mail" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0557" elementRef="ac-django" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0559" elementRef="ac-documentations" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0561" elementRef="ac-flows" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0563" elementRef="ac-iam" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<node identifier="do-0565" elementRef="ac-resources" xsi:type="Element" x="780" y="230" w="170" h="55"/>
<connection identifier="cn-0546" relationshipRef="rel-062" xsi:type="Relationship" source="do-0545" target="do-0544"/>
<connection identifier="cn-0548" relationshipRef="rel-087" xsi:type="Relationship" source="do-0547" target="do-0544"/>
<connection identifier="cn-0550" relationshipRef="rel-113" xsi:type="Relationship" source="do-0549" target="do-0544"/>
<connection identifier="cn-0552" relationshipRef="rel-137" xsi:type="Relationship" source="do-0551" target="do-0544"/>
<connection identifier="cn-0554" relationshipRef="rel-169" xsi:type="Relationship" source="do-0553" target="do-0544"/>
<connection identifier="cn-0556" relationshipRef="rel-192" xsi:type="Relationship" source="do-0555" target="do-0544"/>
<connection identifier="cn-0558" relationshipRef="rel-363" xsi:type="Relationship" source="do-0557" target="do-0544"/>
<connection identifier="cn-0560" relationshipRef="rel-364" xsi:type="Relationship" source="do-0559" target="do-0544"/>
<connection identifier="cn-0562" relationshipRef="rel-365" xsi:type="Relationship" source="do-0561" target="do-0544"/>
<connection identifier="cn-0564" relationshipRef="rel-366" xsi:type="Relationship" source="do-0563" target="do-0544"/>
<connection identifier="cn-0566" relationshipRef="rel-367" xsi:type="Relationship" source="do-0565" target="do-0544"/>
</view>
<view identifier="view-24" xsi:type="Diagram">
<name xml:lang="ru">P8. Паспорт: message-hub</name>
<documentation xml:lang="ru">Что нужно, чтобы message-hub работал: 5 технологических сервисов и 4 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у message-hub меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0567" elementRef="ac-message-hub" xsi:type="Element" x="365" y="100" w="260" h="60"/>
<node identifier="do-0568" elementRef="ts-secrets" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0570" elementRef="ts-rdbms" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0572" elementRef="ts-cache" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0574" elementRef="ts-events" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0576" elementRef="ts-object" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0578" elementRef="ac-django" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0580" elementRef="ac-eav" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0582" elementRef="ac-issues" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0584" elementRef="ac-pm" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<connection identifier="cn-0569" relationshipRef="rel-105" xsi:type="Relationship" source="do-0568" target="do-0567"/>
<connection identifier="cn-0571" relationshipRef="rel-129" xsi:type="Relationship" source="do-0570" target="do-0567"/>
<connection identifier="cn-0573" relationshipRef="rel-142" xsi:type="Relationship" source="do-0572" target="do-0567"/>
<connection identifier="cn-0575" relationshipRef="rel-154" xsi:type="Relationship" source="do-0574" target="do-0567"/>
<connection identifier="cn-0577" relationshipRef="rel-181" xsi:type="Relationship" source="do-0576" target="do-0567"/>
<connection identifier="cn-0579" relationshipRef="rel-339" xsi:type="Relationship" source="do-0578" target="do-0567"/>
<connection identifier="cn-0581" relationshipRef="rel-340" xsi:type="Relationship" source="do-0580" target="do-0567"/>
<connection identifier="cn-0583" relationshipRef="rel-341" xsi:type="Relationship" source="do-0582" target="do-0567"/>
<connection identifier="cn-0585" relationshipRef="rel-342" xsi:type="Relationship" source="do-0584" target="do-0567"/>
</view>
<view identifier="view-25" xsi:type="Diagram">
<name xml:lang="ru">P9. Паспорт: pm</name>
<documentation xml:lang="ru">Что нужно, чтобы pm работал: 8 технологических сервисов и 4 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Кто зависит от самого pm — представление A12.</documentation>
<node identifier="do-0586" elementRef="ac-pm" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0587" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0589" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0591" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0593" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0595" elementRef="ts-cache" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0597" elementRef="ts-events" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0599" elementRef="ts-amqp" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0601" elementRef="ts-object" xsi:type="Element" x="210" y="100" w="170" h="55"/>
<node identifier="do-0603" elementRef="ac-django" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0605" elementRef="ac-eav" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0607" elementRef="ac-iam" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0609" elementRef="ac-resources" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<connection identifier="cn-0588" relationshipRef="rel-056" xsi:type="Relationship" source="do-0587" target="do-0586"/>
<connection identifier="cn-0590" relationshipRef="rel-080" xsi:type="Relationship" source="do-0589" target="do-0586"/>
<connection identifier="cn-0592" relationshipRef="rel-107" xsi:type="Relationship" source="do-0591" target="do-0586"/>
<connection identifier="cn-0594" relationshipRef="rel-131" xsi:type="Relationship" source="do-0593" target="do-0586"/>
<connection identifier="cn-0596" relationshipRef="rel-143" xsi:type="Relationship" source="do-0595" target="do-0586"/>
<connection identifier="cn-0598" relationshipRef="rel-156" xsi:type="Relationship" source="do-0597" target="do-0586"/>
<connection identifier="cn-0600" relationshipRef="rel-166" xsi:type="Relationship" source="do-0599" target="do-0586"/>
<connection identifier="cn-0602" relationshipRef="rel-183" xsi:type="Relationship" source="do-0601" target="do-0586"/>
<connection identifier="cn-0604" relationshipRef="rel-346" xsi:type="Relationship" source="do-0603" target="do-0586"/>
<connection identifier="cn-0606" relationshipRef="rel-347" xsi:type="Relationship" source="do-0605" target="do-0586"/>
<connection identifier="cn-0608" relationshipRef="rel-348" xsi:type="Relationship" source="do-0607" target="do-0586"/>
<connection identifier="cn-0610" relationshipRef="rel-349" xsi:type="Relationship" source="do-0609" target="do-0586"/>
</view>
<view identifier="view-26" xsi:type="Diagram">
<name xml:lang="ru">P10. Паспорт: processing</name>
<documentation xml:lang="ru">Что нужно, чтобы processing работал: 5 технологических сервисов и 4 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Кто зависит от самого processing — представление A6.</documentation>
<node identifier="do-0611" elementRef="ac-processing" xsi:type="Element" x="365" y="100" w="260" h="60"/>
<node identifier="do-0612" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0614" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0616" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0618" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0620" elementRef="ts-amqp" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0622" elementRef="ac-django" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0624" elementRef="ac-documentations" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0626" elementRef="ac-iam" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<node identifier="do-0628" elementRef="ac-resources" xsi:type="Element" x="590" y="230" w="170" h="55"/>
<connection identifier="cn-0613" relationshipRef="rel-057" xsi:type="Relationship" source="do-0612" target="do-0611"/>
<connection identifier="cn-0615" relationshipRef="rel-082" xsi:type="Relationship" source="do-0614" target="do-0611"/>
<connection identifier="cn-0617" relationshipRef="rel-108" xsi:type="Relationship" source="do-0616" target="do-0611"/>
<connection identifier="cn-0619" relationshipRef="rel-132" xsi:type="Relationship" source="do-0618" target="do-0611"/>
<connection identifier="cn-0621" relationshipRef="rel-167" xsi:type="Relationship" source="do-0620" target="do-0611"/>
<connection identifier="cn-0623" relationshipRef="rel-350" xsi:type="Relationship" source="do-0622" target="do-0611"/>
<connection identifier="cn-0625" relationshipRef="rel-351" xsi:type="Relationship" source="do-0624" target="do-0611"/>
<connection identifier="cn-0627" relationshipRef="rel-352" xsi:type="Relationship" source="do-0626" target="do-0611"/>
<connection identifier="cn-0629" relationshipRef="rel-353" xsi:type="Relationship" source="do-0628" target="do-0611"/>
</view>
<view identifier="view-27" xsi:type="Diagram">
<name xml:lang="ru">P11. Паспорт: rfi</name>
<documentation xml:lang="ru">Что нужно, чтобы rfi работал: 7 технологических сервисов и 4 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у rfi меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0630" elementRef="ac-rfi" xsi:type="Element" x="460" y="180" w="260" h="60"/>
<node identifier="do-0631" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0633" elementRef="ts-oidc" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0635" elementRef="ts-secrets" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0637" elementRef="ts-rdbms" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0639" elementRef="ts-amqp" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0641" elementRef="ts-object" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0643" elementRef="ts-mail" xsi:type="Element" x="20" y="100" w="170" h="55"/>
<node identifier="do-0645" elementRef="ac-django" xsi:type="Element" x="20" y="310" w="170" h="55"/>
<node identifier="do-0647" elementRef="ac-documentations" xsi:type="Element" x="210" y="310" w="170" h="55"/>
<node identifier="do-0649" elementRef="ac-eav" xsi:type="Element" x="400" y="310" w="170" h="55"/>
<node identifier="do-0651" elementRef="ac-resources" xsi:type="Element" x="590" y="310" w="170" h="55"/>
<connection identifier="cn-0632" relationshipRef="rel-060" xsi:type="Relationship" source="do-0631" target="do-0630"/>
<connection identifier="cn-0634" relationshipRef="rel-086" xsi:type="Relationship" source="do-0633" target="do-0630"/>
<connection identifier="cn-0636" relationshipRef="rel-110" xsi:type="Relationship" source="do-0635" target="do-0630"/>
<connection identifier="cn-0638" relationshipRef="rel-134" xsi:type="Relationship" source="do-0637" target="do-0630"/>
<connection identifier="cn-0640" relationshipRef="rel-168" xsi:type="Relationship" source="do-0639" target="do-0630"/>
<connection identifier="cn-0642" relationshipRef="rel-185" xsi:type="Relationship" source="do-0641" target="do-0630"/>
<connection identifier="cn-0644" relationshipRef="rel-190" xsi:type="Relationship" source="do-0643" target="do-0630"/>
<connection identifier="cn-0646" relationshipRef="rel-355" xsi:type="Relationship" source="do-0645" target="do-0630"/>
<connection identifier="cn-0648" relationshipRef="rel-356" xsi:type="Relationship" source="do-0647" target="do-0630"/>
<connection identifier="cn-0650" relationshipRef="rel-357" xsi:type="Relationship" source="do-0649" target="do-0630"/>
<connection identifier="cn-0652" relationshipRef="rel-358" xsi:type="Relationship" source="do-0651" target="do-0630"/>
</view>
<view identifier="view-28" xsi:type="Diagram">
<name xml:lang="ru">P12. Паспорт: cde</name>
<documentation xml:lang="ru">Что нужно, чтобы cde работал: 5 технологических сервисов и 3 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у cde меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0653" elementRef="ac-cde" xsi:type="Element" x="365" y="100" w="260" h="60"/>
<node identifier="do-0654" elementRef="ts-ingress" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0656" elementRef="ts-secrets" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0658" elementRef="ts-amqp" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0660" elementRef="ts-bpmn" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0662" elementRef="ts-object" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0664" elementRef="ac-flows" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0666" elementRef="ac-system-log" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0668" elementRef="ac-workspaces" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<connection identifier="cn-0655" relationshipRef="rel-045" xsi:type="Relationship" source="do-0654" target="do-0653"/>
<connection identifier="cn-0657" relationshipRef="rel-091" xsi:type="Relationship" source="do-0656" target="do-0653"/>
<connection identifier="cn-0659" relationshipRef="rel-158" xsi:type="Relationship" source="do-0658" target="do-0653"/>
<connection identifier="cn-0661" relationshipRef="rel-170" xsi:type="Relationship" source="do-0660" target="do-0653"/>
<connection identifier="cn-0663" relationshipRef="rel-172" xsi:type="Relationship" source="do-0662" target="do-0653"/>
<connection identifier="cn-0665" relationshipRef="rel-285" xsi:type="Relationship" source="do-0664" target="do-0653"/>
<connection identifier="cn-0667" relationshipRef="rel-286" xsi:type="Relationship" source="do-0666" target="do-0653"/>
<connection identifier="cn-0669" relationshipRef="rel-287" xsi:type="Relationship" source="do-0668" target="do-0653"/>
</view>
<view identifier="view-29" xsi:type="Diagram">
<name xml:lang="ru">P13. Паспорт: notes</name>
<documentation xml:lang="ru">Что нужно, чтобы notes работал: 6 технологических сервисов и 3 прикладных сервиса. Стрелки, как и везде, идут от обслуживающего к обслуживаемому. Входящих вызовов у notes меньше 3, отдельного представления для них нет.</documentation>
<node identifier="do-0670" elementRef="ac-notes" xsi:type="Element" x="460" y="100" w="260" h="60"/>
<node identifier="do-0671" elementRef="ts-oidc" xsi:type="Element" x="20" y="20" w="170" h="55"/>
<node identifier="do-0673" elementRef="ts-secrets" xsi:type="Element" x="210" y="20" w="170" h="55"/>
<node identifier="do-0675" elementRef="ts-rdbms" xsi:type="Element" x="400" y="20" w="170" h="55"/>
<node identifier="do-0677" elementRef="ts-events" xsi:type="Element" x="590" y="20" w="170" h="55"/>
<node identifier="do-0679" elementRef="ts-amqp" xsi:type="Element" x="780" y="20" w="170" h="55"/>
<node identifier="do-0681" elementRef="ts-object" xsi:type="Element" x="970" y="20" w="170" h="55"/>
<node identifier="do-0683" elementRef="ac-attachments" xsi:type="Element" x="20" y="230" w="170" h="55"/>
<node identifier="do-0685" elementRef="ac-django" xsi:type="Element" x="210" y="230" w="170" h="55"/>
<node identifier="do-0687" elementRef="ac-documentations" xsi:type="Element" x="400" y="230" w="170" h="55"/>
<connection identifier="cn-0672" relationshipRef="rel-079" xsi:type="Relationship" source="do-0671" target="do-0670"/>
<connection identifier="cn-0674" relationshipRef="rel-106" xsi:type="Relationship" source="do-0673" target="do-0670"/>
<connection identifier="cn-0676" relationshipRef="rel-130" xsi:type="Relationship" source="do-0675" target="do-0670"/>
<connection identifier="cn-0678" relationshipRef="rel-155" xsi:type="Relationship" source="do-0677" target="do-0670"/>
<connection identifier="cn-0680" relationshipRef="rel-165" xsi:type="Relationship" source="do-0679" target="do-0670"/>
<connection identifier="cn-0682" relationshipRef="rel-182" xsi:type="Relationship" source="do-0681" target="do-0670"/>
<connection identifier="cn-0684" relationshipRef="rel-343" xsi:type="Relationship" source="do-0683" target="do-0670"/>
<connection identifier="cn-0686" relationshipRef="rel-344" xsi:type="Relationship" source="do-0685" target="do-0670"/>
<connection identifier="cn-0688" relationshipRef="rel-345" xsi:type="Relationship" source="do-0687" target="do-0670"/>
</view>
</diagrams>
</views>
</model>