** Activiti7 深入解析工作流引擎 (此篇后面慢更)*

Activiti 7

一. 概述

1.1 前述

  • 工作流:工作的一个流程,事务发展的一个业务过程

    • 请假流程:员工申请–部门经理–总经理–人事存档
    • 传统方式下?
      • 请假条的传递实现,经过纸质请假条传递签字最后保存在人事处;
    • 无纸化办公:
      • 在计算机的帮助下,能够实现流程的自动化控制,就称为工作流;
  • 工作流引擎

    • 为了实现自动化控制,Activiti引擎就产生了
  • 作用:实现流程自动化控制

  • 工作流系统:

    • 如果一个系统具备流程的自动化管理的功能,它就可以称为工作流系统;
  • 工作流系统,有哪些手段可以实现?

    • 工作流系统,如何来实现流程的自动化管理?
      • 流程自动化管理:
        • 程序员编码来实现:
          • 工号,姓名,日期,天数,原因,状态:0未提交,1提交
          • 员工:0未提交1提交
          • 部门经理:部门号=部门经理的部门编号相同 状态=1 然后标记部门经理同意或者不同意
          • 总经理: 状态=2 且 也同意
          • 人事存档: 状态=3 且 也同意,进行存档;
          • 存在的问题:比如中间只需要总经理审批即可,而这个业务流程变更后,程序就不能使用,我们需要以不变应万变;

如何解决,以不变应万变?Activiti就可以实现业务流程变化后,程序代码不需要改动。

1.2 工作流

  • 具体应用:
    在这里插入图片描述

Saas-人力资源管理系统 行政审批(调薪)
为什么Activiti就可以解决业务需求变更时,源代码不需要更新,更新的是业务流程图?原理?下面将揭晓:

  • 工作流原理?
    1. 先将流程图画好
    2. 将流程图中每个节点的数据读取并放入表中
    3. 读取表中的第一条记录,处理并删除

每次处理成功后记录都被删除,所以能读取最新的信息,且可以进行动态流程管理;

  • 实现这个自动化?
    1. 业务流程图要规范化,要遵守一套标准;
    2. 这个业务流程图本质上是一个xml文件,这样就可以存入我们所需要的数据
    3. 读取业务流程图的过程就是解析xml文件的过程
    4. 读取一个业务流程图中的节点就相当于是解析一个xml结构,进一步将数据插入到mysql的表中,形成一条记录;
    5. 将所有的节点都读取并存入mysql表中;
    6. 后面只要读取mysql表中的记录就可以了,读一条记录就相当于读取一个节点;
    7. 业务流程的推进,后面就转化为读表中的数据,并处理数据,结束时这一行数据就可以删除;

1.3 Activiti工作流

  • Activiti:

    • Activiti是一个工作流引擎,它可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由activiti进行管理,减少业务系统由于流程变更进行系统升级的改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本;
  • BPM:

    • 业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统优化方法,常见商业管理教育如EMBA、MBA等均将BPM包含在内;
    • 企业流程管理主要是对企业内部改革,改变企业职能管理机构重叠、中间层次多、流程不闭环扥个,做到机构不重叠,业务不重复,达到缩短流程周期节约运作资本,提高企业效益的作用。
  • BPMN(Business Process Model And Notation) -业务流程模型和符号 是由BPMI(Business Process Management Initiative)开发的一套标准的业务流程模型建模符号,使用BPMN提供的符号可以创建业务流程;

BPMN是目前被各BPM厂商广泛接受的BPM标准,其中Activiti就是使用BPMN 2.0进行流程建模、流程执行管理,它包括很多的建模符号,比如:Event用一个圆圈表示,它是流程中运行过程中发生的事情;
成本预算:公司开发软件的规模会去决定是否使用activiti 25张表;

1.4 SaaS-IHRM项目(人力资源项目,整合Activiti 7)

  • 流程:
    1. 整合Activiti
    2. 实现业务流程建模,使用BPMN实现业务流程图
    3. 部署业务流程到Activiti
    4. 启动流程实例
    5. 查询待办任务
    6. 处理待办任务
    7. 结束流程

画流程图首先要安装插件:先搜索插件关键词abc 找到stylus-assist,然后安装actiBPM,然后创建bpmnFile即可;详情可以百度找方法;

  • 支持的数据库:

    • h2
    • mysql
    • orcale
    • db2
    • mssql
  • 操作:

    • 先创建activiti使用的数据库,名字任意;
      • 如:create database activiti;
    • 创建项目
      1. 导入依赖: pom.xml
<properties>
	<slf4j.version>1.6.6</slf4j.version>

发布了127 篇原创文章 · 获赞 52 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_37128049/article/details/92849669