Activiti5是业务流程管理(BPM)框架,它覆盖了业务流程管理、工作流、服务协作等领域可执行流程语言框架。

      一、activiti介绍

       Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。

       Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。


       官网:http://www.activiti.org/

       下载:http://www.activiti.org/download.html

       目前,Activiti5中的5.22版本用的最多的一个版本,本次教程也是使用这个版本进行讲解,最新版本到了7.0版本

       在开始教程之前,我们需要先明确下面的一些概念和知识,可以帮助我们更好的理解工作流的开发。



      二、工作流引擎

       ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。


       用百度更为通俗的话来说就是:就是一辆汽车的发动机,就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?



      三、BPMN


       在Activiti工作流中用到了一个BPMN的文件,主要是用来描述业务流程的基本的符号,利用各个组件能够组成一个业务流程图,整个业务也是根据这个图来走的,其实用xml格式打开,就是一个xml文件


       下面就是bpmn组件的示意图




      四、数据库

       在我们进行业务流程开发的时候,是会产生很多的数据的,那么这些数据都是放在哪里呢?

       是的,其实就是存放在数据库的。

       在Activiti工作流的后台是有数据库的支持的,所有的表都以ACT_开头,利用这些数据库的表,就能够把整个业务流程的数据保存下来,然后利用这些数据进行不同的业务的开发。


       数据库表示意图




       下面对这些表做一些基本的解释,这些可以先不看,等看完后面的教程后再回过头来看,你会发现其实很简单的


       资源库流程规则表

       1)act_re_deployment     部署信息表
       2)act_re_model          流程设计模型部署表
       3)act_re_procdef        流程定义数据表


      运行时数据库表

     1)act_ru_execution      运行时流程执行实例表
     2)act_ru_identitylink       运行时流程人员表,主要存储任务节点与参与者的相关信息
     3)act_ru_task           运行时任务节点表
     4)act_ru_variable       运行时流程变量数据表


      历史数据库表

      1)act_hi_actinst        历史节点表
      2)act_hi_attachment     历史附件表
      3)act_hi_comment        历史意见表
      4)act_hi_identitylink       历史流程人员表
      5)act_hi_detail         历史详情表,提供历史变量的查询
      6)act_hi_procinst       历史流程实例表
      7)act_hi_taskinst       历史任务实例表
      8)act_hi_varinst            历史变量表


      组织机构表

      1)act_id_group      用户组信息表
      2)act_id_info           用户扩展信息表
      3)act_id_membership 用户与用户组对应信息表
      4)act_id_user           用户信息表

      这些表用的很少,因为我们一般会自己做一个权限管理,所以不会用activiti自身所带的表。


      通用数据表

      1)act_ge_bytearray      二进制数据表
      2)act_ge_property           属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。

      这两张表的数据是不能够随意删除的,删除可能会出问题。



      五、总结

       工作流的概念就先介绍这么多了,更多的去官网查看,下一节将用一个入门的实例来对工作流进行讲解。



       作者:程序员欧阳
       链接:https://www.jianshu.com/p/f58665afe046
       来源:简书
       著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Copyright 2015-2035 西安越影信息技术有限公司 YUEYINGIT.COM | 陕ICP备2020016252号-1
客服QQ:58155571
Top