doc/BPM/enEA/comparison.md
2025-09-04 08:57:55 +03:00

22 KiB
Raw Blame History

1 Archi vs 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 - хоть OpenGroup и не рекомендуют его активно использовать (вроде как он скрывает тип связи), но в качестве одно из представлений активный Nesting вполне подходит - это уменьшает сложность схемы и повышает читаемость - особенно, когда связи выражают структурную зависимость элементов (но не только - можно же делать nesting без создания связей - просто для визуальной привязки)

на самом деле уже на базе Archi можно что-то строить. Там даже есть совместная работа как минимум двумя способами:

  1. через плагин для Git (кстати, его обещают "переписать с нуля" и добавить визуальное сравнение схем прям в инструменте)
  2. через плагин для хранения репозитория в центральной БД 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 в паблишер не перетащить же?

и да и нет...

  1. родной файл - это да ZIP, в который запакована модель в XML и картинки/вложения в отдельной папке
  2. в плагине для Git все объекты раскладываются в отдельные файлы - так что изменения выглядят не как в одном большом файле, а в конкретном файле конкретного объекта / связи (пример структуры папок на картинке) ris1)

Archi trend

как минимум, даже если использовать как резервное к Git - это хорошая возможность строить аналитику по модели - потому что табличное представление еще не скоро появится в Archi ris1)