gpt4 book ai didi

java - 使用数据库和JAVA创建简单的工作流引擎

转载 作者:太空宇宙 更新时间:2023-11-04 11:02:42 25 4
gpt4 key购买 nike

对于一个小项目,我需要创建一个简单的审批工作流程。基本上,只需单击一个按钮,申请就会转到下一个审批者。问题是如何在不使用 JAVA 编写任何可能场景的情况下实现这一目标。我的想法是拥有一个数据库表,其中描述工作流程场景和 JAVA 代码从该表查找后续步骤。但我无法考虑细节、表结构等。所以底线是尽可能多地使用配置。

最佳答案

您正在寻找的是一种以人为中心的工作流引擎。正如您已经注意到的,实践中可能出现的情况是多种多样的。原因是可以有

  • 顺序流
  • fork 和 fork
  • 也可以是循环或循环

问题是数据结构必须是什么样子才能描述所有这些场景?这里的答案是OMG standard BPMN 2.0 。这是描述工作流程的描述性方式。 BPMN 文件是简单的 XML,可以使用 Eclipse BPMN 等建模工具进行可视化。 .

如果您存储这种类型的 XML(例如,简单地存储到您的文件系统中),那么您可以编写一个解析该模型的引擎并以适当的方式使用react。有基于 BPMN 的工作流引擎可用,也作为开源项目。看看Imixs-Workflow project它提供了一个专注于以人为中心的工作流的开源工作流引擎。以人为本的工作流引擎可以回答您在需求中提到的问题,例如:

  • 谁是业务任务的所有者 => 路由
  • 谁有权访问和修改数据 => 安全性
  • 需要通知的人 => 消息传送

但是实现工作流引擎也并不容易。最后,您需要一个 XML 解析器来回答“下一个任务是什么?”的问题。

关于java - 使用数据库和JAVA创建简单的工作流引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com