Size: a a a

Camunda BPM Group

2018 December 20

RT

Ruslan Tagirov in Camunda BPM Group
условно, распарсить ответ REST-сервиса, установить какие-то переменные в процессе, какие-то базовые проверки сделать и т.п.
источник

RT

Ruslan Tagirov in Camunda BPM Group
ну вот условно:
execution.setVariable('status', "Ошибка отправки заявки");

// установка кода внешнего статуса для События = "ошибка"
execution.setVariable('eventStatusId', "99");
execution.createIncident("REST Error", execution.getProcessInstanceId(), status);
источник

SN

Sergey Novikov in Camunda BPM Group
Да это можно. Но отладка и переделка это ооочень много проблем. Такая не очень полезная фишка в камунде
источник

RT

Ruslan Tagirov in Camunda BPM Group
ну тут речь идет скорее о разработке некотоых "скелетов" БП с базовой логикой
далее уже решается, нужно ли обогащать таск джава-делегатом или достаточно нескольких строк несложного кода
источник

RT

Ruslan Tagirov in Camunda BPM Group
в общем понятно, придется дальше делать скрипты внешним инструментом
источник

AK

Artem Kuraev in Camunda BPM Group
У вас камунда парсит ответы рест сервиса? Не надо так Оо
источник

AK

Artem Kuraev in Camunda BPM Group
Поменялся рест-сервис и привет процессу
источник

RT

Ruslan Tagirov in Camunda BPM Group
нет, ответы парсит джава-делегат
источник

AK

Artem Kuraev in Camunda BPM Group
Ааа
источник

RT

Ruslan Tagirov in Camunda BPM Group
если ответ невалидный, в процесс вернется BPMNError
источник

RT

Ruslan Tagirov in Camunda BPM Group
если сервис поменяется, то в любом случае "привет процессу", если только в процессе не реализована ветка "ошибка ответа"
источник

RT

Ruslan Tagirov in Camunda BPM Group
ты хоть на Camel, хоть на чем пиши обработку ответов, если "та сторона" внезапно решила поменять сигнатуру - ну привет

у нас сделано сейчас так, что камунда с внешним миром общается через джава-делегат, который в свою очередь общается только с маршрутами Camel
источник

RT

Ruslan Tagirov in Camunda BPM Group
в Camel в этом случае можно попытаться в сторону камунды держать какой-то более-менее постоянный API, а в сторону других систем - ну реагировать на изменения
источник

SM

Stanislav Minaev in Camunda BPM Group
а не проще через external task во внешние сервисы ходить? Или для вашей ситуации требования не позволяют?
источник

RT

Ruslan Tagirov in Camunda BPM Group
не хотели писать воркер для обработки внешних тасков, хотя это обсуждали
источник

AS

Aleksei Sheifler in Camunda BPM Group
Artem Kuraev
Поменялся рест-сервис и привет процессу
А как же тесты?
источник

SM

Stanislav Minaev in Camunda BPM Group
а в чем причины? Их сильно проще масштабировать, камунда внезапно под нагрузкой не умрет и т.п.
источник

RT

Ruslan Tagirov in Camunda BPM Group
мы пошли по пути "все что можно сделать синхронно - делай синхронно"
а если время ответа предсказуемо большое - то асинхронный джава делегат тоже есть
источник

AS

Aleksei Sheifler in Camunda BPM Group
Мне наоборот все больше нравится Spin и гибкие модели в процессе. Обычно из всей модели тебе нужны то пару полей, а что там другое поменяют все равно
источник

RT

Ruslan Tagirov in Camunda BPM Group
Stanislav Minaev
а в чем причины? Их сильно проще масштабировать, камунда внезапно под нагрузкой не умрет и т.п.
ну значит придется еще поддерживать отдельный "движок" для работы с внешними тасками и проч.
источник