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. django2 连接mysql实现第一个rest framework

    1.安装pymysql,mysqlclient,创建项目django-admin startproject django2 2.settings中把DataBase配置换掉 DATABASES = { ...

  2. SQL的语言分类

    SQL的语言分类 DQL DQL(Data Query Language):数据查询语言 select DML DML(Data Manipulate Language):数据操作语言 insert ...

  3. POJ 1127 /// 判断线段与线段是否相交

    题目大意: 给定n条线段 接下来n行是端点信息 接下来询问 a b 是否相交 若a与c相交 b与c相交 ,那么a与b就是相交的 先判断任两条线段是否相交 再用folyd #include <cs ...

  4. 介绍了Apache日志文件每条数据的请意义以及一些实用日志分析命令

    这篇文章主要介绍了apache日志文件每条数据的请意义,以及一些实用日志分析命令,需要的朋友可以参考下(http://wap.0834jl.com) 一.日志分析 如果apache的安装时采用默认的配 ...

  5. Zuul的容错与回退与Zuul的高可用

    容错与回退 复制zuul项目,修改ArtifactId 如zuul-falllback 写Zuul的回退类 @Component public  class ZuulFallBackProvider ...

  6. filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统

    filebeat+redis+elk搭建日志分析系统 官网下载地址:https://www.elastic.co/downloads 1.下载安装filebeat wget https://artif ...

  7. 基于OneMap的水利行业共享服务平台搭建步骤

    今天上午再次学习Esri技术培训中心的“GIS服务共享与运维管理——之OneMap解决方案”课程,从中学习了OneMap的产品架构以及基于OneMap共享服务平台的搭建步骤.下面把其中水利行业的共享服 ...

  8. c++ STL使用

    STL标准模板库,提供一些类似java集合类的数据结构容器.比如eque.list.vector.map 等.还提供一些支持这些容器的算法和遍历容器的迭代器. 使用方法 #include <io ...

  9. java基础之二维数组-杨辉三角

    首先呢你要知道什么是杨辉三角? 答:杨辉三角,是二项式系数在三角形中的一种几何排列. 简单的说一下就是两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就 ...

  10. Python学习day45-数据库(总结)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...