Activiti简介

介绍

Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),可以定义流程、执行流程并以不同方式对其实现运行。
Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,他特色是提供了eclipse插,开发人员可以通过插件直接绘画业务流程图。

工作流引擎

ProcessEngine对象,是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
通俗的讲,就是一辆汽车的发动机。一辆汽车,外表做的再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100公里需要1小时(业务流程发生变动需要进行半年的修改)还叫好车吗?引擎动不动就熄火(程序因为逻辑问题陷入死循环)的车还敢开吗?

BPMN

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

数据库

在我们进行业务流程开发的时候,是会产生很多的数据的,这些数据就是存放在数据库的。
在Activiti工作流的后台是有数据库的支持的,所有的表都以ACT_开头,利用这些数据库的表,就能够把整个业务流程的数据保存下来,然后利用这些数据进行不同的业务的开发。
数据库表示意图
Activiti简介
表介绍

  • 资源库流程规则表
    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 用户信息表

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

总结

未完待续,接下来有对Activiti核心引擎、各个BPMN各个组件的详细介绍等等等等…