概述
BDF的流程模块采用jBPM4实现,同时针对jBPM4的特点对其功能进行的扩展,增加了诸如流程过期提醒、任务过期提醒、任务到达提醒、表单权限、流程流转进度图展示、任务处理人分配等业务开发常用的功能,同时配置dorado7提供一web版监控中心,从而实现流程实例流转模拟、流转监控、流程模块管理等常用功能。
流程引擎根据其开发部署方式可以分为两类,一类是将工作流引擎内嵌到具体的一个Web应用,作为其一部分存在;另一类是将工作流引擎作为单独的应用部署,为多个用到该流程引擎的业务系统进行服务。BDF的流程模块采用的是嵌入式模式,将jBPM4嵌入到web应用当中,将其作为web应用的一部分,这样做的好处就是部署简单、管理方便、程序员可以快速上手,同时可以采用纯粹的JDBC事务来包裹流程与业务操作。
BDF中的流程模块对jBPM4时行了二次开发,在兼顾其功能强大、灵活的同时,加强其开发的友好性,使普通开发人员不需具备太多的JBPM4流程引擎的相关知识,便可方便的开发与其相关的流程应用。
配置
与使用BDF其它模块一样,首先我们需要下载BDF的发行包(最新的发行包可以在这里找到),解压后找到其中的com.bstek.bdf.jbpm4-[version]目录,将bin目录中的com.bstek.bdf.jbpm4-[version].jar文件复制到目标工程的lib目录中,同时还需要将jbpm4模块依赖的第三方jar复制到目标工程的lib下。
数据库
打开BDF发行包下com.bstek.bdf.jbpm4-[version]/dbschema目录,可以看到bdf-jbpm4与jbpm两个文件夹,前者是对JBPM4进行二次开发增加的表,后者是jbpm4本身需要用到的表,对于具体项目需要在两个文件夹下选择匹配的SQL执行创建BDF流程模块所需求的表。
配置文件扩展点说明
BDF的流程控制核心模块提供了以下的基本扩展点,并在com.bstek.bdf.jbpm4-[version].jar中提供了默认实现,如需修改这些配置,您可在dorado7项目的dorado-home目录下bdf.properties文件中,添加您所需要覆盖的属性配置即可,可覆盖的属性列表如下:
属性 | 默认值 | 属性说明 |
---|---|---|
bdf.jbpm4.workflowSupportService | bdf.jbpm4.workflowSupportService | 流程模块中使用的用户、部门、职位和群组数据来源的接口实现的bean的id,该bean会在流程监控节点配置中任务处理人选择里使用,如果用户需要添加自己的用户、部门、职位和群组信息,那么需要编写一实现com.bstek.bdf.jbpm4.service.WorkflowSupportService接口的类,并将其配置到spring当中,将该bean的id设置为该属性值即可。 |
bdf.jbpm4.approvePageView | d7.jbpm4.ProcessApprove | 任务处理公共页面view(如果你在节点配置管理页面当中对于任务处理的URL设置不以absolute:开头,那么将在所有的任务审批页面处套上该页面,具体详见流程监控中节点配置一节描述) |
bdf.jbpm4.webServerUrl | [http://localhost:8080/bdf-dorado7 ] | 默认当前应用服务的地址,用于发送流程任务提醒消息时插入处理任务的URL地址。 |
bdf.jbpm4.workDayCaculateService | bdf.jbpm4.defaultWorkDayCaculateService | 计算工作日超时接口,一个spring中配置的bean的id,用于流程提醒中过期天数的计算,该bean对应的类需要实现com.bstek.bdf.jbpm4.service.WorkDayCaculateService接口。 |
bdf.jbpm4.taskListUrl | d7.jbpm4.TaskList.d | 指定用户登录后处理任务时采用的任务列表的URL,如果不指定,那么采用系统默认的。 |