Activity⼯作流引擎学习笔记(⼀)
⼯作流的概念
⼯作流(Workflow),就是“业务过程的部分或整体在计算机应⽤环境下的⾃动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递⽂档、信息或任务的过程⾃动进⾏,从⽽实现某个预期的业务⽬标,或者促使此⽬标的实现”。
⼯作流管理系统(Workflow Management System, WfMS)是⼀个软件系统,它完成⼯作量的定义和管理,并按照在系统中预先定义好的⼯作流规则进⾏⼯作流实例的执⾏。⼯作流管理系统不是企业的业务系统,⽽是为企业的业务系统的运⾏提供了⼀个软件的⽀撑环境。
⼯作流管理联盟(WfMC,Workflow Management Coalition)给出的关于⼯作流管理系统的定义是:⼯作流管理系统是⼀个软件系统,它通过执⾏经过计算的流程定义去⽀持⼀批专门设定的业务流程。⼯作流管理系统被⽤来定义、管理、和执⾏⼯作流程。
⼯作流管理系统的⽬标:管理⼯作的流程以确保⼯作在正确的时间被期望的⼈员所执⾏——在⾃动化进⾏的业务过程中插⼊⼈⼯的执⾏和⼲预。
好⽐我最近参与了⼀个项⽬,有⼀个合同评审的需求,得级级审批,得⽤到⼯作流引擎,所以特来学习。
Acticity介绍
Activiti5是由Alfresco软件在2010年5⽉17⽇发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、⼯作流、服务协作等领域的⼀个开源的、灵活的、易扩展的可执⾏流程语⾔框架。Activiti基于Apache许可的开源BPM平台,创始⼈Tom Baeyens是JBoss jBPM的项⽬架构师,它特⾊是提供了eclipse插件,开发⼈员可以通过插件直接绘画出业务流程图。
⼯作流引擎
ProcessEngine对象,这是Activiti⼯作的核⼼。负责⽣成流程运⾏时的各种实例及数据、监控和管理流程的运⾏。
BPMN
业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成⼀个业务流程图(Business Process Diagram)
数据库(先学后看)
Activiti数据库⽀持:
Activiti的后台是有数据库的⽀持,所有的表都以ACT_开头。第⼆部分是表⽰表的⽤途的两个字母标识。⽤途也和服务的API对应。
ACT_RE_*: 'RE'表⽰repository。这个前缀的表包含了流程定义和流程静态资源(图⽚,规则,等等)。
ACT_RU_*: 'RU'表⽰runtime。这些运⾏时的表,包含流程实例,任务,变量,异步任务,等运⾏中的数据。 Activiti只在流程实例执⾏过程中保存这些数据,在流程结束时就会删除这些记录。这样运⾏时表可以⼀直很⼩速度很快。
ACT_ID_*: 'ID'表⽰identity。这些表包含⾝份信息,⽐如⽤户,组等等。
ACT_HI_*: 'HI'表⽰history。这些表包含历史数据,⽐如历史流程实例,变量,任务等等。
ACT_GE_*: 通⽤数据,⽤于不同场景下,如存放资源⽂件。
表结构操作:
资源库流程规则表
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 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插⼊三条记录
logging.properties(⽇志处理)
⽇志的配置⽂件,Activiti操作数据库的时候,整合的⽇志⽂件
准备环境
activiti5 软件环境
1) JDK1.6或者更⾼版本
2) ⽀持的数据库有:h2, mysql, oracle, postgres, mssql, db2等。
3) ⽀持activiti5运⾏的jar包
4) 开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本
相关资源下载
1)JDK可以到sun的官⽹下载
2)数据库,例如:mysql可以在官⽹上下载。
3)activiti也可以到Activiti官⽅⽹站下载得到。
4)Eclipse3.7或者MyEclipse8.6也可以到相应的⽹站上获得下载。
安装流程设计器(eclipse插件)
ps:强烈建议⽤eclipse安装,之前我在我的myeclipse2014上安装⼏次都失败了,myeclipse都打不开。建议eclipse。我测的是myeclipse neon
安装⽅式⼀
在有⽹络的情况下,安装流程设计器步骤如下:
1) 打开 Help -> Install New Software. 在如下⾯板中:createprocessa
2) 在如下Install界⾯板中,点击Add按钮:
配置新装插件的地址和名称
3) 然后填⼊下列字段
Name: Activiti BPMN 2.0 designer
4) 回到Install界⾯,在⾯板正中列表中把所有展⽰出来的项⽬都勾上:
5) 点击复选框
在Detail部分记得选中 "Contact all updates sites.." , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载.
6) 安装完以后,点击新建⼯程new->Other…打开⾯板,如果看到下图内容:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论