web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇

本文介绍了一个典型的工作流管理系统架构,包括流程引擎、电子表单系统、流程设计器等关键组件及其相互作用方式。详细阐述了流程引擎如何通过事件接口、前置后置函数与表单集成,以及如何使用自定义条件函数来增强流程的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般工作流管理系统分为,流程引擎,电子表单系统(自定义表单),流程设计器,流程管理监控平台等主要模块。流程引擎和电子表单系统应该是弱耦合的,各自都能独立的完成功能。

 

同时流程引擎和电子表单都设计好接口事件等,便于相互集成或和其它系统的集成。

 

 

一、流程引擎的事件接口:

 

流程定义描述时候,步骤节点,动作节点,动作结果节点,均设置有前置后置事件函数;

当流程流转到这些节点时,会触发节点的前置事件函数;

当离开节点时,会触发后置事件;

 

注:但是流程引擎驱动电子表单不是用事件接口的方式来实现:流程引擎的动作节点中有个view属性,挂接表单的url,当流程运行到此动作节点时,即读出view属性的url,打开并运行此表单。此表单可以是eform自定义工具定义的表单,也可以是用户自主开发的jsp页面等。

 

 

节点的前置后置事件函数:

 

所有的前置后置函数都统一实现一个接口FunctionProvider

 FunctionProvider.java接口,只有一个方法execute,所有实现此接口的类,都需要实现这个方法。

 

public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException;

 

Map transientVars:流程上下文信息可以从此map中获得;

Map args :节点定义时候的参数可以从此map中获得;

PropertySet ps:流程实例中的持久化变量从此获得。

 

 

条件节点的判断函数接口:

流程引擎的动作结果中可以定义条件,工作流引擎定义了一些内置的条件判断,也可以通过实现Condition.java接口,扩展出一些自定义的条件判断函数。

 

Condition.java接口中只有一个方法,所有实现此接口的条件函数都必须实现此方法:

 

public boolean passesCondition(Map transientVars, Map args, PropertySet ps) throws WorkflowException;

 

Map transientVars:流程上下文信息可以从此map中获得;

Map args :节点定义时候的参数可以从此map中获得;

PropertySet ps:流程实例中的持久化变量从此获得。

 

在条件节点定义的时候,引入此条件判断函数,在流程运行的时候,引擎中就执行自定义函数中的passesCondition()函数,返回真假结果。

 

 

 

二、电子表单的事件接口:

所有电子表单的事件接口类:

 

 所有的事件注册的类:



 
 此类负责注册前置后置事件类,并利用反射实例化前置后置事件类。

 

例如 电子表单的保存前置后置事件,先注册在此类中,cn.com.fcsoft.eworkflow.WorkflowDoAction.java类为的电子表单保存后执行的事件,此类负责在电子表单保存后,继续执行流程的递进。

 

所有电子表单中的事件前置后置函数均实现EventProvider接口,定义的类均在EventResolver类内注册,利用反射机制,在需要触发的地方得到类的实例,执行execute()方法,执行自定义的事件功能。

 

 

 

 

相关链接:

web工作流管理系统开发之一 工作流概念

web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造

web工作流管理系统开发之六 表单权限与流程的权限控制

web工作流管理系统开发之七 最新修改的版本下载 

web工作流管理系统开发之八 开源osworkflow之任务管理 

 

web工作流管理系统开发之十 数据库连接及事务设定

web工作流管理系统开发之十一 流程数据与业务数据的交互

web工作流管理系统开发之十二 同一张表单在流程多节点中流转的权限控件

web工作流管理系统开发之十三 流程与电子表单集成之事件实现篇

web工作流管理系统开发之十四 流程设计器属性页面之实现篇

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值