Activiti实战. 1.3Activiti的特点
1.3Activiti的特点
1. 数据持久化
Activiti的设计思想是简洁、快速。有过应用开发经验的开发人员都知道应用的瓶颈体现在和数据库交换数据的过程中,针对这一点Activiti选择了使用MyBatis,从而可以通过最优的SQL语句执行Command,仅凭如此就能让引擎在速度上保持最高的性能。
2. 引擎Service接口
Activiti引擎提供了七大Service接口,均通过ProcessEngine获取,并且支持链式API编程风格。表1-1简单列出七个Service接口及其作用,具体使用会在后面的章节陆续介绍。
表1-1Activiti引擎的七大Service接口
Service接口 作 用
RepositoryService 流程仓库Service,用于管理流程仓库,例如,部署、删除、读取流程资源
IdentifyService 身份Service,可以管理和查询用户、组之间的关系
RuntimeService 运行时Service,可以处理所有正在运行状态的流程实例、任务等
TaskService 任务Service,用于管理、查询任务,例如,签收、办理、指派等
FormService 表单Service,用于读取和流程、任务相关的表单数据
HistoryService 历史Service,可以查询所有历史数据,例如,流程实例、任务、活动、变量、附件等
ManagementService 引擎管理Service,和具体业务无关,主要是可以查询引擎配置、数据库、作业等
3. 流程设计器
在jBPM4时代有专门的Eclipse插件可以用来设计jPDL,同样Activiti团队也专门设计了用来设计BPMN 2.0规范的流程设计器—Eclipse Designer。此外还有Signavio公司为Activiti定制的基于Web的Activiti Modeler流程设计器。
4. 原生支持Spring
Activiti原生支持Spring,这一点对企业应用来说尤为重要:可以很轻松地进行Spring集成,非常方便管理事务和解析表达式(Expression)。
5. 分离运行时与历史数据
Activiti继承自jBPM4,在表结构设计方面也遵循运行时与历史数据的分离,这样的设计可以快速读取运行时数据,仅当需要查询历史数据时再从专门的历史数据表中读取。这种设计方式可以大幅提高数据的存取效率,尤其是当数据日积月累时依然能够快速反应。
相关文章
- 数据孤岛是业务效率的无声杀手
- 2023展望:新的一年将给大数据分析领域带来什么?
- 阿里云ADB基于Hudi构建Lakehouse的实践
- 大数据在医疗保健领域的使用案例
- 微软增加说明:KB5021751 更新扫描已经 / 即将过时 Office 过程中不会触碰用户隐私
- 2022 Gartner全球云数据库管理系统魔力象限发布 腾讯云数据库入选
- 场景化、重实操,分享一个实时数仓实践案例
- Arctic的湖仓一体践行之路
- 分布式计算MapReduce究竟是怎么一回事?
- 淘系数据模型治理优秀实践
- 大数据分析对医疗保健的影响
- 当我们说大数据Hadoop,究竟在说什么?
- 2022年及以后大数据的五个发展趋势
- 网易严选离线数仓治理实践
- 2023 年数据治理趋势
- 一份“靠谱”的年度经营计划,你学会了吗?
- 漫谈对大数据的思考
- 测试一下,读懂数据的能力,你有吗?
- 用艺术的眼光探索数据之美
- 聊聊数据分析成果如何落地