Платформа бизнес-процессов
Системы очень похожие между собой.
Идеи Activiti и сам проект лежит в основе Camunda.
В мире Open-Source мы обратили вниманиена 2 популярных проекта:
Camunda просто лучше:
Что хочется:
Что есть:
кол-во одновременных запусков экземпляра в секунду
кол-во сохранений состояний экземпляров в секунду
кол-во сохранений переменных контекста в БД в секунду
Прирост производительности составляет +40 обработанных экземпляров в секунду.
При этом было запущено более 220 тыс. экземпляров процессов.
В которых было по 15 точек изменения состояния.
Современные игры не пойдут ...
А Camunda очень даже :)
Существует Центральный источник данных,
к которому могут иметь доступ несколько узлов, ответственных за выполнение процессов BPMN.
Схемы BPL предполагают простую последовательность.
При этом вся схема должна сойтись в одной точке. Что приводит к огромной вложенности, в случае сложно-подчиненных процессов.
Всегда есть одна точка старта.
Всегда есть одна точка конца.
позволяет декомпозировать процесс по действиям.
Обратите внимание, у нас появляется вторая точка запуска по событию !
Тогда его задам я. Действительно ли в одной схеме могут находится 2 и более разных процесса ?
Да. Это так :)
В одной схеме действительно могут находится разные процессы. Такие схемы называются Колаборацией ( Collaboration ).
Модель принятия решений (DMN) является отраслевым стандартом для моделирования и принятия решений, которые определяются бизнес правилами.
Зачем мне эти бизнес правила и модели ?
Я же все могу описать условиями внутри схемы !
Хороший вопрос.
Давайте разберемся на примере.
Мы пригласили гостей на ужин.
Вопрос в том, какое блюдо мы должны подготовить.
В этом примере, мы следуем очень простой логике решения: в зависимости от текущего сезона мы решаем блюдо.
Если это Осень, мы будем готовить Ребрышки.
Если Зима, Ростбиф и так далее.
Мы можем убрать все лишние условия в таблицу с бизнес-правилами
( Decide Dish ).
Получилось проще, не правда ли ?
Input - входящие параметры и условия, написанные на языке FEEL
Output - результаты выполнения условий. И поля куда эти условия будут записаны в контексте процесса.
Всегда есть "НО": Это достаточно трудоемко.
Приходится тратить достаточно времени.
Необходимо переопределять / менять большое кол-во кода. Нет единого места, есть куча разрозненных файлов.
Официально заявлена поддержка следующих:
ISC Cache в списке нет. Надеюсь, никто не расстроился :)
Для Camunda представлено большое кол-во поддерживаемых технологий в рамках дочерних подпроектов.
Изучить все возможности можно на GitHub проекта: https://github.com/camunda
Портал задач
Портал администратора
Портал мониторинга
Сильно напоминает Эталон, в миниатюре, не правда ли ?
Очень интересная часть веб-интерфейса.
Посмотрим подробнее.
Сам движок и вообще вся платформа распостраняется по лицензии Apache 2.0.
Которая никак не ограничивает использование продукта в своих целях.
Но и гарантии никто не дает.
( Есть и Enterprise-решение, которое включает поддержку )
Редактор распостраняется под собственной лицензией.
Он практически не ограничивает использование продукта.
Елинственное, что нельзя делать - убирать логотип со сссылкой проекта из нижнего правого угла.
Разработку лучше начать как можно скорее !
Так мы смогли бы получить решение с минимальной функциональностью уже через 2 месяца работы команды.
Можно по ссылке: https://camunda.com/bpmn/reference/
DMN Симулятор - https://camunda.com/dmn/simulator/
Проект редактора: https://github.com/bpmn-io/bpmn-js