流程引擎(工作流)概要

        扯谈:

        在所了解中做流程引擎的有JBPM,Activiti,Spring Workflow,听得最多的是JBPM,但从JBPM4开始思想有歧义分支,作者跑腿另立门户Activiti,Spring Workflow没什么人气...现在手上的项目用的是公司自己开发的一套流程引擎框架,不开源也不知叫啥名字,反正现在是2.0版本了。


        流程引擎(工作流)能用到啥地方呢?

        政府部门OA项目中的一部分,比如请假申请,报销申请,故障申请等等方面,因为涉及到处理人,或者是上级领导。它有特定的流程,


        例如:请假申请

        假如申请1天的,直接通过,2-3天的上级领导审核通过,大于4天的上级领导审核后部门领导审核等等流程。如果不用流程引擎去协助的话,可以自己建一套请假业务层代码。但现在需求改变了。1-2天直接通过。3-5天上级领导审核。这样的需求时。你的业务层代码又要改变一番。或者弄一个复杂的流程这样子就悲剧了。客户用得爽,拿需求的勉强扯谈,程序员最苦逼有木有(食物链最底层的),,,

        假如用上了流程引擎,这事就变得简单多了,首先画个流程执行图,在图上画好业务流程顺序,审核环节,约束判定,参与者等等信息,假如需求变了,也只是在这个流程执行图上改一下,代码基本重用(解脱了有木有)!!!

        

        流程引擎概念:

        流程定义:预先定义的业务流转逻辑

        流程实例:业务的一次实际流程过程

        参与者:任务的执行者

        活动(任务):组成流程定义的节点

        活动实例:组成的流程实例的元素

        流转:从一个节点到另外一个节点这一行为

        工作列表:当前需要办理的任务集合

        工作流引擎:工作流的核心组件,对流程实例,任务实例以及其状态进行管理

        例子:

        假如小明申请请假。在提交完成申请后,这个动作就是一个流程实例创建。然后这个请假到上级领导待审核时,这叫任务环节。当审核通过时,这叫流程完结。故简单的就会有两张数据表,流程实例表,任务环节表。


        流程图定义:

        可用可视化工具画出流程图,但这图最终便编译为xml定义。流程图是给人看的,xml是给计算机看的。必须有一个开始节点与一个结束节点,并且用流程线连接起来。


        编程步骤总结:

        创建流程定义(画流程定义图)

        部署流程定义(把上面画好的图,部署在流程引擎内)

        启动流程实例(建单,创建请假申请)

        获得任务列表(创建后,处理人(审核人)获取任务待办)

        执行任务(审核通过,回退)

        结束任务(流程实例结束)


        视频教程:

        百度云盘搜【JBPM4.4,day1202-jbpm与OA项目[属于学半天练半天的项目](赵栋),OA工作流实战视频教程等字眼】

        广州传智播客汤阳光OA项目视频【汤阳光OA项目视频】


        开发步骤

        根据需求画出流程执行图(执行环节,执行路线)

        导入业务表sql,业务实体,业务Dao,业务Server,业务action代码

        引入美工的静态页面

        配置页面菜单,关联静态页面


        如下:就是传说的流程图,这是一头一尾就是开始与结束节点,中间的就是处理环节,可以配处理人(这个处理人可以利用人员权限管理去弄)等等

        220758_1rTE_1469848.jpg


转载于:https://my.oschina.net/p2ng/blog/362492

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值