JWFDv0.96 工作流-嵌入公式逻辑结构说明
### JWFDv0.96工作流引擎设计与嵌入公式逻辑结构详解 #### 总体设计思路 JWFDv0.96工作流引擎的设计重点在于如何通过嵌入公式(或称脚本)来控制流程的走向。在实际应用中,流程引擎需要根据这些嵌入公式的运行结果来决定流程的后续步骤。为了实现这一点,JWFDv0.96采用了“提前计算”的策略。具体来说,在流程流转到某个节点之前,就已经通过启动脚本引擎并运行相应的脚本来获取控制流程走向所需的关键参数,并将其存储在参数表中,以便流程引擎能够及时地读取并利用这些参数来决定流程的下一步动作。 #### 嵌入公式的使用与结构说明 嵌入公式是在工作流中的各个节点上设置的一段脚本代码,用于控制流程的动态行为。用户可以在JWFDv0.96的工作流设计器中,通过节点属性编辑器编写这些公式。这些公式会被保存在数据库的节点表`step_main`中的`cond`字段内。具体步骤如下: 1. **编写公式**:用户在工作流设计器中选择一个节点,然后点击鼠标右键选择“增加节点属性”,并在弹出的编辑器中输入嵌入表达式。 2. **保存公式**:编辑完成后的公式会自动保存到当前节点的属性中,并且可以在流程定义的XML文件中查看。用户可以通过流程图的XML编辑窗口确认公式是否已正确保存。 3. **公式存储**:当用户提交流程定义时,这些嵌入公式的数据将被保存至数据库中的`step_main`表的`cond`字段。 #### 嵌入公式的二次开发使用说明 对于开发者而言,除了基本的嵌入公式使用外,还需要了解如何在代码层面实现嵌入公式的计算与控制流程走向的功能。 1. **获取嵌入公式**:首先需要通过调用`org.jwfd.workflowDesigner.UItools.Database.mysql.FlowsSqlControlModule`类中的`get_condition()`方法来获取指定节点的嵌入公式。此方法接收节点ID作为参数,并返回节点的`cond`字段中的公式数据。 2. **解析公式**:接下来,通过调用`org.jwfd.workflowEngines.GrammarAnalysis.GrammarInterface`类中的`ScriptAnalysis(String str)`方法来解析并计算获取到的嵌入公式。目前该方法将计算结果直接输出到屏幕上,但可以修改该方法使其返回计算结果的字符串形式。 3. **控制流程走向**:需要在`org.jwfd.workflowEngines.Algorithm.TopologyAnalysis`类中的`SAN(java.util.ArrayList ln, String graphid, String prestep)`方法中根据计算结果来调整流程的走向。`SAN`方法是流程引擎的核心控制逻辑,它基于DSF算法进行图形拓扑遍历来决定流程的下一步动作。具体地,可以根据公式计算的结果来动态地改变流程的路径。 #### 总结 JWFDv0.96工作流引擎通过“提前计算”的方式有效地解决了嵌入公式的实时计算问题,确保了流程能够根据动态条件灵活调整走向。此外,对于开发人员来说,通过上述步骤可以实现对嵌入公式的二次开发,从而更好地满足业务需求。整体设计体现了灵活性和扩展性,能够适应不同场景下的工作流管理需求。
剩余6页未读,继续阅读
- 粉丝: 65
- 资源: 118
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助