我想知道使用zeeebe作为微服务编排器,所以我有一些问题…在我的情况下,我想成为工作流引擎(微服务编排器)与其他一些微服务,如(支付,存储…)所以关于我的前端,让我说我将使用角,我注意到,zeebe只提供GRPC api,如何使用rest与角兼容?那么身份验证/授权呢?我可以使用zeeebe本身(如camunda),或者我应该为它开发一个单独的微服务(或使用像keycloak之类的东西),以及如何使用?谢谢所有的
我已经寻找了许多解决方案,但对我来说一切似乎都是模糊的
您可以使用不同语言(包括JavaScript)的客户端库来访问Camunda api。下面是一个列表:https://docs.camunda.io/docs/apis-clients/working-with-apis-clients/
例如,在后端使用java客户端,你可以向你的(Angular)前端公开一个REST服务来启动你的进程,如下所示:
@IsAuthenticated
@PostMapping("/{bpmnProcessId}/start")
public void startProcessInstance(
@PathVariable String bpmnProcessId, @RequestBody Map<String, Object> variables) {
LOG.info("Starting process `" + bpmnProcessId + "` with variables: " + variables);
zeebe
.newCreateInstanceCommand()
.bpmnProcessId(bpmnProcessId)
.latestVersion()
.variables(variables)
.send();
}
在没有graphQL的情况下使用任务API,存在另一个客户端库。例如:https://github.com/camunda-community-hub/camunda-8-lowcode-ui-template/blob/main/src/main/java/org/example/camunda/process/solution/facade/TaskController.java
您可以在这里找到完整的示例应用程序(使用React,但概念相同):https://github.com/camunda-community-hub/camunda-8-lowcode-ui-template/tree/main/src/main/java/org/example/camunda/process/solution/facade