mirror of
https://github.com/bpmbpm/doc.git
synced 2026-05-05 23:37:09 +00:00
182 lines
22 KiB
Markdown
182 lines
22 KiB
Markdown
# 1 Archi vs ADOxx
|
||
- https://github.com/bpmbpm/doc/blob/main/BPM/enEA/Archi
|
||
- https://github.com/bpmbpm/doc/tree/main/BPM/enBPM/ADOxx
|
||
## 1.1 Подробный сравнительный обзор Archi и ADOxx
|
||
В этом обзоре проводится детальное сравнение двух инструментов для моделирования — **Archi** (www.archimatetool.com) и **ADOxx** (www.adoxx.org). Особое внимание уделяется возможностям развертывания web publisher server и редактированию метамодели.
|
||
|
||
## 1. Общая характеристика и назначение
|
||
|
||
### Archi
|
||
|
||
- **Назначение**: Открытое решение для моделирования архитектуры предприятия по стандарту ArchiMate. Основная аудитория — архитекторы предприятий, консультанты, образовательные организации и студенты.
|
||
- **Фокус**: Предоставляет удобную среду для создания, визуализации и анализа моделей архитектуры предприятия строго в рамках стандарта ArchiMate .
|
||
|
||
### ADOxx
|
||
|
||
- **Назначение**: Платформа для метамоделирования, предназначенная для создания и развертывания доменно-специфичных языков моделирования и инструментов. Используется в научных и промышленных проектах для разработки специализированных методов моделирования .
|
||
- **Фокус**: Позволяет разрабатывать собственные языки моделирования, процедуры, алгоритмы и графические нотации, а также создавать полноценные инструменты моделирования на их основе .
|
||
|
||
---
|
||
|
||
## 2. Ключевые возможности
|
||
|
||
| Характеристика | Archi | ADOxx |
|
||
|------------------------|----------------------------------------------------|----------------------------------------------------|
|
||
| **Язык моделирования** | ArchiMate (строго по стандарту) | Любой, определяемый пользователем (DSML) |
|
||
| **Редактирование метамодели** | Нет (только пользовательские свойства) | Да, гибкое графическое и текстовое редактирование |
|
||
| **Скрипты/Автоматизация** | JArchi (JavaScript для работы с моделями) | AdoScript для расширения и автоматизации |
|
||
| **Совместная работа** | Плагин для Git, сервер коллаборации (в разработке) | Управление пользователями, группами, правами |
|
||
| **Экспорт/Импорт** | ArchiMate Exchange, CSV, PDF, DOC, PPT, HTML | Различные форматы, поддержка интеграции |
|
||
| **Платформа** | Windows, macOS, Linux (Java/Eclipse RCP) | Windows (нативно), macOS/Linux (через Wine) |
|
||
| **Лицензия** | Открытая, бесплатная | Бесплатная, открытая (с поддержкой сообщества) |
|
||
|
||
---
|
||
|
||
## 3. Редактирование метамодели
|
||
|
||
### Archi
|
||
|
||
- **Редактирование метамодели**:
|
||
Archi не поддерживает прямое редактирование или расширение метамодели ArchiMate. Пользователь ограничен стандартными элементами и связями, определёнными спецификацией ArchiMate.
|
||
Возможна только настройка пользовательских свойств (key-value) для элементов и связей, что позволяет добавлять метаданные, но не изменять структуру метамодели .
|
||
- **Скрипты**:
|
||
JArchi позволяет автоматизировать работу с моделями, но не с метамоделью.
|
||
- **Гибкость**:
|
||
Высокая в рамках стандартного ArchiMate, но невозможность добавления новых типов элементов или связей ограничивает применение для нестандартных задач.
|
||
|
||
### ADOxx
|
||
|
||
- **Редактирование метамодели**:
|
||
ADOxx предоставляет полноценную среду для графического и текстового редактирования метамоделей. Пользователь может создавать новые классы, отношения, атрибуты, определять семантику и визуальное представление элементов .
|
||
- **Гибкость**:
|
||
Поддерживается создание любых доменно-специфичных языков моделирования (DSML), динамическая адаптация метамодели, возможность интеграции пользовательских алгоритмов и механизмов обработки моделей .
|
||
- **Скрипты**:
|
||
Встроенный язык AdoScript для реализации пользовательских механизмов, анализа, симуляции и расширения функциональности .
|
||
- **Динамическая адаптация**:
|
||
Возможна динамическая модификация метамодели на основе обратной связи (например, с использованием графов знаний) .
|
||
|
||
---
|
||
|
||
## 4. Возможности развертывания web publisher server
|
||
|
||
### Archi
|
||
|
||
- **Web Publisher**:
|
||
Archi позволяет экспортировать модели в виде статического HTML-сайта, который содержит диаграммы, элементы, связи и навигацию по модели.
|
||
- **Развёртывание**:
|
||
- Экспортированные файлы (HTML, CSS, JS, изображения) размещаются на любом статическом веб-сервере (Apache, Nginx, IIS, облачные хранилища с поддержкой статических сайтов — AWS S3, Azure Blob Storage, GitHub Pages и др.).
|
||
- Не требуется серверная логика или база данных — только раздача статических файлов .
|
||
- Доступ можно ограничить средствами самого веб-сервера (например, через аутентификацию или сетевые политики).
|
||
- **Ограничения**:
|
||
- Сайт статичен: для обновления требуется повторный экспорт и загрузка файлов.
|
||
- Нет поддержки редактирования моделей через веб-интерфейс — только просмотр.
|
||
- Нет встроенного управления пользователями или коллаборации через веб .
|
||
|
||
### ADOxx
|
||
|
||
- **Web Publisher Server**:
|
||
ADOxx поддерживает развертывание моделирующих решений как полноценных веб-приложений с помощью ADOxx Web Component.
|
||
- **Развёртывание**:
|
||
- Веб-компонент обеспечивает доступ к моделям и среде моделирования через браузер, поддерживает визуализацию, редактирование и управление моделями онлайн.
|
||
- Возможна интеграция с существующими веб-серверами (Apache, IIS), поддержка REST API для взаимодействия с внешними системами.
|
||
- Поддерживается облачное развертывание для масштабируемого доступа и совместной работы .
|
||
- Требуется сервер на Windows для ядра ADOxx, веб-компонент работает как промежуточный слой.
|
||
- **Возможности**:
|
||
- Пользователи могут не только просматривать, но и редактировать модели через веб-интерфейс.
|
||
- Поддержка аутентификации, разграничения прав доступа, интеграция с корпоративной ИТ-инфраструктурой.
|
||
- Гибкая настройка интерфейса и функций веб-приложения под конкретные задачи .
|
||
- **Документация и поддержка**:
|
||
- Подробные руководства по развертыванию и настройке доступны на сайте ADOxx.org.
|
||
|
||
---
|
||
|
||
## 5. Сравнительная таблица по ключевым аспектам
|
||
|
||
| Аспект | Archi | ADOxx |
|
||
|-------------------------------|----------------------------------------------------|----------------------------------------------------|
|
||
| **Редактирование метамодели** | Нет (только пользовательские свойства) | Да, графическое и текстовое, динамическая адаптация|
|
||
| **Гибкость метамодели** | Жёстко по ArchiMate | Любая, определяемая пользователем |
|
||
| **Web Publisher** | Статический HTML-экспорт, только просмотр | Веб-приложение: просмотр и редактирование моделей |
|
||
| **Развёртывание** | Любой статический веб-сервер, облако, Intranet | Веб-сервер (Windows), облако, поддержка REST API |
|
||
| **Управление доступом** | Через веб-сервер (внешне) | Встроенное, поддержка пользователей и групп |
|
||
| **Коллаборация** | Через Git-плагин, сервер в разработке | Встроенная, с разграничением прав |
|
||
| **Целевая аудитория** | Архитекторы предприятий, практики | Исследователи, разработчики DSML, организации |
|
||
| **Порог вхождения** | Низкий, интуитивный интерфейс | Выше, требует понимания метамоделирования |
|
||
| **Расширяемость** | Плагины, скрипты для моделей | Скрипты, внешние интеграции, расширяемая архитектура|
|
||
| **Лицензия** | Открытая, бесплатная | Бесплатная, открытая |
|
||
|
||
---
|
||
|
||
## 6. Краткие выводы
|
||
|
||
- **Archi** — оптимальный выбор для тех, кто работает исключительно с ArchiMate и ценит простоту, стандартизацию и быстрое внедрение. Инструмент отлично подходит для визуализации, анализа и обмена моделями, но не для создания новых языков моделирования или расширения метамодели .
|
||
- **ADOxx** — мощная платформа для тех, кто нуждается в разработке собственных языков моделирования, процедур и инструментов. Поддерживает гибкое редактирование метамодели, динамическую адаптацию, расширяемость и полноценную работу через веб-интерфейс, включая редактирование моделей онлайн .
|
||
|
||
---
|
||
|
||
## 7. Рекомендации по выбору
|
||
|
||
- Если ваша задача — моделирование архитектуры предприятия по стандарту ArchiMate с возможностью простого обмена моделями через веб, выбирайте **Archi**.
|
||
- Если требуется разработка или адаптация собственных языков моделирования, поддержка сложных сценариев коллаборации и веб-редактирования, а также интеграция с внешними системами — ваш выбор **ADOxx**.
|
||
|
||
---
|
||
|
||
# 1.2 web publisher server
|
||
#### Archi: Примеры развертывания web publisher server
|
||
|
||
В открытых источниках **нет примеров развертывания полноценного web publisher server для Archi** в классическом понимании (как серверного приложения с возможностью онлайн-редактирования моделей). Archi предоставляет функцию **экспорта моделей в статический HTML-сайт** (через встроенный или сторонний плагин Archi Web Export). Этот сайт можно разместить на любом статическом веб-сервере (например, Apache, Nginx, IIS, GitHub Pages, облачные хранилища), но это не сервер приложений, а просто набор статических файлов для просмотра моделей через браузер.
|
||
**Примеров развертывания серверного решения с возможностью редактирования моделей через веб-интерфейс для Archi в интернете нет** — только публикация статических HTML-отчетов.
|
||
|
||
---
|
||
|
||
#### ADOxx: Примеры развертывания web publisher server
|
||
|
||
Для **ADOxx** существуют примеры и официальные инструкции по развертыванию web publisher server:
|
||
|
||
- На сайте ADOxx.org описан процесс настройки **ADOxxWEB API**, который позволяет получить доступ к базе данных ADOxx и выполнять команды через веб-интерфейс. Это решение обеспечивает как просмотр, так и редактирование моделей через браузер.
|
||
- В научных публикациях также встречаются примеры создания web-based viewer для ADOxx-моделей, где описывается архитектура и шаги по развертыванию веб-просмотрщика и редактора на базе ADOxx.
|
||
- В целом, ADOxx поддерживает развертывание web-компонентов, которые позволяют работать с моделями онлайн, и такие примеры доступны в документации и научных статьях.
|
||
|
||
---
|
||
|
||
#### Вывод
|
||
|
||
- **Archi**: В интернете есть только примеры публикации моделей как статических HTML-сайтов, но нет примеров развертывания полноценного web publisher server с возможностью онлайн-редактирования.
|
||
- **ADOxx**: Есть примеры и официальные инструкции по развертыванию web publisher server, включая доступ к моделям через браузер, их просмотр и редактирование.
|
||
|
||
# 1.3 Продолжение сравнения в ТГ
|
||
## С. Старцев
|
||
https://t.me/c/1304614627/29116
|
||
Ключевое отличие, которое ИИ не отметил - Archi работает с моделями и представлениями, а у ADOxx представление=модель...
|
||
К слову такая же проблема и у SPARX и у многих еще.
|
||
Т.е. получается это по факту структурированный каталог схем - но не модель - я не могу переиспользовать одни и те же элементы в разных схемах.
|
||
|
||
По этой причине нет как такового каталога объектов в ADOxx... да, я могу их посмотреть в виде таблицы со свойствами и др... но не могу использовать в другой схеме.
|
||
Единственное что я нашел - это:
|
||
1) возможность связывать элемент с другой схемой (моделью - в терминах ADOxx) - фактически это привязка элемента к его детализированной схеме
|
||
2) можно просто связывать также между собой элементы перекрестными ссылками - но это костыль по сравнению с полноценным переиспользованием объектов модели в Archi (причем на разных схемах у меня объект может выглядеть по-разному)
|
||
Отсюда же [Nesting](https://github.com/bpmbpm/doc/tree/main/BPM/enEA#nesting) - хоть OpenGroup и не рекомендуют его активно использовать (вроде как он скрывает тип связи), но в качестве одно из представлений активный Nesting вполне подходит - это уменьшает сложность схемы и повышает читаемость - особенно, когда связи выражают структурную зависимость элементов (но не только - можно же делать nesting без создания связей - просто для визуальной привязки)
|
||
|
||
на самом деле уже на базе Archi можно что-то строить.
|
||
Там даже есть совместная работа как минимум двумя способами:
|
||
1) через плагин для Git (кстати, его обещают "переписать с нуля" и добавить визуальное сравнение схем прям в инструменте)
|
||
2) через плагин для хранения репозитория в центральной БД https://github.com/archi-contribs/database-plugin
|
||
https://t.me/c/1304614627/29082
|
||
|
||
### Archi publisher
|
||
в Archi схема давно отработана - об этом даже [статья была на хабре](https://habr.com/ru/articles/583314/).
|
||
По сути при каждом коммите в gitlab запускается процесс публикации на веб-сервере (выбор на вкус и цвет).
|
||
При этом при желании шаблон сайта можно скорректировать, но в целом и из коробки он не плох.
|
||
Единственное, если Archi под виндой, а публикация (генерация HTML) происходит на Linux - там шрифты могут чуть поехать в картинках - соответственно нужно либо публиковать в том же семействе ОС, что и редактируешь, либо закладывать запас на "гуляние" ширины текста
|
||
|
||
### Archi repo
|
||
Вообще, в archi же нет репозитария, все хранится в xml файле (одна модель - один xml файл). То же html report (c SQL) в archi в паблишер не перетащить же?
|
||
|
||
и да и нет...
|
||
1) родной файл - это да ZIP, в который запакована модель в XML и картинки/вложения в отдельной папке
|
||
2) в плагине для Git все объекты раскладываются в отдельные файлы - так что изменения выглядят не как в одном большом файле, а в конкретном файле конкретного объекта / связи (пример структуры папок на картинке) )
|
||
|
||
### Archi trend
|
||
как минимум, даже если использовать как резервное к Git - это хорошая возможность строить аналитику по модели - потому что табличное представление еще не скоро появится в Archi
|
||
)
|
||
|