以业务流程将由流程引擎驱动的方式设计您的应用程序。当一个流程被启动时,它会启动一个流程实例。从那里,流程引擎(嵌入在您现有的 Java 应用程序或独立的后端服务中)确定是否需要评估业务规则 (DMN)(是否存在所有必需的数据和批准?),是否需要调用服务(调用您的 java直接代码)、自动化(外部任务模式)或用户任务需要由技术人员(任何语言)或人工流程参与者(基于引擎确定的分配)完成。
如果涉及到人,UI/客户端会在流程引擎中查询待处理的用户任务,并在人执行任务时更新这些任务。
流程引擎将根据对基于 BPMN2 标准的流程模型的解释(不生成代码)来确定接下来的步骤。ootb 提供了这些版本的版本控制。新启动的流程会在最新版本上自动启动,而正在运行的流程实例会在它们启动的版本上继续其生命周期(除非它们被迁移)。
如果用户在设计时需要访问专用的建模环境,这通常不是问题。他们只是不应该在运行时使用两个应用程序。无论如何,通过您提到的 BPMN-js 库,也可以轻松地将建模部分集成到同一个应用程序中。
“系统功能的选择”是通过选择实现类型并设置相应的属性来完成的。BPMN-JS 库在这方面是通用的。看看这是如何在 Camunda Modeler ( https://camunda.com/products/camunda-bpm/modeler/ ) 中完成的:
Java:https ://docs.camunda.org/get-started/java-process-app/service-task/
春天:https ://docs.camunda.org/get-started/spring/service-task/
外部:https://docs.camunda.org/manual/latest/user-guide/process-engine/external-tasks/