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. PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的

    PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报  分类: MYSQL数据库(5)  PostgreSQL 是一个自由的对象-关系数据库服务器(数据库 ...

  2. SQL 分组后获取每组中最大值

    场景:sql server 2008 drop table ID CREATE TABLE ID ( id ,) not null, code int , D date, PRIMARY KEY (i ...

  3. Linux文本编辑命令

    sort 排序工具,比较排序(根据字典排序) -t 指定分隔符(默认是空格) -k 指定第几域排序(默认第一域) -n 以数字大小排序 -r 逆向排序 -v 去掉重复行 -o 输出到文件中 -c 测试 ...

  4. python字符串的索引切片和常用操作方法,for循环

    ---恢复内容开始--- 一.字符串的索引与切片 1.索引 s = 'ASDFGHJKL' 有序序列,索引--index:从0开始 s1 = s[0],取出单个元素:A: s1是个全新的字符串和原字符 ...

  5. <day003>登录+爬取淘宝商品信息+字典用json存储

    任务1:利用cookie可以免去登录的烦恼(验证码) ''' 只需要有登录后的cookie,就可以绕过验证码 登录后的cookie可以通过Selenium用第三方(微博)进行登录,不需要进行淘宝的滑动 ...

  6. shell脚本练习02--求字符串的长度

    ######################################################################### # File Name: -.sh # Author ...

  7. python语句结构(range函数)

    python语句结构(range函数) range()函数 如果你需要遍历数字序列,可以使用内置range()函数,它会生成序列 也可以通过range()函数指定序列的区间 也可以使用range()函 ...

  8. POJ1160 Post Office-四边形不等式优化DP

    方程 $\Large f(i,j)=min(f(i-1,k)+w(k+1,j))$ 其中$w(i,j)$表示在$[i,j]$的村庄都去一个邮局的最小距离和 证明w满足四边形不等式 设$w_k(i,j) ...

  9. 19-10-29-Z

    %%%ZZYY 只是因为是Z才模一下的. ZJ一下: 考试T1写了三张纸但是它死了. T2T3暴力叕写跪了. 考试一定一定不能不严密,少推两个交点是要命的啊. 就因为叕叕少开龙龙见祖宗了. 如果考试能 ...

  10. memcache课程---4、php+memcache如何让用户跨域登录

    memcache课程---4.php+memcache如何让用户跨域登录 一.总结 一句话总结: 让所有服务器共用一台memcache缓存,即可达到跨域的目的 1.session跨域:修改php配置文 ...