mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-28 11:30:42 +00:00
Create a_bpmn_1.md
This commit is contained in:
parent
530a7843e6
commit
dad6396a8a
1 changed files with 221 additions and 0 deletions
221
IT/programming/visual_programming_js/a_bpmn_1.md
Normal file
221
IT/programming/visual_programming_js/a_bpmn_1.md
Normal 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 и возможность адаптировать их под свои задачи.
|
||||
Loading…
Add table
Add a link
Reference in a new issue