认识Activiti
之前没有用到过工作流,这次由于需要,用到了Activiti工作流引擎,首先要做的就是先来了解一下什么是工作流引擎,它能够完成什么的任务,我们在什么情况下选用工作流引擎来处理问题。
1、Activiti由来?
Activiti的创始人也就是JBPM的创始人,从JBoss离职后开发了一个新的BPM引擎-----Activiti。由于是JBPM的创始人发明的Activiti,故其中有很多JBPM的身影,Activiti的遵守的设计原则是一致的:强调流程服务的可嵌入性和可扩展性。
2、什么是Activiti?
Activiti的核心是BPMN2.0的流程引擎,它实现了BPMN2.0的规范,可以发布设计好的流程定义,并通过API进行流程调度。它是基于Java的超快速、超稳定的流程引擎,强调服务的可嵌入性和可扩展性,同时更加强调面向业务。
BPMN是全球BPM厂商广泛接受的BPM标准,全称为Business Process Model and Natation。
3、核心组件
3.1 ProcessEngine:流程引擎抽象,通过它可以获取我们需要的一切服务
3.2 RepositoryService:Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署
文件和支持数据,这些文件都存储在Activiti内建的Repository中。RepositoryService提供对
repository的存取服务。
3.3 RuntimeService:在Activiti中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象
实例。RuntimeService提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供
了对流程部署,流程定义和流程实例的存取服务
3.4 TaskService:在Activiti中业务流程定义中的每一个执行节点被称为一个Task,对流程中的数据存取,
状态变更等操作均需要在Task中完成。TaskService提供了对用户Task 和Form相关的操作。它提供了
运行时任务查询、领取、完成、删除以及变量设置等功能
3.5 IdentityService: Activiti内置的了用户以及组管理的功能,必须使用这些用户和组的信息才能或得到
相应的Task。
3.6 ManagementService: 提供了对Activiti流程引擎管理和维护的工鞥,主要用于Activiti系统的日常维护
3.7 HistoryService:用于获取正在娙或已经完成的流程的信息,与RuntimeService中获取的流程信息不同,
历史信息包含已经持久化存储的永久信息。
3.8 FormService:Activiti中的流程和状态Task均可以关联业务相关的数据。通过使用Form Service可以存取
启动和完成任务所需的表单数据并且根须需要来渲染表单。
4、怎么用?
使用场景:多人协作完成的业务流程场景。
比如:请假
开始--请假-->审批(项目经理)--->审批(总经理)--->结束
5、总结
对于Activiti还是刚开始研究,还需要接下来继续做例子来实现,究竟跟其他的流程引擎有什么差别,或者说这是怎样的一个演变过程,只有比较过之后才能做出自己选择。
认识Activiti的更多相关文章
- 流程开发Activiti 与SpringMVC整合实例
流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...
- activiti工作流的web流程设计器整合视频教程 SSM和独立部署
本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...
- activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署
本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...
- 文档分享-Activiti 5.16 用户手册
今天在翻看工作流相关的网页的时候,在开源中国上http://www.oschina.net/question/915507_149175发现activiti的中文文档:http://www.mossl ...
- 1. Activiti 运行时表信息总结
Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository. 这个前缀 ...
- Activiti学习(二)数据表结构
Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. l ...
- Activiti学习(一) 环境搭建
原料:Activiti5.4 MyEclipse 10 1.先将activiti文件夹放置myeclipse的安装目录dropins文件夹下2.将activiti文件夹里activiti.link中 ...
- Activiti工作流学习(三)Activiti工作流与spring集成
一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...
- activiti当前任务高亮(解决乱码问题)
package com.xinwei; import java.io.File; import java.io.InputStream; import java.util.ArrayList; imp ...
- activiti 中文文档
http://www.mossle.com http://www.mossle.com/docs/activiti/index.html
随机推荐
- 《Linux就该这么学》自学笔记_ch21_使用Git分布式版本控制系统
<Linux就该这么学>自学笔记_ch21_使用Git分布式版本控制系统 文章主要内容: 分布式版本控制系统 使用Git服务程序 提交数据 移除数据 移动数据 历史记录 还原数据 管理标签 ...
- hanlp进行命名实体识别
需要安装jpype先,这个是python调用java库的桥梁. # -*- coding: utf-8 -*- """ Created on Thu May 10 09: ...
- python 基础 ---- 面向对象
------ 面向对象的思想 三个基本特征: 封装(封装属性方法可以减少耦合)继承(可以抬高开发效率) 多态 主要包括 : 类 : 描述具有相同的属性和方法的对象的集合 变量: 类变量/ 成 ...
- KAFKA 节点配置问题
-- ::, INFO o.a.j.e.StandardJMeterEngine: Running the test! -- ::, INFO o.a.j.s.SampleEvent: List of ...
- linuxmint安装Tools找不到Tools的压缩包问题
安装Linuxmint之后按照惯例安装Tools,打开桌面上的Tools光盘之后找不到压缩包. PS:因为已经装好了,就不上图了,按照下面的步骤做就没有问题了. 1:找到vmware的安装目录下的li ...
- 无法打开内核设备:\\Global\\vmx86
关于如题目的问题,网上有好几个解决办法,这里只介绍最方便的一个办法,利用脚本来解决 @Echo Off title Hankcs's program color 8F CD %~d0 CD %~dp0 ...
- 使用Nginx 对Laravel 进行负载
项目环境php7.2, nginx , Laravel,开发的微信公众号应用 .目前访问量的上升,单台服务器不能满足需求,于是用nginx做了负载.以下是一种可行性方案,目前正在使用. session ...
- Java自学-接口与继承 对象转型
Java中的对象转型 示例 1 : 明确引用类型与对象类型的概念 首先,明确引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是A ...
- 如何快速找到Chrome配置文件路径,MAC 与window 都适用
Chrome 的配置文件主要用于存储浏览器的相关配置.书签.扩展插件和密码等,Chrome 配置文件会存储在用户计算机的一个单独文件夹当中,当你升级或重装浏览器时,这些已有配置将可以被完整保存下来. ...
- 【开发笔记】-Ubuntu环境命令初始化
更新apt-get命令 apt-get update 安装yum命令 首先检测是否安装 build-essential 包 sudo apt-get install build-essential 安 ...