Activiti工作流引擎简介

一、概述

  Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。

   Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。

  工作流引擎:

    ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据,监控和管理流程的运行。

  BPMN标准:

    业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号,

  包括这些图元如何组合成一个业务流程图  (Business Process Diagram)。

二、开发环境

  Activiti软件环境:

  • JDK1.6或者更高版本
  • 支持的数据库有:h2,mysql,oracle,mysql,db2等
  • 支持Activiti运行的jar包,可以通过maven依赖引入
  • 开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

三、Activiti表说明

  1,流程部署相关表:

    act_re_deployement 部署对象表

    act_rep_procdef 流程定义表

    act_ge_bytearray 资源文件表

    act_ge_prperty 主键生成策略表(对于部署对象表的主键ID)

  2,流程实例相关表:

    act_ru_execution 正在执行的执行对象表(包含执行对象ID和流程实例ID,如果有多个线程可能流程实例ID不一样)

    act_hi_procinst 流程实例历史表

    act_hi_actinst 存放历史所有完成的任务

  3,Task 任务相关表:

    act_ru_task 代办任务表(只对应节点是UserTask的)

    act_hi_taskinst 代办任务历史表 (只对应节点是UserTask的)

    act_hi_actinst  所有节点活动历史表 (对应流程的所有节点的活动历史,从开始节点一直到结束节点中间的所有节点的活动都会被记录)

  4,流程变量表:

    act_ru_variable 正在执行的流程变量表

    act_hi_variable 流程变量历史表

四、核心API

  1,ProcessEngine

   说明:Activiti中最核心的类,其他的类都是由他而来。

  1. //用法
  2. ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
  3. //例如:生成RepositoryService(管理流程定义 )
  4. RepositoryService
  5. repositoryService =processEngine.getRepositoryService();
  6. //例如:生成RuntimeService (执行管理,包括启动,推进,删除流程实例 等操作)
  7. RuntimeService
  8. runtimeService = processEngine.getRuntimeService();
  9. //例如:生成TaskService(任务管理)
  10. TaskService
  11. taskService =processEngine.getTaskService();

  2,RepositoryService

  说明:Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片 该service可以用来删除部署的流程定义

  3,RuntimeService

  说明:Activiti的流程执行服务类,可以从这个服务类中获取很多关于流程执行的相关的信息。

  4,TaskService

  说明:是Activiti的任务服务类。可以从这个类中获取任务的相关信息,如当前正在执行的个人待办和用户组待办任务。

  5,HistoryService

  说明:Activiti的查询历史信息的类,在一个流程执行完成后,这个对象为我们提供查询历史信息,可以跟踪流程实例对应所有待办节点的运行情况。

  6,ProcessDefinition

  说明:流程定义类,可以从这里获得资源文件等。

  7,ProcessInstance

  说明:代表流程定义的执行实例,当一个部署的流程图启动后,该流程只有一条流程实例数据,但是它的流程任务可以有多个,

  每个任务对应流程图中相应的流程节点。

    

Activiti工作流引擎简介的更多相关文章

  1. Activiti工作流引擎参考资料

    Activiti工作流引擎使用 工作流-Activiti核心API介绍 传智播客Activiti工作流视频教程(企业开发实例讲解) 工作流引擎Activiti演示项目 http://www.kafei ...

  2. Activiti工作流引擎数据库表结构

    Activiti工作流引擎数据库表结构 一.数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_ ...

  3. Activiti工作流引擎开发系列

    Activiti工作流引擎开发系列-01 作者:Jesai 没有伞的孩子,只能光脚奔跑! 前言: 初次接触工作流这个概念是自从2014年11月份开始,当时是由于我的毕业设计需要,还记得当时我毕业设计的 ...

  4. activiti工作流引擎

    参考文章 Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法(AutoEE_V2实现方式) https://blog ...

  5. Activiti工作流引擎核心介绍

    引言 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速.超稳定的 BPMN 2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更 ...

  6. Activiti工作流引擎使用

    http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ...

  7. 基于Activiti工作流引擎实现的请假审核流程

    概要 本文档介绍的是某商用中集成的Activiti工作流的部署及使用,该框架用的Activiti版本为5.19.0.本文档中主要以一个请假流程为例子进行说明,该例子的流程图如下: 这是一个可以正常运作 ...

  8. Activiti工作流引擎使用详解(一)

    一.IDEA安装activiti插件 在插件库中查找actiBPM,安装该插件,如果找不到该插件,请到插件库中下载该包手动安装,插件地址 http://plugins.jetbrains.com/pl ...

  9. activiti工作流框架简介

    常见的工作流框架:activiti, JBPM, OSWorkflow activiti框架基于23张基础的表数据, 基于Mybatis操作数据库. JBPM框架基于18张基础的表数据, 基于hibe ...

随机推荐

  1. Cognos入门教程

    Cognos入门教程 1. ReportStudio入门教程 ReportStudio入门教程(http://blog.csdn.net/column/details/ygy-reportstudio ...

  2. jquery获取父级元素、子级元素、兄弟元素的方法

    jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(&q ...

  3. 让你变成ASP木马高手

    .名称:如何制作图片ASP木马 (可显示图片) 建一个asp文件,内容为<!--#i nclude file="ating.jpg"--> 找一个正常图片ating.j ...

  4. 网络虚拟化技术(一): Linux网络虚拟化

    创建虚拟网络环境 使用命令 $ ip netns add net0 可以创建一个完全隔离的新网络环境,这个环境包括一个独立的网卡空间,路由表,ARP表,ip地址表,iptables,ebtables, ...

  5. JQuery事件e参数的方法preventDefault()取消默认行为

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. ios 去除UITextField中的空格

    NSString *qName =[userNameText.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNew ...

  7. linux shell中FS、OFS、RS、ORS图解

    在linux 中,总是会忘记FS\OFS\RS\ORS的使用 下面一张图非常明晰的显示

  8. Eclipse初体验

    Eclipse有很多个版本: 这里我们下载Eclipse for javaEE版,既可以写javaSE代码又可以写web代码,省去了很多插件配置的时间.官网下载地址:http://www.eclips ...

  9. OneThink友情链接插件使用!

    OneThink友情链接插件使用: 直接安装插件就好,查看数据库会有:onethink_links 这个表: 写 links 标签,调用友情链接: <?php namespace Common\ ...

  10. R的替换sub和gsub

    sub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE, fixed = FALSE, useBytes = FALSE) gsu ...