王舒扬,柳虹亮
(长春工业大学 软件职业技术学院,吉林 长春 130022)
工作流管理技术是一种快速发展的技术,正在被越来越多的企业所应用。企业的日常活动中,约有70%是属于流程类活动,如订单出货流程、生产流程、企业内各类申请表单、公文签审、信息传递与签收、公司各类支出与收付等[1]。设备管理(包括设备采购的审批、设备维修等)也属于流程类活动[2]。但与普通流程类活动相比,设备管理具有用户层面广泛、一次性购买量大、审批周期长、生命周期内维护频繁等特点[3]。对大型企业来说,类似电脑等设备的审批周期(包括招标、采购到最终投入使用)可长达2~3个月左右,生命周期更是长达4~6a,期间持续增加的数据量会对工作流系统造成很大的压力[4]。
OSWorkflow是完全用Java语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景用户的特点[5]。用户可以根据自身的需求,利用这款开源软件设计简单或是复杂的工作流。通过使用,用户就可以把工作中心放在业务和规则的定义上,而不需通过硬编码的方式实现一个Petri网或是一个有穷自动机[6]。用户可以最小代价把OSWorkflow整合到自己的程序中来。
文中设计实现了一个基于OSWorkflow的设备管理系统,并解决了采用Oracle数据库时大量数据查询等关键问题。
OSWorkflow是三大主流开源工作流引擎之一,它基于FSM(有限状态自动机,FiniteState Machine)理论[7]。每一个state都是由step 和status联合体现出来的,一个state到另一个state的状态跃迁transition依赖于action的执行,在action执行前需要判断动作的执行条件是否满足,在动作执行改变状态前后都可以调用function来执行一些其它操作,动作执行完成后通过判定条件来确定执行结果result[8]。……