22 KiB
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... да, я могу их посмотреть в виде таблицы со свойствами и др... но не могу использовать в другой схеме.
Единственное что я нашел - это:
- возможность связывать элемент с другой схемой (моделью - в терминах ADOxx) - фактически это привязка элемента к его детализированной схеме
- можно просто связывать также между собой элементы перекрестными ссылками - но это костыль по сравнению с полноценным переиспользованием объектов модели в Archi (причем на разных схемах у меня объект может выглядеть по-разному)
Отсюда же Nesting - хоть OpenGroup и не рекомендуют его активно использовать (вроде как он скрывает тип связи), но в качестве одно из представлений активный Nesting вполне подходит - это уменьшает сложность схемы и повышает читаемость - особенно, когда связи выражают структурную зависимость элементов (но не только - можно же делать nesting без создания связей - просто для визуальной привязки)
на самом деле уже на базе Archi можно что-то строить. Там даже есть совместная работа как минимум двумя способами:
- через плагин для Git (кстати, его обещают "переписать с нуля" и добавить визуальное сравнение схем прям в инструменте)
- через плагин для хранения репозитория в центральной БД https://github.com/archi-contribs/database-plugin
https://t.me/c/1304614627/29082
Archi publisher
в Archi схема давно отработана - об этом даже статья была на хабре.
По сути при каждом коммите в gitlab запускается процесс публикации на веб-сервере (выбор на вкус и цвет).
При этом при желании шаблон сайта можно скорректировать, но в целом и из коробки он не плох.
Единственное, если Archi под виндой, а публикация (генерация HTML) происходит на Linux - там шрифты могут чуть поехать в картинках - соответственно нужно либо публиковать в том же семействе ОС, что и редактируешь, либо закладывать запас на "гуляние" ширины текста
Archi repo
Вообще, в archi же нет репозитария, все хранится в xml файле (одна модель - один xml файл). То же html report (c SQL) в archi в паблишер не перетащить же?
и да и нет...
- родной файл - это да ZIP, в который запакована модель в XML и картинки/вложения в отдельной папке
- в плагине для Git все объекты раскладываются в отдельные файлы - так что изменения выглядят не как в одном большом файле, а в конкретном файле конкретного объекта / связи (пример структуры папок на картинке)
)
Archi trend
как минимум, даже если использовать как резервное к Git - это хорошая возможность строить аналитику по модели - потому что табличное представление еще не скоро появится в Archi
)