Activiti实战01_认识Activiti

  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中的请假流程,申请转正流程等等,具有一般性的事务的抽象,需要大众适应一般性,对于特殊还是要特殊处理。
posted @ 2017-06-28 21:17  读书改变命运  阅读(560)  评论(0编辑  收藏  举报