java activiti 工作流引擎_Activiti工作流引擎简介详解

java activiti 工作流引擎_Activiti工作流引擎简介详解Activiti工作流引擎简介一、概述Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人TomBaeyens是JBossJBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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中最核心的类,其他的类都是由他而来。

//用法

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();//例如:生成RepositoryService(管理流程定义 )

RepositoryService

repositoryService=processEngine.getRepositoryService();//例如:生成RuntimeService (执行管理,包括启动,推进,删除流程实例 等操作)

RuntimeService

runtimeService=processEngine.getRuntimeService();//例如:生成TaskService(任务管理)

TaskService

taskService=processEngine.getTaskService();

2,RepositoryService

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

3,RuntimeService

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

4,TaskService

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

5,HistoryService

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

6,ProcessDefinition

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

7,ProcessInstance

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157614.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 区别 git clone 与 git pull

    区别 git clone 与 git pull1、gitclone与gitpull相同点相同点:都是从远程服务器拉取代码到本地2、gitclone与gitpull不同点gitclone是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。gitpull在本地有版本库的情况下,从远程库获取最新commit数据(如果有的话),并merge(合并)到本地。gitpull=…

  • Java与Python哪个更好?「建议收藏」

    Java与Python哪个更好?「建议收藏」一些开发人员声称Python比Java更有生产力。但更应先说明的是:Python和Java有什么区别?PythonvsJava            Java是一个典型化的编程语言,这意味着变量名必须显示声明。相比之下,我们有动态类型的Python,它不需要声明变量。对于编程语言的动态和静态类型有很多争论。不过请注意这样一个特征:Python是一个有着简单句法的多样性的语…

  • 【深度学习入门】——亲手实现图像卷积操作[通俗易懂]

    【深度学习入门】——亲手实现图像卷积操作[通俗易懂]深度学习中有一个很重要的概念就是卷积神经网络CNN,卷积神经网络中又有卷积层、池化层的概念。尤其是卷积层,理解难度比较大,虽然书中或者是视频中都有详细介绍过它的基础概念,但对于求知欲望很强烈的我,我总心里痒痒的,总想亲手实现,看看效果,怕的就是自己会眼高手低,做技术人最可怕的就是眼高手低。所以,我打算用python来亲自验证一遍。什么是卷积?卷积(convolution)是数学知…

  • python3翻转字符串里的单词

    python3翻转字符串里的单词

  • kafka批量删除topic_kafka查看topic数据量

    kafka批量删除topic_kafka查看topic数据量利用kafka命令删除topic不成功。kafka-topics.sh–zookeeperhadoop111:2181–delete–topictest原因&解决方式1.配置文件未将delete.topic.enable=true,导致删除命令未及时生效;解决方式:第一种:找到conf目录下server.properties配置文件,修改delete.topic.enable=true,代表删除立即生效;[ssrs@hadoop111config]$pwd/opt/mod

    2022年10月16日
  • RGBD融合原理及实践[通俗易懂]

    RGBD融合原理及实践[通俗易懂]RGBD融合原理及实践前言原理部分实践前言好久没更新博客了,主要是因为懒,最近有些得闲,决定纪录下之前的工作。RT,RGBD数据融合其实就是将3D摄像机的RGB与Depth数据做融合显示的过程,做法也不难理解,就是将depthcamera与rgbcamera的像素对应起来即可。原理部分原理部分主要借鉴这篇博文,详细的公式在这就不作重复了,贴张图吧。从上面的博客或图片可以看出,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号