我开始使用camunda开发我的流程,我有一个简单的问题,询问如何远程管理不同类型的任务。首先,让我解释一下我的情景:
我有两个主要群体:会计师和客户。客户端只能在我的系统中看到他们自己的仪表板,会计师在他们的系统中拥有关于客户端的所有信息,这些信息具有简单的任务列表。现在,我不想为用户提供另一个界面。
解释一下我的情景后,让我们回到我的问题:
使用camunda,如果这是一个用户任务,我可以收集实际任务,创建变量,将值设置到它们中,将任务分配给特定用户,解决它们并且一切听起来都不错。
当我需要使用服务任务时,我必须采取相反的方式:camunda应用程序需要使用一些REST或SOAP命令将请求发送到我的应用程序中。
当我使用零代码BPMS并且需要在应用程序中自动执行某些东西时,我理解这种方法,但是一旦这个应用程序是我的并且集成到BPMS,我就看不出为什么我不能管理服务任务而不是BPMS。
我想知道这个双向是否真的有必要,一旦我已经在我的应用程序中,将用户请求发送到camunda。我想知道通过PHP SDK控制服务任务是否更好。
我愿意发展一些东西,但我想听听你是否可行,以及之前的原因。
答案 0 :(得分:0)
实际上也无法通过PHP SDK控制服务任务。我们的服务任务是用java编写的,只能在引擎内控制。如果要使用与用户任务相同的方式,则需要使用中间消息捕获事件和deliverMessage服务的组合,如:
$camundaAPI = new \org\camunda\php\sdk\Api('http://localhost:8080/engine-rest');
$request = new \org\camunda\php\sdk\entity\request\MessageRequest();
$camundaAPI->message->deliverMessage($yourRequest);
服务参数可以在PHP SDK项目的api文档中找到(参见org \ camunda \ php \ sdk \ entity \ request \ MessageRequest) 或者在camunda BPM REST API文档(here)
中