Camunda BPM для начинающих разработчиков. 3. DMN и межпроцессное взаимодействие.
Вставка
- Опубліковано 6 лют 2025
- Интерфейсы Camunda BPM
REST API
DMN Engine и таблицы бизнес-правила
Обработка событий
Интерактивная игра "Камень-ножницы-бумага"
Примеры на GitHub:
github.com/Reu...
прикольный урок, спасибо автору. Жаль, больше нет материалов.
Спасибо за интересный образовательный материал.
у вас ошибка: вместо http метода PUT написано UPDATE
Добрый день, у меня вопрос касается приема запроса от второго игрока, может я где-то упустил, но где идет привязка у игрока1, что он сидит на вот этом url= demo2.reunico.com/engine-rest/message, на который свою ставку шлет второй игрок
Ростислав, добрый день! Этот адрес - URL Camunda REST API, обращаясь к нему, вы можете взаимодействовать с любым процессом, развернутым в данном процессном движке (как с Player1, так и Player2). Конкретный экземпляр процесса-получатель определяется при помощи комбинации: имя сообщения + business key. В некоторых случаях (например для старта процесса) business key не нужен, достаточно только имени сообщения (оно должно быть уникальным в рамках всех процессов). docs.camunda.org/manual/7.12/reference/bpmn20/events/message-events/#message-start-event
Почему на 15:03 count = 1?
Потому что так работает агрегатор count. Остальные три правила не удовлетворяют входному значению (age = 13).
Спасибо за видео! Есть ли возможность генерировать свой UI с помощью Camunda? Применяете ли вы такое в своей практике или используете camunda только для бизнес процессов без интерфейса?
Здравствуйте, Сергей! Camunda позволяет генерировать простые пользовательские формы для TaskList (docs.camunda.org/manual/7.6/user-guide/task-forms/#generated-task-forms). Иногда этого вполне достаточно для решения пользовательских задач.
@@Reunico Спасибо! Я видел данную документацию, но хотелось бы узнать реальный опыт использования. Целесообразно ли вообще генерировать формы через Camunda или лучше возлагать на нее задачи имено управления бизнесс процессами? Под генерацией UI я имею ввиду следующее: в зависимости от блока у пользователя будет доступна определенного вида форма . Я понимаю что все сделать реально, но вопрос в том применяют ли это в реальной практике? (вот здесь описал подробно проблему) stackoverflow.com/questions/55696029/how-to-control-of-ui-e-g-vaadin-through-camunda-or-flowable-bpms
@@Tpona Функционал по генерации форм в Camunda довольно бедноват, представлен в виде расширения (extension) нотации BPMN 2.0. На практике мы (в Реюнико) используем его в простых процессах, где не требуется сложной логики взаимодействия пользователя и интерфейса, нет добавляемых полей, валидаций etc. В более сложных случаях мы используем фронтальное решение собственной разработки, либо embedded forms. Есть также подход с использованием генератора форм form.io (пример: forum.camunda.org/t/form-builder-drag-and-drop-form-server-validations/1092). Все зависит от требований к конкретному решению.
@@Tpona Иначе говоря - если форма "сложная" (например, анкета клиента из сотен полей с перекрестными проверками, вложенными элементами, арифметическим контролем, валидацией) - лучше используйте ваш Vaadin. :) Если плоский HTML и достаточно 5-6 основных управляющих элементов и типов данных - то с этой задачей вполне справится и Camunda :)
@@sl.martyn спасибо большое!
что это за игра?
Здравствуйте! Подскажите пожалуйста с ошибкой ENGINE-22004 Unable to transform DMN resource 'game.dmn'. [ deploy-error ]
Здравствуйте! Какая у вас версия Camunda BPM, какая версия Modeler? Что выводится в консольный лог (файл catalina.out для Camunda Standalone) - там должен выводиться код ошибки с указанием на элемент в XML
@@Reunico День Добрый! Спасибо за ответ!
(не деплоеться не только эта таблица но и если я создаю новую простую та же ошибка , с bpmn все хорошо) деплой по адресу 127.0.0.1:8080/engine-rest
Camunda - v7.8.0 Modeler - v4.0.0
catalina.out не нашел catalina.log нашел
начало вывода о ошибке:
05-Jun-2020 11:37:42.384 WARNING [http-nio-8080-exec-9] org.camunda.bpm.engine.rest.exception.ProcessEngineExceptionHandler.toResponse org.camunda.bpm.engine.ProcessEngineException: ENGINE-22004 Unable to transform DMN resource 'game.dmn'.
может быть важно... вот такие есть "заглавия ошибок"
Caused by: org.camunda.bpm.dmn.engine.impl.transform.DmnTransformException: DMN-02003 Unable to transform decisions from input stream.
...
Caused by: org.camunda.bpm.model.dmn.DmnModelException: Unable to parse model
...
Caused by: org.camunda.bpm.model.xml.ModelParseException: SAXException while parsing input stream
...
Caused by: org.xml.sax.SAXException: Error: URI=null Line=2: cvc-elt.1: Cannot find the declaration of element 'definitions'.
...
@@АндрейДмитриевич-э8б в Modeler 4 версии нотация DMN 1.3 (поменялся формат XML), вам необходимо использовать Camunda BPM не ниже версии 7.13
blog.camunda.com/post/2020/06/camunda-modeler-4.0.0-released/
Camunda BPM Compatibility with DMN 1.3
DMN 1.3 diagrams created with Camunda Modeler v4.0.0 are compatible with the following versions of Camunda BPM: 7.13.0, 7.12.4, 7.11.11, 7.10.17 and above. Make sure to update your Camunda engine accordingly if you are using DMN 1.3.
18:43
зря смотрел