## 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](https://www.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](https://cibseven.org) **GitHub:** [github.com/cibseven/cibseven](https://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](https://operaton.org) **GitHub:** [github.com/operaton/operaton](https://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](https://www.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](https://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** (независимость от фреймворков) - **Расширяемость** — возможность добавлять кастомные элементы и поведение **Пример использования:** ```javascript 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](https://www.npmjs.com/package/bpmn-engine) **GitHub:** [github.com/paed01/bpmn-engine](https://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 **Пример использования:** ```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](https://www.jointjs.com) **GitHub:** [github.com/clientIO/joint](https://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](https://www.imixs.org) **GitHub:** [github.com/imixs/imixs-workflow](https://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-движок на JavaScript** → **bpmn-engine** (единственный зрелый open-source вариант в npm-экосистеме). 4. **Если Java-стек с возможностью low-code** → **Operaton** (легковесный, встраиваемый) или **IBM PAM OE** (мощный, cloud-native). Все перечисленные решения являются открытыми, что даёт вам свободу от vendor lock-in и возможность адаптировать их под свои задачи.