1. 什么是Activiti
    Activiti是为解决工作流而创建的一套流程引擎。举个最简单的例子,请假流程就是一个工作流,从开始到审批到结束,像流一样的贯穿整个流程。在工作中最常见的就是OA了。工作流总是以任务(Task)的形式驱动人处理业务或者驱动业务系统自动完成作业。有了工作流之后,作为流程中的一员,我们只需要关心自己在流程中的待办任务,而不用关心其他人的待办任务。
    之所以称为Activiti是因为在流程中的每一个动作都可以称之为活动(Activity),也就是业务流程中的最小组成部分。多个活动在英文中是一定要用复数形式的,那就是Activities。最后以复数化简的方式标示活动的集合,以此来全是Activiti与工作流的目的与设计。
  2. 工作流基础
    BPM(Business Process Management):业务流程管理,是一套达成企业各种业务环节整合的全面管理模式。是为了实现一定的经营目的而执行的一系列逻辑相关的活动的集合。是根据业务环境变化,推进人与人之间,人与系统之间,以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。既然是工具,必有其目的,目的最开始就是为了满足无纸化办公的需求,最后发现功能越来越强,现在的BPM是一种企业集成技术,并作为面向服务系统架构SOA(Service-Oriented Architecture),企业应用集成EAI(Enterprise Application integration),企业服务总线ESB(Enterprise Service Bus)的补充。
  3. 工作流的生命周期
    学任何一种编程语言和技术,其中对象的生命周期都是必须要关注的东西,对于工作流来说,一个完整的工作流生命周期会经过5步,并且迭代循环。
  4. BPMN
    BPMN(Business Process Modeling Notation):业务流程建模标注,由BPMN组织发布,就是为了统一标准,对流程建模,在符合BPMN2.0的流程殷勤上执行。
  5. Activiti的特点
    • 数据持久化
      使用Mybatis对数据进行持久化
    • 引擎Service接口
      七大引擎Service接口,均通过ProcessEngine获取,支持链式编程,让你无所不能。
  6. Activiti的应用
    • 在系统集成方面应用
      与ESB(Enterprise Service Bus)整合,例如Mule
      与规则引擎(Rule Engine)整合,例如Jboss Drools
    • 在其他产品中的应用
      OA系统
  7. Activiti架构与组件
    Activiti架构中最重要的一定是引擎了,就相当于火车没有引擎不能跑,飞机没有引擎不能飞一样,Activiti没有引擎, 就没有七大Service和一切。

    • Activiti Engine:核心模块,提供针对BPMN2.0规范的解析、执行、创建、管理(任务、流程实例)、查询历史记录并根据结果生成报表。
    • Activiti Modeler:模型设计器,Signavio赠送,适用于业务人员将需求转化为规范流程定义
    • Activiti Designer:功能同Activiti Modeler,支持BPMN2.0,没有完全支持BPMN规范的定义,适用于开发人员
    • Activiti Explorer:管理仓库、用户、组,启动流程、任务办理等。此组提供REST风格API,提供一个基础的设计模型,如果业务简单,也可以直接使用无需开发,还可以作为后台管理员的流程、任务管理系统使用。
    • Activiti REST:提供REST风格服务,允许客户端以JSON的方式与引擎的REST API交互,通用的协议具有跨平台、跨语言的特性。
  8. Activiti 与JBPM5比较
    目前流行的工作流引擎 有Activiti和JBPM5,而在JBPM5发布以前大多数项目、平台都是基于JBPM3、JBPM4开发的。
  9. 小结
    Activiti给我的感觉就是能够将现实生活中具有流程性的东西以一张流程图表现出来,然后通过代码实现他,让逻辑更清晰,例如OA中的请假流程,申请转正流程等等,具有一般性的事务的抽象,需要大众适应一般性,对于特殊还是要特殊处理。

Activiti实战01_认识Activiti的更多相关文章

  1. activiti实战--第二章--搭建Activiti开发环境及简单示例

    (一)搭建开发环境 学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html ...

  2. activiti实战--第一章--认识Activiti

    学习资料:<Activiti实战> 第一章 认识Activiti 内容概览:讲解activiti的特点.接口概览.架构等基本信息. 1.3 Activiti的特点 1.使用mybatis ...

  3. 2017.3.14 activiti实战--第二十章--REST服务

    学习资料:<Activiti实战> 第二十章 REST服务 20.1 通信协议概述 略. 20.2 REST API概述 资源分类 资源基础URI 说明 Deployments manag ...

  4. 2017.2.28 activiti实战--第七章--Spring容器集成应用实例(五)普通表单

    学习资料:<Activiti实战> 第七章  Spring容器集成应用实例(五)普通表单 第六章中介绍了动态表单.外置表单.这里讲解第三种表单:普通表单. 普通表单的特点: 把表单内容写在 ...

  5. 2017.2.28 activiti实战--第六章--任务表单(二)外置表单

    学习资料:<Activiti实战> 第六章 任务表单(二)外置表单 6.3 外置表单 考虑到动态表单的缺点(见上节),外置表单使用的更多. 外置表单的特点: 页面的原样显示 字段值的自动填 ...

  6. 2017.2.28 activiti实战--第六章--任务表单(一)动态表单

    学习资料:<Activiti实战> 第六章 任务表单(一)动态表单 内容概览:本章要完成一个OA(协同办公系统)的请假流程的设计,从实用的角度,讲解如何将activiti与业务紧密相连. ...

  7. 2017.2.28 activiti实战--第五章--用户与组及部署管理(三)部署流程及资源读取

    学习资料:<Activiti实战> 第五章 用户与组及部署管理(三)部署流程及资源读取 内容概览:如何利用API读取已经部署的资源,比如读取流程定义的XML文件,或流程对应的图片文件. 以 ...

  8. 2017.2.28 activiti实战--第五章--用户与组及部署管理(二)部署流程资源

    学习资料:<Activiti实战> 第五章 用户与组及部署管理(二)部署流程资源 内容概览:讲解流程资源的读取与部署. 5.2 部署流程资源 5.2.1 流程资源 流程资源常用的有以下几种 ...

  9. 2017.2.21 activiti实战--第十三章--流量数据查询与跟踪(一)查询接口介绍及运行时数据查询

    学习资料:<Activiti实战> 第十三章 流量数据查询与跟踪 本章讲解运行时与历史数据的查询方法.主要包含三种:标准查询,Native查询,CustomSql查询. 13.1 Quer ...

随机推荐

  1. python的起源及基本语句

    一.Python的起源 Python是吉多范罗苏姆于1989年的圣诞节期间在阿姆斯特丹进行编写的,于1991年编写完成,Python是一门解释型弱类型的编程语言. Python在多个领域中都有应用,比 ...

  2. dart 异步

    使用异步有两种方法 then 或者 async/await. async/await 方法更易于理解,

  3. /encrypt和/decrypt端点来进行加密和解密的功能

  4. day 66 Django基础二之URL路由系统

    Django基础二之URL路由系统   本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11 ...

  5. scull 的内存使用

    scull 使用的内存区, 也称为一个设备, 长度可变. 你写的越多, 它增长越多; 通过使用 一个短文件覆盖设备来进行修整. scull 驱动引入 2 个核心函数来管理 Linux 内核中的内存. ...

  6. 用shell编写小九九乘法表程序

    1.使用for循环 运行结果: 2.方法二:for循环 运行结果: 备注: 1. echo -n 的意思是不自动换行,因为在linux shell中 echo到最后一个字符时会自动换行的,所以echo ...

  7. 廖雪峰Java15JDBC编程-1关系数据库基础-1关系数据库简介

    1.数据库 1.1 定义 数据库是按照数据结构来组合.存储和管理数据的软件. 1.2 数据库模型 数据库有层次模型.网状模型.关系模型三种模型. 2 关系数据库 关系数据库是建立在关系模型上的数据库, ...

  8. 并发和多线程(九)--AbstractQueuedSynchronizer排他锁基本原理

    AbstractQueuedSynchronizer简称为AQS,AQS是ReentrantLock.CountdownLatch.CycliBarrier等并发工具的原理/基础,所以了解AQS的原理 ...

  9. springboot与分布式(zookeeper+dubbo)

    docker安装zookeeper命令: docker pull zookeeper:3.4.14 docker启动zookeeper命令: docker run --name zk01 -p 218 ...

  10. Java笔记 - 输入输出流

    java.io包中定义了各式各样的"流(stream)" 类型(类或抽象类),通过标准的方法实现对于数据的输入/输出操作. 一.流类型分类 以从不同的角度对其进行分类:按数据流的方 ...