文章目录
- 概要
- 整体架构
- BPMN工作流程引擎的基本组成部分
概要
Active6是一个开源的轻量级、以Java为中心的BPMN引擎(全称是Business Process Model and Notation(业务流程模型与符号),是一种标准的图形化表示方法,用于描绘业务流程。BPMN 旨在为业务分析师、开发人员以及所有级别和职能的管理者提供一种易于理解的业务流程建模方式),主要用于解决分布式、高度可扩展且经济高效的基础架构中的自动化挑战。它支持实际的流程自动化需求,并提供了一系列核心接口和数据库表来管理流程部署、实例、任务等
整体架构
Active6提供了以下核心接口:
RepositoryService:管理流程部署和流程定义的API。
RuntimeService:在流程运行时对流程实例进行管理与控制。
TaskService:对流程任务进行管理,例如任务提醒、任务完成和创建任务等。
IdentityService:提供对流程角色数据进行管理的API,包括用户组、用户及它们之间的关系。
ManagementService:提供对流程引擎进行管理和维护的服务。
HistoryService:对流程的历史数据进行操作,包括查询、删除这些历史数据。
FormService:表单服务1。
数据库表
Active6使用了一系列数据库表来支持其功能,主要包括:
act_ge_:通用数据表,存储通用信息。
act_hi_:历史数据表,存储流程的历史数据。
act_id_:身份数据表,存储用户和用户组信息。
act_re_:流程存储表,存储流程部署和流程定义等静态数据。
act_ru_:运行时数据表,存储流程实例和用户任务等动态数据
BPMN工作流程引擎的基本组成部分
模型设计:
使用BPMN规范定义业务流程,包括活动、网关、事件等元素。
设计工具通常提供拖拽界面,方便非技术人员也能创建复杂的流程图。
流程执行:
流程引擎解析BPMN模型文件,并根据定义的流程逻辑执行任务。
引擎支持同步和异步任务处理,可以集成外部系统和服务。
任务管理:
用户任务由人完成,系统会为每个任务创建一个实例,并将其分配给指定的用户或组。
提供任务列表、提醒和报告等功能,帮助用户管理和跟踪任务进度。
数据管理:
在流程执行过程中,可能会涉及数据的读取和写入操作。
引擎支持变量存储,可以用来保存和传递流程中所需的数据。
监控与分析:
实时监控流程执行情况,包括性能指标、瓶颈分析等。
提供报表和仪表盘,帮助管理层做出决策。
BPMN工作流程引擎的工作流程
定义流程:首先,通过专业的BPMN建模工具定义业务流程,包括开始事件、结束事件、活动、网关(条件判断)等元素。
部署流程:将设计好的BPMN模型部署到工作流程引擎中,引擎负责解析模型并准备执行环境。
启动流程实例:当满足一定条件时(如接收到特定请求),启动流程实例。每个实例代表一次具体的流程执行过程。
执行任务:根据流程定义,引擎依次执行各个任务。对于自动任务,直接调用相关服务;对于人工任务,则通知相应的执行者。
流转控制:在遇到网关时,根据预设的条件决定下一个要执行的任务。
结束流程:当所有任务完成且达到流程定义中的结束点时,该流程实例终止。
监控与优化:通过监控工具收集流程运行数据,分析流程效率,识别潜在的问题点,持续优化流程设计。