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. ThinkPHP 的缓存大概多久更新一次

    ThinkPHP 的缓存大概多久更新一次可以自己设置: thinkPHP的缓存默认是文件缓存,保存在Runtime文件夹里面, 如果不设置过期时间,且不清除Runtime文件,就会一直存在. 如果设置 ...

  2. VS2010-MFC(MFC常用类:定时器Timer)

    转自:http://www.jizhuomi.com/software/232.html 前面一节讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器.定时器并不是一个类,主要考 ...

  3. collections,time,random,os, sys 模块的使用

    主要内容:1. 模块的简单认识2. collections模块3. time时间模块4. random模块5. os模块6. sys模块 一. 模块的简单认识什么是模块. 模块就是我们把装有特定功能的 ...

  4. svn+post-commit实现自动部署(转)

    一.安装 #yum install subversion 检查是否安装了svn #subversion –v 创建svn库和对应的目录 #mkdir /svn/www.test.com #svnadm ...

  5. JavaScript基础的一些小总结

    一.js变量 1.变量声明: var 关键字来进行变量声明  变量是弱类型 1.数字   2.小数    3.boolean   4.字符串     4.字符 验证数据类型:1.整数,小数是numbe ...

  6. Python flask 构建微电影视频网站✍✍✍

    Python flask 构建微电影视频网站  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...

  7. java开发系列-服务器tomcat

    概述 tomcat是Apache组织提供的,中小型的免费的支持Servlet和JSP规范的服务器. tomcat安装配置 下载 官方下载地址 下载,绿色版直接解压到指定目录就好. 启动Tomcat 双 ...

  8. memcache 使用手册

    Memcached 教程 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fit ...

  9. 使用fileupload实现文件上传

    一. fileupload组件工作原理 先来张图片, 帮助大家理解 fileupload核心API 1. DiskFileItemFactory构造器1) DiskFileItemFactory() ...

  10. 关于Slice的一些补充说明

    s[m:n:l] 规则总结如下. (1) 范围 [m,n),从m开始轮询:超出范围后选边界值. l>0 l<0 关于边界值 (2) 把字符串完全反序,用 s[::-1]. 有些文档上说 s ...