什么是Activiti工作流,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 工作流工作流简介工作流术语工作流引擎BPM业务流程管理: 是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法 常见商业管理教育如EMBA,MBA等均将BPM包含在内
BPMN流对象一个业务流程图有三个流对象的核心元素 事件 一个事件用圆圈来描述,表示一个业务流程期间发生的东西 事件影响流程的流动.一般有一个原因(触发器)或一个影响(结果) 基于它们对流程的影响,有三种事件:开始事件,中间事件,终止事件 
活动 用圆角矩形表示,一个流程由一个活动或多个活动组成 
条件 条件用菱形表示,用于控制序列流的分支与合并。 可以作为选择,包括路径的分支与合并 内部的标记会给出控制流的类型
Activiti开源工作流框架Activiti简介Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于Java的超快速,超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员 Activiti 流程引擎重点关注在系统开发的易用性和轻量性上.每一项BPM业务功能Activiti流程引擎都以服务的形式提供给开发人员.通过使用这些服务,开发人员能够构建出功能丰富,轻便且高效的BPM应用程序
Activiti服务结构Activiti系统服务结构图  核心类: 服务类: ==RepositoryService== ==RuntimeService== ==TaskService== ==HistoryService== ==FormService== ==IdentityService== ManagementService Repository Service提供了对repository的存取服务 Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如BPMN2.0XML文件,表单定义文件,流程定义图像文件等),这些文件都存储在Activiti内建的Repository中 Runtime Service提供了启动流程,查询流程实例,设置获取流程实例变量等功能.此外它还提供了对流程部署,流程定义和流程实例的存取服务 Task Service提供了对用户Task和Form相关的操作.它提供了运行时任务查询,领取,完成,删除以及变量设置等功能 History Service用于**获取正在运行或已经完成的流程实例的信息,**与Runtime Service中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并已经被针对查询优化 使用Form Service可以存取启动和完成任务所需的表单数据并且根据需要来渲染表单 Activiti中的流程和状态Task均可以关联业务相关的数据 Identity Service提供了对Activiti系统中的用户和组的管理功能 Activiti中内置了用户以及组管理的功能,必须使用这些用户和组的信息才能获取到相应的Task Management Service提供了对Activiti流程引擎的管理和维护功能 这些功能不在工作流驱动的应用程序中使用,主要用于 Activiti 系统的日常维护 XxxService: 通过ProcessEngine获取,Activiti将不同生命周期的服务封装在不同Service中,包括定义,部署,运行.通过服务类可获取相关生命周期中的服务信息
核心业务对象: org.activiti.engine.impl.persistence.entity包下的类,包括Task,ProcessInstance,Execution等 根据不同职责实现相应接口的方法(如需要持久化则继承PersistentObject接口),与传统的实体类不同
Activiti组件流程虚拟机PVMActiviti架构
Activiti Engine: 最核心的模块 提供针对BPMN 2.0规范的解析,执行,创建,管理(任务,流程实例),查询历史记录并根据结果生成报表
Activiti Modeler: Activiti Designer: 功能和Activiti Modeler类似,同样提供了基于BPMN 2.0规范的可视化设计功能,但是目前还没有完全支持BPMN规范的定义 可以把业务需求人员用Signavio设计的流程定义(XML格式)导入到Designer中,从而让开发人员将其进一步加工成为可以运行的流程定义
Activiti Explorer: Activiti REST:
Activiti数据库支持Activiti的后台由有数据库的支持 所有的表都以ACT_开头 第二部分是表示表的用途的两个字母标识 用途也和服务的API对应
ACT_RE_* : 'RE'表示repository. 这个前缀的表包含了流程定义和流程静态资源(图片,规则...)
ACT_RU_* : 'RU'表示runtime.这些运行时的表, 包含流程实例,任务,变量,异步任务,等运行中的数据.
Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录.这样运行时表可以一直很小速度很快
ACT_ID_* : 'ID'表示identity.这些表包含身份信息, 比如用户,组...
ACT_HI_* : 'HI'表示history.这些表包含历史数据, 比如历史流程实例,变量,任务...
ACT_GE_* :通用数据. 用于不同场景下, 如存放资源文件 act_re_deployment 部署信息表
act_re_model 流程设计模型部署表
act_re_procdef 流程定义数据表 运行时数据库表 (ACT_RU_*:'RU'表示runtime.这些运行时的表, 包含流程实例,任务,变量,异步任务,等运行中的数据.Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录.这样运行时表可以一直很小速度很快)
act_ru_execution 运行时流程执行实例表
act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息
act_ru_task 运行时任务节点表
act_ru_variable 运行时流程变量数据表 act_id_group 用户组信息表
act_id_info 用户扩展信息表
act_id_membership 用户与用户组对应信息表
act_id_user 用户信息表
这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足 act_hi_actinst 历史节点表
act_hi_attachment 历史附件表
act_hi_comment 历史意见表
act_hi_identitylink 历史流程人员表
act_hi_detail 历史详情表,提供历史变量的查询
act_hi_procinst 历史流程实例表
act_hi_taskinst 历史任务实例表
act_hi_varinst 历史变量表 act_ge_bytearray 二进制数据表
act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录 Activiti配置文件Activiti特点数据持久化引擎service接口Activiti流程引擎重点关注在系统开发的易用性和轻量性上,每一项BPM业务功能Activiti流程引擎都以服务的形式提供给开发人员,通过使用这些服务,开发人员能够构建出功能丰富,轻便且高效的BPM应用程序 activiti.cfg.xml文件为核心配置文件,该配置文件集成在Spring的IOC容器当中,可以产生ProcessEngineConfiguration对象,这个对象就是流程引擎的配置对象 ProcessEngine对象为流程引擎对象,该对象是工作流业务系统的核心,所有的业务操作都是由这个对象所派生出来的对象实现 Activiti引擎提供了七大Service接口,均通过ProcessEngine获取,并且支持链式API编程风格
流程设计器原生支持Spring分离运行时与历史数据Activiti继承自jBPM4,在表结构设计方面也遵循运行时与历史数据的分离 这样的设计可以快速读取运行时数据,仅当需要查询历史数据时再从专门的历史数据表中读取.这种设计方式可以大幅提高数据的存取效率,尤其是当数据日积月累时依然能够快速反应
关于什么是Activiti工作流问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。
|