java自定义流工作流引擎

p1iqtdky  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(509)

我试图为用户提供一种方法,以生成自己的工作流作为系统的一部分。这些工作流程将是订单将根据客户要求采用的自定义路径。例如:如果客户要求我们签署一套条款和条件,除非已上传t&c文件,否则订单将无法获得批准。
我一直在研究如何在前端使用bpmnjs,并在每次与工作流相关的更改时执行输出bpmn2.0文件(即在本例中上载文档时挂接),但看起来用户无法使用现成的库选择实际的系统功能。我应该试着扩展那个图书馆吗?还是有什么我可以用的?
我也在考虑使用camunda,但最好不要期望用户使用第二个应用程序。

jei2mxaa

jei2mxaa1#

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

相关问题