Область применения
В первую очередь решение будет полезно ИТ-компаниям или специалистам в ИТ-сфере.
Можно использовать любой уровень абстракции:
- Корпоративная экосистема (несколько информационных систем)
- Пример: инхаус разработка
- Информационная система (одно решение)
- Пример: авторские разработки, коммерческие разработки
- Модуль системы (расширение / подсистема / библиотека)
- Пример: авторские разработки
Ключевые особенности решения
- Построение объектной модели
- Сущности
- Связи
- Вспомогательные элементы
- Визуализация объектной модели через PlantUML
- Генерация текста и изображения схем в реальном времени (вы добавляете объект, система его сразу отрисовывает на графическом полотне)
- В качестве основы для визуализации используется нотация моделирования архитектуры C4, а если точнее то библиотека C4-PlantUML
- С графическим полотном можно взаимодействовать интерактивно (обработка клика, рисование связей, контекстное меню)
Целевая аудитория
- Архитекторы — для работы с корпоративным и системным уровнями (любой уровень декомпозиции).
- Аналитики — для работы с бизнес уровнем (визуализации бизнес-процессов).
- Разработчики — для работы с системным уровнем (декомпозиция до уровня кода).
Назначение
- Сокращение времени на построение архитектурных схем;
- Стандартизация подхода к проектированию архитектуры;
- Единое пространство для работы проектных команд (единая точка входа для получения информации по системе);
Основные возможности
- Построение корпоративной экосистемы
- Ведение списка информационных систем и связей между ними (интеграционные потоки)
- Возможность построить отчет "Карта корпоративной экосистемы"
- Проектирование и моделирование информационных систем
- Декомпозиция на разные слои и уровни абстракций (бизнес слой, слой приложения, технологический слой)
- Описание сущностей
- Метки, подписи, свойства
- Создание связей между сущностями
- С возможностью указания произвольных ссылок или ссылок на графические схемы (при клике на ссылку она откроется)
- Ведение классов пользователей системы
- Ведение списка архитектурных схем в рамках каждой информационной системы
- Выбор объектов / слоев / уровней для визуализации
- Быстрый анализ схемы на форме элемента
- Возможность указать номер версии
- Возможность указать статус и заморозить схему (запретить изменение)
- Возможность делиться схемой (изображение или ссылка на схему в PlantUML)
- Ведение вспомогательной справочной информации
- Метки
- Виды объектов
- Виды взаимодействия объектов
- Стили объектов (цвет фона, фигура)
- Создание произвольных графических схем в нотациях BPMN и UML
- Использование нативного функционала PlantUML с написанием текста схемы
- Построение схемы через объектную модель (диаграмма последовательности, диаграмма потоков данных)
- Визуализация объектной модели через PlantUML в режиме реального времени
- Не нужно графически изменять связи или расположение объектов, или изменять текст схемы как при стандартном использовании PlantUML
- Не нужно графически изменять связи или расположение объектов, или изменять текст схемы как при стандартном использовании PlantUML
Дополнительные возможности
- Выдача прав доступа на редактирование конкретных информационных систем
- Например:
- Архитектор имеет полный доступ к информационной системе (добавление связей или сущностей и т.п.)
- Остальные - только просмотр
- Например:
- Переопределение адреса сервера PlantUML для генерации диаграмм
- Вы можете развернуть локальный сервер PlantUML и использовать его для генерации диаграмм (хранится в константе)
- Служебная функциональность
- Выгрузка/загрузка данных
- Сохранение выбранной корпоративной экосистемы в файл (со всеми связными данными)
- Загрузка корпоративной экосистемы из файла
- Генерация тестовых данных (информационные системы и связи между ними)
- Наполнение справочников (метки, виды взаимодействия) распространенными технологиями
- Выгрузка/загрузка данных
Ниже демонстрируется взаимодействие с графическими элементами на поле HTML
Рис. 1. Добавление элементов на графическом полотне
Рис. 2. Создание/изменение/удаление связей между элементами на графическом полотне
(снизу подсвечиваются нажатия горячих клавиш)
Рис. 3. Создание связей между элементами через перетаскивание элементов между таблицами
Рис. 4. Добавление сущностей диаграммы последовательности (PlantUML)
Рис. 5. Добавление связей диаграммы последовательности на графическом полотне (PlantUML)
Рис. 6. Форма выбора вида объекта
В данном примере описывается архитектура подсистемы "АрхиТопос".
Вы все правильно поняли, с помощью данного решения была описана архитектура этого же решения.
Все реализовано через объектную модель, код схем генерируется автоматически.
Моделирование происходит в рамках единого пространства, можно выбирать исследуемый элемент, чтобы работать только с нужным уровнем абстракции.
Рис. 7. Форма основного инструмента для моделирования
Рис. 8. Архитектурная схема "Диаграмма контекста" (ссылка на схему PNG)
Рис. 9. Форма элемента архитектурной схемы "Карта экосистемы"
Рис. 10. Архитектурная схема "Диаграмма вариантов использования" (ссылка на схему SVG)
Рис. 11. Архитектурная схема "Архитектура метаданных" - это аналог диаграммы классов (ссылка на текст схемы UML)
Рис. 12. Архитектурная схема "Диаграмма развертывания"
Рис. 13. Графическая схема "Диаграмма последовательности (Визуализация объектной модели)"
Абстрактные примеры
Это пример карты корпоративной экосистемы построенной на тестовых данных.
Рис. 14. Отчет "Карта корпоративной экосистемы"
Есть возможность рисовать BPMN схемы.
Рис. 15. Пример графической схемы в нотации BPMN
Текст диаграммы нигде не хранится и всегда генерируется на лету.
Рис. 16. Пример сгенерированного текста схемы
Есть возможность генерации тестовых данных для ознакомления, а также выгрузка и загрузка конкретной корпоративной экосистемы через файл.
Дополнительно есть возможность наполнить справочную информацию элементами технологий (1С, js, docker и т.п.)
Рис. 17. Обработка "Служебные функции"
Авторские пояснения
- Нюансы визуализации PlantUML
- Без доступности к сервису PlantUML графическое отображение схем работать не будет
- У платформы должен быть доступ к внешнему серверу PlantUML или к локальному серверу развёрнутому в локальной сети
- Сервис сам определяет расположение объектов и стрелок между ними
- Иногда это может показаться нелогичным, попробуйте изменить направление полотна (портретная, альбомная)
- Расположение элементов на схеме в некоторых случаях зависит от сортировки динамических списков
- Без доступности к сервису PlantUML графическое отображение схем работать не будет
- Пояснения по нотации моделирования архитектуры C4
- В решении не реализовано жёсткое соблюдение нотации, при этом автор настоятельно советует соблюдать основы
- Стандартная нотация
- 4 основных уровня
- System
- Container
- Component
- Code
- Component
- Container
- System
- 4 основных уровня
- Видение от автора (возможно спорное, но иногда удобное)
- Дополнительная детализация с вложенностью одинаковых типов
- Пример
- System
- Container
- Container
- Container
- Component
- Component
- Code
- Component
- Component
- Container
- System
- Пример
- Также есть еще один уровень Enterprise (совокупность информационных систем, карта корпоративной экосистемы)
- При этом не допускаются следующие конструкции (т.е. должна соблюдаться стандартная иерархия уровней)
- Component
- Container
- Component
- Дополнительная детализация с вложенностью одинаковых типов
- Стандартная нотация
- В решении не реализовано жёсткое соблюдение нотации, при этом автор настоятельно советует соблюдать основы
Техническая информация
- Требования
- Платформа 1С:Предприятие версии 8.3.16 и выше;
- Если используется операционная система Linux то платформа 1С:Предприятие версии 8.3.26 и выше (обновлен webkit);
- Управляемые формы;
- Тонкий клиент;
- Веб клиент* (есть ограничения, нет возможности масштабировать графическое полотно в браузере);
- Режим совместимости конфигурации 8.3.16 и выше;
- Библиотека стандартных подсистем версии 2.3.4 и выше;
- Платформа 1С:Предприятие версии 8.3.16 и выше;
- Внедрение и использование
- Решение реализовано посредством расширения конфигурации с возможными вариантами использования (при соблюдении технических требований):
- Поверх развернутой с нуля БСП;
- В составе СППР;
- В существующую систему учета на базе БСП.
- Решение реализовано посредством расширения конфигурации с возможными вариантами использования (при соблюдении технических требований):
Лицензионная информация
- Решение распространяется под лицензией GPL v3
- В решении используются сторонние open source библиотеки (html/css/js)
- Данные библиотеки распространяются под MIT лицензией
- Исходный код библиотек не изменялся, используются как есть
- В исходном коде расширения указаны полные тексты лицензий с указанием авторов (license and copyright notice)
01.06.2025 Добавлена пилотная версия расширения 1.0.1.8
02.06.2025 Небольшие исправления 1.0.1.9