BPM Developers
489 subscribers
45 photos
22 videos
1 file
71 links
Канал для BPM разработчиков. Чат для обсуждения @bpm_developers_chat
Download Telegram
⚙️ Когда Camunda захлебнулась: реальный кейс перегрузки 700 000 процессов

В T-Банке разработали сервис на Camunda BPM, обрабатывающий обновление клиентских данных. Обычно он справлялся с ~50 000 процессов в день без проблем. Однако всё изменилось, когда Kafka-топик получил 700 000 событий с высокой скоростью. В результате в базе оказалось более 500 000 активных процессов, и начались серьёзные проблемы:

🔹Пятикратное снижение скорости обработки из-за перегрузки таблицы act_ru_job.

🔹Процессы зависали на часы, активируя таймеры, не рассчитанные на такие задержки.

🔹Критичные процессы блокировались менее важными из-за отсутствия приоритетов.

🔹Массовое управление процессами стало невозможным — админка и API не справлялись.

🔹Даже приостановленные процессы держали нагрузку на CPU базы на уровне 60%.

Этот случай стал для разработчиков уроком:
Camunda не всегда справляется с экстремальными нагрузками. В статье подробно рассказано, как разработчики столкнулись с этими проблемами и какие выводы сделали.

📖 Читайте полный разбор на Хабре:
Camunda и Kafka: не откусывай больше, чем можешь проглотить
🔥14👍4
Главный бич процессов, интенсивно работающих с базой данных это Optimistic Lock Exception.
Но с этой заразой легко разделается кролик - обновляем данные через очереди и вуаля!

Rabbit of Caerbannog - просто зверь! (Фанаты Монти Пайтон поняли, о чем я)
😁8👍2
Forwarded from OpenBPM
📣 Вебинар: Как сделать удобнее разработку BPM приложений в IntelliJ IDEA

🗓 Дата: 3 июня
🕓 Время: 16:00 МСК

Присоединяйтесь к вебинару, где мы покажем OpenBPM Studio — новый бесплатный плагин для разработки процессных приложений на Camunda.

👨‍💻 Спикеры:

- Никита Щиенко, Tech Lead, OpenBPM - рассказывает про плагин.
- Павел Кислов, Devrel, Amplicode, эксперт русскоязычного Spring Framework комьюнити - задает каверзные вопросы.

🔗 Регистрация
👍13
Продолжаем серию переводов статей Бернда Рюкера, соучредителя и главного технолога Camunda.

Понятно, что BPM-движок это не сферический конь в вакууме.
Он должен быть вписан в корпоративный ландшафт, интегрирован с вашими приложениями.

В этой статье рассказывается о разных способах, как это можно сделать:
https://habr.com/ru/articles/913060/
🔥10
🎛 Как в Ростелеком-Солар встроили Camunda BPM в IdM и перестали страдать

В корпоративных системах управления доступом (IdM) бизнес-логика постоянно меняется. Сегодня нужно блокировать учётку при увольнении, а завтра — сохранить её, если сотрудника переводят. Один заказчик просит отключать доступ при отпуске, другой — просто слать уведомление. Везде — нюансы, исключения, «а можно по-другому?».

До недавнего времени решали это жёстко: кодом. Результат — костыли, ветвления, баги и боль. Но однажды сказали: «Хватит», и внедрили в IdM визуальный движок бизнес-процессов — Camunda BPM.

Что из этого вышло:
— Процессы стали настраиваемыми без перекомпиляции;
— Бизнес-логика теперь моделируется аналитиками;
— Упрощена отладка и поддержка;
— Гибкость без потери контроля.

Под катом — технические детали: как подключили Camunda, на что наткнулись, и что стоит учесть. Если вы пишете системы, где правила постоянно меняются — вам точно пригодится.

📖 Читать статью: habr.com/ru/companies/solarsecurity/articles/726774

#полезное
👏8
Аналитики и разработчики видят BPMN по-разному.

Аналитик:
🔹BPMN — описание, как все работает
🔹Главное — чтоб было понятно людям
🔹Если непонятно, больше комментариев
🔹User Task – человек принимает решение
🔹Service Task — что-то делается само
🔹События — они просто происходят
🔹Транзакции? Что это?

Разработчик:
🔸BPMN — это код, он должен выполняться
🔸Все параметры должны быть заданы, иначе движок это не примет
🔸Комментарии игнорируем
🔸User Task — форма с полями и кнопками
🔸Service Task — это вызываемый код
🔸События выполняются программно
🔸Процесс выполняется по транзакциям
🔥12🤔2
🎉В восьмой раз прошел конкурс «BPM-проект года», на который было представлено 70 проектов, из них 15 прошли в финал.

Ну что же, есть на кого равняться!💪
Смотрим описания проектов, изучаем лучшие практики, перенимаем опыт!

И одна важная мысль с полей итоговой конференции:

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

Впредь будут побеждать проекты, где процессы не только описаны, но и реализованы в системе. А это значит, что для BPM-разработчиков работы непочатый край!

Проекты победителей смотреть тут🔗
👍6❤‍🔥2
Forwarded from Stas Makarov
🚀 От пилота к полному масштабу: как внедрить Camunda в компании

📖На Хабре опубликован перевод статьи Бернда Рюкера, сооснователя Camunda, — это гайд для разработчиков и архитекторов BPM, которые хотят масштабировать автоматизацию процессов.

🔹 Чем это полезно?
- Практические шаги от первых проектов до сотен процессов.
- Реальные кейсы (Goldman Sachs, Societe Generale).
- Ошибки, которых стоит избегать (например, ранние платформенные инициативы).
- Гибкие подходы вместо «аналитического паралича».

🔹 Ключевые идеи:
1. Начинайте с малого — пилотный проект даст реальный опыт.
2. Избегайте платформенных ловушек — сначала добейтесь ценности в проектах.
3. Создайте Центр Компетенций — для обмена знаниями и поддержки команд.
4. Децентрализация лучше — микросервисы и независимые движки работают эффективнее.


👉 Для кого: разработчики BPM, архитекторы, тимлиды.

#Camunda #BPM #АвтоматизацияПроцессов

[Читать статью]
❤‍🔥6👍4
🚀 Как Леруа Мерлен управляет распределёнными транзакциями с Camunda

В Леруа Мерлен микросервисы — основа IT-ландшафта. Но как согласованно менять данные в разных сервисах, если у каждого своя БД? Решение — оркестрация с Camunda.

🔹 Проблема
Логистические данные (размеры коробок, вес, укладка) нужны в разных процессах:
- Планирование склада
- Доставка от поставщика
- Расчет себестоимости

Но данные разбросаны по микросервисам, и классические ACID-транзакции не работают.

🔹 Решение: саги + Camunda
Вместо ACID — паттерн саги (оркестрация или хореография). Camunda выступает оркестратором, гарантируя согласованность данных через BPMN-процессы.

Как это работает?
1. Запуск процесса:
- Через HTTP (асинхронно) или Java-код (синхронно).
- Для Node.js и других языков — External Tasks (обработка через long-polling).

2. Обработка ошибок:
- Компенсации — если один шаг провалился, откатываем предыдущие.
- Retry-политики — автоматические повторы при временных сбоях.

3. Мониторинг завершения:
- Опрос статуса или Redis-нотификации.

🔹 Почему Camunda?
Гибкость: поддержка и Java, и других языков (через External Tasks).
Надёжность: сохранение состояния в БД (Postgres).
Масштабируемость: независимое развертывание оркестратора.

🔹 Альтернатива: Zeebe
Новый оркестратор от Camunda — лучше масштабируется, работает через gRPC, но пока менее зрелый.

📌 Вывод: Camunda — мощный инструмент для оркестрации микросервисов, особенно там, где критична согласованность данных.

#Camunda #Микросервисы #РаспределенныеТранзакции

📚[Читать статью]
8👍3
Изначально BPMN-модели рисуют аналитики.

Потом разработчикам им надо как-то получить.

И это не всегда просто.
Почта, мессенджеры - вчерашний день.
Нужно что-то более технологичное.

Как в Jmix BPM - через интеграцию со Storm'ом
7👍3😁2
Stotm+Jmix-for-analyst-and-developer.pdf
2.7 MB
Чтобы создать автоматизированный процесс, аналитики и разработчики должны выступать сообща.

Но они используют разные инструменты, что создает барьеры в коммуникации.

Однако, его можно преодолеть благодаря интеграции Storm и Jmix BPM.

Смотрите подробнее в презентации Станислава Макарова на итоговой конференции конкурса "BPM-проект года"
🔥9
🇷🇺 Российский BPM-движок: преемник Camunda 7

Команда OpenBPM представила новый BPM-движок, совместимый с Camunda 7, — с открытым кодом, промышленной зрелостью и официальным статусом российского ПО.
Это ответ на вызовы импортозамещения и одновременно — шаг вперёд по функциональности.

🔧 Зачем он нужен?

Camunda 7 — один из самых популярных движков в мире. Но Camunda 8 — это уже совсем другая архитектура, и прямой миграции не предусмотрено. Более того, Camunda 7 объявлена устаревшей — поддержка заканчивается в октябре 2025.

📌 Совместимость с Camunda 7
Сохраняются REST API, структура моделей и сценарии исполнения — команды могут мигрировать без потерь и сохранить существующие наработки.

📌 А также:
✔️ Совместимость с актуальными JDK и реляционными СУБД
✔️ Неограниченное число процессов, задач, исполнителей
✔️ Учет требований 187-ФЗ, указов №166 и №250, положения ЦБ №787-П
✔️ Включение в реестр МинЦифры и наличие свидетельств Роспатента

🛠 Преимущества архитектуры:
— Единый центр управления для нескольких версий и инсталляций
— Расширенная телеметрия и тепловые карты процессов
— Совместимость с отечественным ПО и поддержка DevOps
— Инструменты для анализа кода, безопасности и лицензий
— Постоянное обновление зависимостей и борьба с CVE

📈 Почему не Camunda 8?
Camunda 8 ориентирована на highload и масштабируемость, но требует серьёзных изменений архитектуры приложений и платной лицензии. В большинстве кейсов Camunda 7 остаётся более чем достаточной, особенно с правильной конфигурацией.

🚀 Мы не клонируем — мы развиваем
Движок не только повторяет возможности Camunda, но и предлагает новые функции, расширяя инструменты продуктивности и мониторинга.

📦 Входит в состав платформы OpenBPM от компании Хоулмонт и может использоваться как самостоятельный продукт или как основа для решений в КИИ.

➡️ OpenBPM даёт возможность строить цифровые процессы на отечественной платформе — без ограничений для разработчиков и без зависимости от зарубежных вендоров.

Подробнее см. по ссылке🔗
🔥11👍85
🎉 Мы начинаем холивар! Присоединяйтесь!
🧩 Less code vs Low-code: почему “меньше кода” — не всегда лучше

Многие разработчики искренне не любят low-code. Забавно, ведь в работе они активно используют всё, что избавляет от рутины: библиотеки, фреймворки, автогенерацию кода, умные IDE. Всё это минимизирует объём ручного кода — но не отменяет его вовсе.

На самом деле, кода не должно быть меньше: сложные вещи не опишешь парой строк. Просто хочется не тратить время на шаблонные фрагменты. Поэтому эволюция разработки шла от библиотек к фреймворкам, от автогенерации кода к AI-ассистентам. Современные инструменты позволяют писать меньше кода, но думать больше — именно это и есть честный “less code”.

Low-code же обещает, что код вообще не нужен. Но за простотой скрывается ограниченность: как только задача выходит за рамки конструктора, начинается борьба с платформой, а не создание решения. Настоящий прогресс — не в иллюзии “код не нужен”, а в том, чтобы избавляться от рутины, сохраняя контроль.

Less code — это про экономию усилий, повышение абстракции и честную сделку: ты всё ещё программист, просто работаешь быстрее и умнее.

📚Читайте на Хабре новую статью Станислава Макарова
Семь иллюзий Low code

#статья
🔥123
.
🚀 Camunda как REST-движок для оркестрации — без Java!

Бернд Рюкер, сооснователь и главный технолог Camunda, рассказывает как использовать его движок, написанный на Java, но совсем без Java!

Микросервисы, workflow, Saga-паттерны, обработка таймаутов — всё это можно легко реализовать на Camunda, даже если вы не работаете с Java.

🔹 Как? Через REST API — пишите код на C#, JavaScript или любом другом языке.

🔹 Что внутри?

- Запуск Camunda в Docker за 1 команду

- Деплой процессов BPMN

- Взаимодействие через External Tasks

- Готовые клиентские библиотеки для JS, C#, PHP

Почему Camunda?

Гибкость: оркестрация без привязки к языку

Надёжность: встроенные механизмы компенсаций и повторов

Масштабируемость: распределённые воркеры

👉 Полный гайд: Читать статью на Хабре📚

#Camunda #Workflow #Microservices #DevOps #REST #NodeJS #CSharp
🔥10
🚀 Как Fix Price автоматизировал бизнес-процессы с помощью Camunda

Вадим Райский, руководитель IT-проектов в Fix Price, делится кейсом внедрения Camunda для оптимизации работы с заявками на строительство и ремонт магазинов.

Проблема

Ручное управление бизнес-процессами стало слишком затратным и негибким:

🔹 Сложность масштабирования из-за растущего количества условий и ролей.
🔹 Необходимость переписывать код при каждом изменении процесса.
🔹 Отсутствие наглядной схемы для аналитиков и разработчиков.

Решение: Camunda

Выбрали BPM-движок Camunda, но не стали использовать его «из коробки» — только ядро для управления процессами. Остальное (формы, авторизацию, DMN-таблицы) вынесли в бэкенд на PHP.

Как это работает:

External Tasks — задачи обрабатываются через REST API.
UserTaskModel — задачи пользователей хранятся в БД бэкенда, а не в Camunda.
Гибкие условия — ветвления процессов управляются вызовами к бэкенду.

Итоги
Гибкость — изменения процессов без переписывания кода.
Прозрачность — визуализация BPMN-схем для всей команды.
Масштабируемость — готовность к усложнению процессов.

Минусы Camunda:
🔻 Сложность настройки.
🔻 Зависимость от IT-специалистов.
🔻 Ограничения бесплатной версии.

👉 Вывод: Camunda — мощный инструмент, но требует кастомизации под конкретные нужды.

📌 Полный разбор — в статье на Хабре!

#Automation #BPM #Camunda #FixPrice #IT
👍12
Разработка UI - не основной скилл BPM-разработчика. Но иногда хочется сделать красиво😃
🤣12
🌊 Бизнес-процессы на волне!

3 июля в 16:00 МСК погружаемся в BPM вместе со Стасом Макаровым (да-да, тем самым продуктовым аналитиком Jmix в легендарной красной шапке 😉). Даже наш лендинг как путеводитель по течениям автоматизации: проложим маршрут по бизнес-процессам, минуя айсберги ручной работы и мели хаотичного таск-менеджмента 🗺 🤝

План вебинара:

1️⃣ Как создавать процессы с участием людей.
2️⃣ Все тонкости назначения исполнителей.
3️⃣ Настройка форм.
4️⃣ Как улучшить таск-лист для пользователей.

Регистрация на вебинар

🚢 Корабль уже в порту - скоро отплываем!
🔥11
🆕 Что нового в DMN 1.6?

OMG опубликовала бета-версию стандарта DMN 1.6 — и там есть интересные обновления:

🔹 B‑FEEL — “бизнес-дружественный” FEEL
Теперь выражения не валятся из-за null — вместо исключений возвращаются безопасные значения: false, 0, "" и т.п. Это снижает хрупкость моделей. Строгий режим тоже обсуждается — его можно будет включить при необходимости.

🔹 Поддержка импорта/экспорта в формате DMN 1.6 XML
Новые функции: descendant, улучшения для дат/времени, расширенная поддержка таймзон и округлений.

🔹 Улучшен обмен диаграммами (DI)
Теперь визуальное представление модели будет одинаковым во всех инструментах.

🔹 Новые фичи в процессе
Ожидаются: перечислимые типы, улучшения циклов и новые хелперы вроде default(value, fallback).

🧩 Если коротко: DMN становится удобнее, безопаснее и ближе к нуждам бизнеса.
B‑FEEL — главное новшество для повседневного моделирования.

📚Подробнее читайте на сайте OMG

#стандарты
👍6🔥2
🚀 Что происходит, когда у Flowable заканчиваются попытки выполнить задание?

Ваши процессы зависли из-за ошибок?
Узнайте, как Flowable обрабатывает проваленные задания и как их можно «воскресить»:

🔹 Dead Letter Table — куда попадают «умершие» задания
🔹 Два способа реанимации: программный через API и ручной через Flowable Admin
🔹 Практические кейсы: когда стоит повторять выполнение, а когда — удалять задание

Совет от экспертов:
> «Для сетевых сбоев автоматизируйте возврат заданий. Для багов в коде — сначала фиксите ошибку!»

👉 Читайте продолжение истории про асинхронный флаг → [ссылка]

#Flowable #BPM #ErrorHandling #Java #DevOps
👍11