对于一个小项目,我需要创建一个简单的批准工作流程。基本上,只需单击一个按钮,应用程序就会转到下一个批准者。问题是如何在没有在JAVA中编写任何可能的场景的情况下实现这一点。我的想法是拥有一个数据库表,其中一个描述工作流场景,JAVA代码查找此表的后续步骤。但我无法考虑细节,表格结构等。所以底线是尽可能多地使用配置。
答案 0 :(得分:0)
您在寻找什么,是一种以人为本的工作流引擎。正如您已经注意到的那样,实践中的可能情况可能是多方面的。原因是可以有
问题是数据结构如何描述所有这些场景?这里的答案是OMG standard BPMN 2.0。这是描述工作流程的描述性方法。 BPMN文件是简单的XML,可以使用Eclipse BPMN等建模工具进行可视化。
如果您存储这种XML(例如,只是存储到您的文件系统中),那么您可以编写一个引擎来解析此模型并以适当的方式做出反应。 有基于BPMN的工作流引擎,也可用作开源项目。 看一下Imixs-Workflow project,它提供了一个专注于以人为中心的wokflow的开源工作流引擎。 以人为中心的工作流引擎会回答您在要求中提到的问题,例如:
但实现工作流引擎也不容易。最后,您需要一个XML解析器来回答问题'下一个任务是什么?'。