`

Activiti学习第一章——概念

 
阅读更多



 

1、什么是Activiti

 

 (1)工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。

 

(2)工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

 

(3)常见的工作流框架有Activity、JBPM、OSWorkFlow、WorkFlow。现在使用activiti5.16版学习。

 

(4)工作流框架底层需要有数据库提供支持,activiti5.18版本,有24张表。JBPM4.4框架有18张表。JBPM底层使用hibernate操作数据库。Activiti框架底层使用的mybatis操作数据库。




2、使用Activiti基本过程

 

定义流程(流程模型设计) -> 部署流程定义(部署到实施的项目中) -> 启动流程实例->获取组任务1->办理个人任务1->获取组任务2->办理个人任务2.。。。。。->结束

 

组任务与个人任务区别:

组任务是多个用户都可以完成的任务。没有组任务直接办理个人任务;

有组任务需先通过拾取将组任务变成个人任务, 然后再办理。

 



 

 

以请假为例说明ctiviti工作流程

第一步将该请假业务流程部署到activiti系统,当系统将该业务流程部署启动时,则业务流程开始,即张三提出一次请假申请业务流程开始了,activiti在部署该业务流程时候,会自动记录该流程中所有任务及当前处理到那个任务状态。(相比于传统的处理方式,activiti将状态自动保存到数据库里面了,不需要用户去设计数据库表字段status来标识业务流程当前状态)。传统方式如果需要去取当前业务状态,则自己封装api从业务service层到数据库Dao向数据库取得status字段值,即当前业务流程状态。那么activiti里面该如何获取当前业务流程状态呢?activiti中封装了一系列API(核心的都有几十上百个,几乎常用的业务场景全部已经封装好了),可以去获取当前业务流程的状态。在传统的方法中,如果一个状态改变,需要流转到下一个状态,需要编码人员,写代码判断状态去流转。而在activiti中,它灵活的事件机制能够自动高效的推动业务流转

 

 

 

3、Activiti各种服务:

 RepositoryService:流程仓库Service,用于管理流程仓库,如部署、删除、读取流程资源。

 

 IdentifyService:身份Service,管理和查询用户、组之间的关系。

 

 RuntimeService:运行时Service,管理所有正在运行状态的流程实例、任务等。

 

TaskService:任务Service,用于管理、查询任务,如签收、办理、指派等。

 

 FormService:表单Service,用于读取和流程、任务相关的表单数据。

 

 HistoryService:历史Service,可以查询所有历史数据。

 

ManagementService:引擎管理Service,和具体业务无关,主要是可以查询引擎配置、数据库、作业等。

 

  • 大小: 75.8 KB
分享到:
评论

相关推荐

    Activiti学习第一天

    总之,"Activiti学习第一天"是一个良好的开端,通过逐步学习和实践,你将能够掌握Activiti的基本操作,并能将其应用于实际的业务流程自动化项目中,提高工作效率,优化工作流程。记住,持续学习和不断实践是掌握任何...

    最详解!Activiti学习文档

    本文档将深入探讨Activiti的核心组件之一——数据库结构及其各表的功能与字段含义。 #### 数据库文档 Activiti的数据库设计遵循一定的命名规则,便于理解和维护。其数据库由24张表组成,每张表都按照`act_组别_...

    Activiti官方唯一推荐中文书籍——《Activiti实战》示例源码

    Activiti是一个强大的业务流程管理(BPM)系统,广泛应用于企业级应用开发中,以实现流程自动化和优化。 在 Activiti 的示例源码中,我们可以探索以下几个重要的知识点: 1. **Activiti流程定义与模型**:源码中...

    Activiti学习文档资料

    这个"Activiti学习文档资料"包含了一份工作流使用教程和一些文档,可以帮助我们深入了解和掌握Activiti的核心功能和使用方法。 Activiti 是由Alfresco公司开发的,基于Java平台,符合Business Process Model and ...

    activiti学习思维导图

    本资源包含的"activiti学习思维导图"是一份关于Activiti学习的综合指南,旨在帮助用户从基础到进阶地掌握Activiti的核心概念和技术。 1. **流程定义**: - BPMN 2.0:Activiti 使用Business Process Model and ...

    工作流activiti学习代码

    工作流Activiti是一种开源的工作流引擎,用于在企业应用程序中实现业务流程自动化。它由Alfresco Software开发,旨在提供灵活、可扩展且易于使用的流程管理解决方案。在本"工作流Activiti学习代码"资源中,我们将...

    activiti学习

    里面包括工作流的基本配置,myeclipse9安装activiti-designer插件demo,和基本操作

    activiti7.0 ——springboot2

    通过这些例子,开发者可以学习如何使用 Activiti API 或者 SpringBoot 集成的 Activiti starter 来定义和运行流程实例。 2. **动态流程示例**:在实际业务中,流程可能需要根据不同的情况动态变化。这部分示例展示...

    activiti学习资料

    activiti学习资料,整合SSH, Activiti5.4整合SSH项目开发

    activiti-学习第一天

    #### 一、工作流概念解析 工作流(Workflow)是指“业务过程的部分或整体在计算机应用环境下的自动化”。它旨在通过自动化文档、信息或任务在多个参与者之间的传递流程,实现特定的业务目标。简而言之,工作流是一种...

    activiti第一天2_2

    在“activiti第一天2_2”的学习中,我们将深入探讨Activiti的核心概念和关键特性,为后续四天的学习打下坚实的基础。 首先,了解Activiti的基本架构是至关重要的。Activiti采用了模型驱动的设计,允许用户通过图形...

    activiti学习资料文档

    这个“activiti学习资料文档”压缩包很可能是为那些希望深入理解Activiti工作流引擎和BPM概念的学习者准备的。下面,我们将详细探讨Activiti的相关知识点,以及如何通过这些资料进行学习。 一、Activiti简介 ...

    Activiti 学习笔记八:排他网关(ExclusiveGateWay)

    本篇文章将深入探讨Activiti中的一个重要概念——排他网关(Exclusive Gateway),也称为独占网关。排他网关是流程设计中的一个关键组件,它在流程执行时起到决策的作用,根据预定义的条件来决定流程应该如何继续。 ...

    工作流Activiti的学习总结(十二) activiti官方十分钟快速学习

    在本篇博客“工作流Activiti的学习总结(十二)activiti官方十分钟快速学习”中,作者分享了关于Activiti工作流引擎的快速学习经验。Activiti是一个开源的、基于Java的企业级工作流引擎,它被广泛应用于自动化业务...

    activiti 第一天 共4天 视频教程

    这个“activiti 第一天 共4天 视频教程”显然是一个全面介绍Activiti的基础到进阶的学习资源,旨在帮助初学者快速理解和掌握这一强大的工具。 在第一天的课程中,通常会涵盖以下几个关键知识点: 1. **Activiti...

    Activiti学习笔记三:管理流程定义

    首先,流程定义是Activiti中的核心概念,它是流程模型的静态表示,描述了工作流的结构和规则。流程定义通常以BPMN 2.0(Business Process Model and Notation)标准的XML文件形式存在,扩展名为`.bpmn20.xml`。BPMN...

    activiti-5.21.0-第一卷

    《Activiti-5.21.0:第一卷——引领企业流程管理新篇章》 Activiti,作为一款开源的工作流引擎,被广泛应用于企业的业务流程自动化和管理中。它以其强大的功能、灵活的设计以及友好的社区支持,赢得了全球开发者的...

    Activiti学习笔记

    Activiti学习笔记,介绍Activiti的组成结构,工作流BPMN2.0规范等

Global site tag (gtag.js) - Google Analytics