⼀、activiti流程引擎介绍
⼯作流(Workflow),就是“业务过程的部分或整体在计算机应⽤环境下的⾃动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递⽂档、信息或任务假期英语作文
的过程⾃动进⾏,从⽽实现某个预期的业务⽬标,或者促使此⽬标的实现”。
⼯作流管理系统(Workflow Management System, WfMS)是⼀个软件系统,它完成公车管理制度
⼯作量的定义和管理,并按照在系统中预先定义好的⼯作流规则进⾏⼯作流实例的执⾏。⼯作流管理系统不是企业的业务系统,⽽是为企业的业务系统的运⾏提供了⼀个软件的⽀撑环境。
⼯作流管理联盟(WfMC,Workflow Management Coalition)给出的关于⼯作流管理系统的定义是:⼯作流管理系统是⼀个软件系统,它通过执⾏经过计算的流程定描述法
义去⽀持⼀批专门设定的业务流程。⼯作流管理系统被⽤来定义、管理、和执⾏⼯作流程。
⼯作流管理系统的⽬标:管理⼯作的流程以确保⼯作在正确的时间被期望的⼈员所执⾏——在⾃动化进⾏的业务过程中插⼊⼈⼯的执⾏和⼲预。
Activiti介绍
Activiti5是由Alfresco软件在2010年5⽉17⽇发布的业务流程管理(BPM)框架,它是覆盖了业务流程管
理、⼯作流、服务协作等领域的⼀个开源的、灵活的、易扩展的可执⾏流程语⾔框架。Activiti基于Apache许可的开源BPM平台,创始⼈Tom Baeyens是JBoss jBPM的项⽬架构师,它特⾊是提供了eclip插件,开发⼈员可以通过插件直接绘画出业务
流程图。
1.⼯作流引擎
ProcessEngine对象,这是Activiti⼯作的核⼼。负责⽣成流程运⾏时的各种实例及数据、监控和管理流程的运⾏。
2. BPMN
业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成⼀个业务流程图(Business Process Diagram)
3. 数据库
Activiti数据库⽀持:
Activiti的后台是有数据库的⽀持,所有的表都以ACT_开头。第⼆部分是表⽰表的⽤途的两个字母标识。⽤途也和服务的API对应。
ACT_RE_*: 'RE'表⽰repository。这个前缀的表包含了流程定义和流程静态资源(图⽚,规则,等等)。
ACT_RU_*: 'RU'表⽰runtime。这些运⾏时的表,包含流程实例,任务,变量,异步任务,等运⾏中的数据。 Activiti只在流程实例执⾏过程中保存这些数据,在流程结束时就会删除这些记录。这样运⾏时表可以⼀直很⼩速度很快。
ACT_ID_*: 'ID'表⽰identity。这些表包含⾝份信息,⽐如⽤户,组等等。
ACT_HI_*: 'HI'表⽰history。这些表包含历史数据,⽐如历史流程实例,变量,任务等等。
ACT_GE_*: 通⽤数据,⽤于不同场景下,如存放资源⽂件。
表结构操作:
3.1:资源库流程规则表
1) act_re_deployment 部署信息表
2) act_re_model &nb秋葵凉拌怎么做
sp; 流程设计模型部署表
3) act_re_procdef 流程定义数据表
3.2:运⾏时数据库表
1) act_ru_execution 运⾏时流程执⾏实例表
2) act_ru_identitylink 运⾏时流程⼈员表,主要存储任务节点与参与者的相关信息
3) act_ru_task 运⾏时任务节点表
4) act_ru_variable 运⾏时流程变量数据表
3.3:历史数据库表
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 历史变量表
3.4:组织机构表
1) act_id_gr父母的爱作文500字
oup ⽤户组信息表
2) act_id_info ⽤户扩展信息表
3) act_id_membership ⽤户与⽤户组对应信息表
4) act_id_ur ⽤户信息表
这四张表很常见,基本的组织机构管理,关于⽤户认证⽅⾯建议还是⾃⼰开发⼀套,组件⾃带的功能太简单,使⽤中有很多需求难以满⾜3.5:通⽤数据表
act_ge_bytearray ⼆进制数据表
act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插⼊三条记录,
activiti5 软件环境
1) JDK1.6或者更⾼版本
2) ⽀持的数据库有:h2, mysql, oracle, postgres, mssql, db2等。
3) 经济英语
⽀持activiti5运⾏的jar包
4) 开发环境为Eclip3.7或者以上版本,myeclip为8.6版本
相关资源下载
1) JDK可以到sun的官⽹下载
2) 数据库,例如:mysql可以在官⽹上下载。
3) activiti也可以到Activiti官⽅⽹站下载得到。
4) Eclip3.7或者MyEclip8.6也可以到相应的⽹站上获得下载。