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

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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 时间序列预测——双向LSTM(Bi-LSTM)「建议收藏」

    时间序列预测——双向LSTM(Bi-LSTM)「建议收藏」  本文展示了使用双向LSTM(Bi-LSTM)进行时间序列预测的全过程,包含详细的注释。整个过程主要包括:数据导入、数据清洗、结构转化、建立Bi-LSTM模型、训练模型(包括动态调整学习率和earlystopping的设置)、预测、结果展示、误差评估等完整的时间序列预测流程。  本文使用的数据集在本人上传的资源中,链接为mock_kaggle.csv代码如下:importpandasaspdimportnumpyasnpimportmathimportkerasfromma

    2022年6月25日
    194
  • 解决WIFI无线连接或连接上很慢

    解决WIFI无线连接或连接上很慢

    2021年8月31日
    64
  • bootoption没有启动项_javacontinue的用法

    bootoption没有启动项_javacontinue的用法一、现象从fetch说起,用fetch构造一个POST请求。1fetch(‘http://127.0.0.1:8000/api/login’,{2method:”POST”,3headers:({4’Content-Type’:’application/x-www-form-urlencoded’5}),6body:”name=”+name…

    2025年6月27日
    3
  • 一个不容错过的Spring Cloud实战项目!

    mall-swarm作为mall项目的SpringCloud版本,目前已更新至最新代码,新增了权限管理功能。mall项目中的代码将一直保持最新,mall-swarm每过一段时间将从ma…

    2022年4月1日
    58
  • pycharm激活码2021【永久激活】

    (pycharm激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    156
  • 线程池参数及配置「建议收藏」

    线程池参数及配置「建议收藏」线程池-线程池参数及配置在实际项目中线程的应用都会使用线程池来管理,线程池的常用参数及配置学习记录。目录线程池-线程池参数及配置一、线程池在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如果并发的线程数多,并且每个线程都是…

    2022年5月3日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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