Create a_bpmn_1.md

This commit is contained in:
Dmitry 2026-03-27 12:52:57 +03:00 committed by GitHub
parent 530a7843e6
commit dad6396a8a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,221 @@
## 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 и возможность адаптировать их под свои задачи.