doc/IT/programming/visual_programming_js/a_bpmn_1.md
2026-03-27 12:52:57 +03:00

15 KiB
Raw Blame History

BPMN-JS

Cуществуют open-source конструкторы no-code/low-code для JavaScript, основанные на BPMN (Business Process Model and Notation). Эти инструменты можно разделить на две категории:

  1. Полноценные платформы BPM + low-code — комплексные решения с визуальным моделированием процессов, встроенными формами и возможностью расширения на JavaScript.
  2. Библиотеки и компоненты для встраивания — инструменты для создания собственного BPMN-редактора или исполнителя процессов.

Ниже представлен обзор ключевых open-source решений.


Категория 1. Полноценные BPM-платформы с low-code и поддержкой JavaScript

Эти системы предоставляют готовую среду для моделирования BPMN-процессов и разработки приложений поверх них.

1. codbex — унифицированная платформа приложений и автоматизации

Сайт: codbex.com
Лицензия: Open Source (100% open-source stack)

codbex — это полнофункциональная платформа, объединяющая BPM (на основе BPMN 2.0), low-code разработку, интеграцию и AI-автоматизацию в едином стеке .

Ключевые особенности:

  • BPMN 2.0-совместимое моделирование процессов с визуальным дизайнером
  • Low-code среда разработки с визуальными редакторами для моделей данных, UI-форм, сервисов и API
  • Генерация читаемого JavaScript/TypeScript кода — отсутствие vendor lock-in
  • Встроенные коннекторы к REST, SOAP, базам данных, Kafka, SAP и др.
  • AI-агенты как часть BPM-процессов (классификация, извлечение данных, автоматизация)

Для кого: Enterprise-разработка, сложные бизнес-процессы, требующие интеграции с legacy-системами и AI.


2. CIB seven — форк Camunda 7 с гарантией долгосрочной поддержки

Сайт: cibseven.org
GitHub: github.com/cibseven/cibseven
Лицензия: Apache 2.0

CIB seven — это форк популярной Camunda Platform 7, созданный для обеспечения долгосрочной поддержки и работы on-premises. Платформа написана на Java, но предоставляет современные веб-интерфейсы на JavaScript (Vue 3) и возможности low-code .

Ключевые особенности:

  • BPMN 2.0 / DMN 1.3 / CMMN — полная поддержка стандартов
  • Веб-приложения: Cockpit (мониторинг), Tasklist (работа с задачами), Admin (управление пользователями)
  • Low-code формы — создание веб-форм без программирования
  • REST API для интеграции с любыми JavaScript-приложениями
  • 100% совместимость с Camunda 7 — миграция без изменения кода

Для кого: Государственные организации и предприятия, которым нужна стабильность, on-premises развертывание и юридическая безопасность Apache 2.0.


3. Operaton — легковесный форк Camunda 7

Сайт: operaton.org
GitHub: github.com/operaton/operaton
Лицензия: Apache 2.0

Operaton — еще один форк Camunda 7, ориентированный на разработчиков Java, которые хотят встраивать BPM-движок как библиотеку в свои приложения, а не разворачивать отдельную платформу .

Ключевые особенности:

  • Встраиваемый BPMN-движок — работает как обычная Java-библиотека
  • Легковесность — подходит для микросервисной архитектуры
  • Совместимость с Camunda 7 — существующие модели работают без изменений
  • JavaScript UI — Tasklist и другие интерфейсы для работы с процессами

Для кого: Java-разработчики, которым нужен BPM внутри легковесных приложений без развертывания тяжеловесной платформы.


4. IBM Process Automation Manager Open Edition (Kogito / jBPM)

Сайт: ibm.com/products/business-automation-manager-open-editions
Лицензия: Open Source (Apache 2.0)

IBM PAM Open Edition (ранее Red Hat Process Automation Manager) построен на open-source технологиях Kogito, Drools и jBPM. Поддерживает BPMN 2.0 и DMN, а также предоставляет современные средства разработки .

Ключевые особенности:

  • BPMN 2.0 и DMN — полная поддержка стандартов
  • VS Code расширения для моделирования процессов и правил
  • Quarkus / Spring Boot — оптимизирован для cloud-native и serverless
  • Генерация API на основе моделей процессов
  • Автоматическая генерация форм на основе моделей данных

Для кого: Крупные организации, использующие Red Hat / IBM экосистему, а также разработчики, предпочитающие Quarkus и Spring Boot.


Категория 2. JavaScript-библиотеки и компоненты для BPMN

Если вам нужна не готовая платформа, а возможность встроить BPMN-моделирование или выполнение процессов в ваше JavaScript-приложение, обратите внимание на эти инструменты.

5. bpmn-js — библиотека для рендеринга и редактирования BPMN 2.0

GitHub: github.com/bpmn-io/bpmn-js
Лицензия: MIT
Звёзды: 9.2k+

bpmn-js — это самая популярная JavaScript-библиотека для работы с BPMN 2.0 диаграммами в браузере. Позволяет создавать визуальные редакторы процессов, встраиваемые в любое веб-приложение .

Ключевые особенности:

  • Визуализация BPMN 2.0 диаграмм в браузере
  • Встроенный редактор с drag-and-drop
  • Поддержка React, Vue, Angular, Svelte (независимость от фреймворков)
  • Расширяемость — возможность добавлять кастомные элементы и поведение

Пример использования:

import BpmnModeler from 'bpmn-js/lib/Modeler';

const modeler = new BpmnModeler({
  container: '#canvas'
});

// Загрузка диаграммы
modeler.importXML(bpmnXML, (err) => {
  if (!err) console.log('Успешно загружено!');
});

Для кого: Разработчики, создающие no-code/low-code платформы, в которых нужен визуальный редактор бизнес-процессов.


6. bpmn-engine — JavaScript движок для выполнения BPMN 2.0

npm: npmjs.com/package/bpmn-engine
GitHub: github.com/paed01/bpmn-engine
Лицензия: MIT
Загрузок в неделю: ~712

bpmn-engine — это движок выполнения BPMN 2.0 процессов, написанный на чистом JavaScript (Node.js). Позволяет загружать BPMN-диаграммы и исполнять их в вашем приложении .

Ключевые особенности:

  • BPMN 2.0 совместимость — поддержка основных элементов (tasks, gateways, events)
  • Событийно-ориентированная архитектура
  • Кастомные обработчики для сервисных задач
  • Работа в Node.js — подходит для бэкенда и серверного JavaScript

Пример использования:

const Engine = require('bpmn-engine');

const engine = new Engine({
  source: 'process.bpmn'
});

engine.execute((err, instance) => {
  instance.on('activity.wait', (activity) => {
    console.log('Ожидание выполнения:', activity.id);
  });
});

Для кого: Разработчики, которым нужен серверный BPM-движок на JavaScript/Node.js.


7. JointJS — библиотека для визуализации диаграмм (с BPMN-шаблонами)

Сайт: jointjs.com
GitHub: github.com/clientIO/joint
Лицензия: JointJS — Mozilla Public License 2.0 (open-source версия), JointJS+ — коммерческая

JointJS — мощная библиотека для создания интерактивных диаграмм. Включает готовые BPMN-шаблоны (shapes), которые позволяют быстро реализовать BPMN-редактор .

Ключевые особенности (open-source версия):

  • BPMN-фигуры — готовые визуальные элементы для моделирования процессов
  • Совместимость с React, Vue, Angular
  • Drag-and-drop, undo/redo, масштабирование из коробки

⚠️ Важно: Полноценный BPMN-редактор с палитрой элементов, инспектором свойств и продвинутыми функциями доступен в коммерческой версии JointJS+. Open-source версия даёт базовые возможности для создания кастомных диаграмм.

Для кого: Разработчики, которым нужен гибкий инструмент для визуализации BPMN в веб-приложении.


8. Imixs-Workflow — платформа с low-code JavaScript формами

Сайт: imixs.org
GitHub: github.com/imixs/imixs-workflow
Лицензия: GPL (с коммерческими опциями)

Imixs-Workflow — это платформа, сочетающая BPMN-движок на Java и JavaScript-фреймворк Imixs-Forms для low-code разработки интерфейсов .

Ключевые особенности:

  • Imixs-Forms — JavaScript-фреймворк для создания workflow-приложений без кода
  • Событийно-ориентированное BPMN моделирование
  • Готовая интеграция между формами и процессами
  • REST API для доступа из любых приложений

Для кого: Веб-разработчики, которым нужна быстрая сборка UI для BPMN-процессов.


Сравнительная таблица

Решение Тип Лицензия BPMN JS-интерфейс No-code / Low-code
codbex Полная платформа Open Source BPMN 2.0 Генерация JS/TS кода Low-code редакторы
CIB seven BPM-платформа + UI Apache 2.0 BPMN 2.0, DMN Vue 3, REST API Low-code формы
Operaton Встраиваемый BPM-движок Apache 2.0 BPMN 2.0 REST API Нет
IBM PAM OE BPM-платформа Open Source BPMN 2.0, DMN VS Code, Kogito UI Генерация форм
bpmn-js Визуальная библиотека MIT Визуализация React/Vue/Angular Для встраивания
bpmn-engine JS-движок выполнения MIT Исполнение Node.js Для встраивания
JointJS Диаграммная библиотека MPL 2.0 Фигуры BPMN React/Vue/Angular Для встраивания
Imixs-Workflow Платформа + JS-фреймворк GPL BPMN 2.0 Imixs-Forms Low-code формы

Как выбрать?

  1. Если нужна готовая платформа для предприятияcodbex (современная, генерация JS-кода) или CIB seven (стабильная, Apache 2.0, подходит для госсектора).

  2. Если нужно встроить BPMN-редактор в веб-приложениеbpmn-js (стандарт де-факто) или JointJS (если нужны более гибкие визуальные возможности).

  3. Если нужен серверный BPMN-движок на JavaScriptbpmn-engine (единственный зрелый open-source вариант в npm-экосистеме).

  4. Если Java-стек с возможностью low-codeOperaton (легковесный, встраиваемый) или IBM PAM OE (мощный, cloud-native).

Все перечисленные решения являются открытыми, что даёт вам свободу от vendor lock-in и возможность адаптировать их под свои задачи.