当前位置:网站首页>Activiti目录(一)重点介绍
Activiti目录(一)重点介绍
2022-07-06 09:30:00 【爱机车的程序猿】
目录
介绍:
Activiti是什么
Activiti是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速、稳定的BPMN2.0流程引擎。Activiti是在ApacheV2许可下发布的,可以运行在任何类型的Java程序中,如:服务器、集群、云服务等。Activiti可以完美的与Spring集成,是基于简约的设计思想而创建。
Activiti的特点
- 数据持久化:Activiti设计思想是简洁与快速。一般情况下系统的瓶颈主要就体现在应用和数据库的交互上,针对这种情况Activiti选择了使用Mybatis,而通过最优SQL语句执行Command。
- 引擎Service接口:Activiti引擎提供了七大Service接口,都是通过ProcessEngine获取,同时支持链式API编程风格。
Service接口 | 作用 |
---|---|
RepositoryService | 流程仓库Service,用于管理流程仓库,如:部署、删除、读取流程资源 |
IdentifyService | 身份Service,可管理和查询用户、组之间的关系 |
TaskService | 运行时Service,处理所有正在运行的任务和流程实例等 |
RepositoryService | 任务Service,用于管理查询任务,如签收、办理、指派等 |
FormService | 表单Service,用于读取和任务、流程相关的表单数据 |
HistoryService | 历史Service,可查询所有历史数据 |
ManagementService | 引擎管理Service,和具体业务无关,可用查询引擎配置、数据库、作业等 |
- 流程设计器:Activiti团队设计了基于BPMN2.0规范的设计器-Eclipse Designer,除此还有Signavio公司为Activiti定制的基于Web的Activiti Modeler流程设计器。
- 原生支持Spring:当前企业开发,基本上都会基于Spring去开发自己的系统,由于Activiti原生支持Spring,所以很轻松地进行Spring集成。
- 分离运行时与历史数据:运行与历史数据的分离,可以加快运行时数据的性能,当需要历史数据时,我们在去查询。
Activiti的应用
- 在系统集成方面:与ESB整合 / 与规则引擎整合 / 嵌入已有系统平台(也是本项目的需求)
- 在其他产品中应用:Alfresco公司的ECM产品在企业中应用,主要涉及文档管理 / 协作 / 记录管理 / 知识库管理 / Web内容管理等。
Activiti框架与组件
Activiti最重要的就是引擎,除此之外就是外部的工具和组件。
Modeling | Runtion | Management |
---|---|---|
Activiti Modeler | Activiti Exproler | |
Activiti Designer | Activiti Engine | Activiti REST |
Activiti Kickstart |
下面对以上组件进行简单的说明:
- Activiti Engine:最核心的模块,提供针对BPMN2.0规范的解析 / 执行 / 创建 / 管理(任务-流程实例) / 查询历史记录并生成相应报表等。
- Activiti Modeler:模型设计器,非Activiti公司开发。用于将需求转换为规范流程定义。
- Activiti Designer:设计器,与Activiti Modeler功能类似。
- Activiti Exproler:用来管理仓库 / 用户 / 组,启动流程 / 任务办理等。
- Activiti REST:提供REST风格的服务,允许客户端以JSON的方式与引擎的REST API交互,协议具有跨平台 / 跨语。
边栏推荐
- ~77 linear gradient
- One hundred questions of image processing (1-10)
- How to configure hosts when setting up Eureka
- 姚班智班齐上阵,竞赛高手聚一堂,这是什么神仙编程大赛?
- 冯诺依曼体系结构
- [unsolved]7-14 calculation diagram
- 服务器端渲染(SSR)和客户端渲染(CSR)的区别
- LeetCode 1560. The sector with the most passes on the circular track
- J'ai traversé le chemin le plus fou, le circuit cérébral d'un programmeur de saut d'octets
- Error occurred during initialization of VM Could not reserve enough space for object heap
猜你喜欢
redux使用说明
Train 100 pictures for 1 hour, and the style of the photos changes at will. There is a demo at the end of the article | siggraph 2021
亮相Google I/O,字节跳动是这样应用Flutter的
~83 form introduction
Shell_ 01_ data processing
When it comes to Google i/o, this is how ByteDance is applied to flutter
The daemon thread starts redis and modifies the configuration file
Gridhome, a static site generator that novices must know
汇编语言寻址方式
Yao BanZhi and his team came together, and the competition experts gathered together. What fairy programming competition is this?
随机推荐
was unable to send heartbeat
How to generate six digit verification code
Cmake Express
Cartesian tree (modified)
(multiple methods, need to continue to see) 7-11 go deep into the tiger's Den
逻辑运算指令
LeetCode 1636. Sort the array in ascending order by frequency
Usage of insert() in vector
~71 abbreviation attribute of font
@RequestMapping、@GetMapping
Error: case label `15 'not within a switch statement
LeetCode 1566. Repeat the pattern with length m at least k times
100张图训练1小时,照片风格随意变,文末有Demo试玩|SIGGRAPH 2021
Shell_ 03_ environment variable
~68 Icon Font introduction
JS encapsulates the method of array inversion -- Feng Hao's blog
redux使用说明
Many papers on ByteDance have been selected into CVPR 2021, and the selected dry goods are here
我在字节跳动「修电影」
DS18B20数字温度计系统设计