15 KiB
BPMN-JS
Cуществуют open-source конструкторы no-code/low-code для JavaScript, основанные на BPMN (Business Process Model and Notation). Эти инструменты можно разделить на две категории:
- Полноценные платформы BPM + low-code — комплексные решения с визуальным моделированием процессов, встроенными формами и возможностью расширения на JavaScript.
- Библиотеки и компоненты для встраивания — инструменты для создания собственного 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 формы |
Как выбрать?
-
Если нужна готовая платформа для предприятия → codbex (современная, генерация JS-кода) или CIB seven (стабильная, Apache 2.0, подходит для госсектора).
-
Если нужно встроить BPMN-редактор в веб-приложение → bpmn-js (стандарт де-факто) или JointJS (если нужны более гибкие визуальные возможности).
-
Если нужен серверный BPMN-движок на JavaScript → bpmn-engine (единственный зрелый open-source вариант в npm-экосистеме).
-
Если Java-стек с возможностью low-code → Operaton (легковесный, встраиваемый) или IBM PAM OE (мощный, cloud-native).
Все перечисленные решения являются открытыми, что даёт вам свободу от vendor lock-in и возможность адаптировать их под свои задачи.