说到工作流,大家很容易想到JBPM,笔者也是。笔者是通过SharePoint工作流开始的,因为SharePoint过于庞大,后来选择了 JBPM。由于JBPM的Demo系统很简陋,后续开发也比较繁琐,在了解到其数据库仅有数张表后,笔者就有了自己写工作流的想法。当年,公司正在考虑上 OA系统,前后调研和测试了约20多家知名OA,对OA的工作流功能有了深入理解。为了造福更多人,笔者发起了MiniOA项目,本来只是打算介绍OA应 用程序框架,谁知大家对工作流表现出浓厚兴趣。 以前的OA产品为适应市场对工作流的需求,几乎一夜之间全部更名成BPM。的确,一套应用系统有了工作流引擎,几乎可以做任何事。笔者在实际项目中 需要处理N多业务表单,涉及多个业务部门和岗位,一个业务流程顺畅走下来,如果没有工作流支持,单靠修改表单状态几乎不可能。在定制开发过程中,需求的多 样性要求工作流引擎有较高的灵活性。在过去工作中,笔者工作上获得的成功有一半可归功于长期积累的应用程序框架和工作流引擎,如果不是它们,笔者很难在短 时间内满足老板和业务部门的需求。
笔者总结,管理系统工作流引擎通常需具备以下功能:
HYAppFrame工作流截图,流程定义
HYAppFrame工作流截图,节点定义
HYAppFrame工作流截图,审批
HYAppFrame工作流开发指南:http://wenku.baidu.com/view/443f8ca6312b3169a551a4e6.html 开源项目HYAppFrame虽然是WinForm, C/S架构,但其后台数据库可完全适用于Web程序,也就是说,如果将HYAppFrame工作流改造成Web工作流,只需要在前台开发 ProcessEntity.aspx页面用于审批,后台Workflow.cs适当修改,数据库表结构和脚本不需要任何修改。HYAppFrame的工 作流引擎最早是基于JSF + Javabean+ MySQL的,所以掌握其设计思想,它也一定能改造成Oracle数据库。 |