为了通过插件方式容纳多种流程语言和活动jBPM基于了流程虚拟机 本质上流程虚拟机是个特定可执行图形框架 个流程定义表现为个执行流 它拥有可以表现为图形种结构
流程虚拟机将流程定义从活动行为中切分了出来 流程虚拟机从个活动到下个获得获取可执行流程 并将活动行为委派给可插拔Java类 这里有个API(ActivityBehaviour)用来作为 流程虚拟机和活动行为代码接口像jPDL这类语言仅仅是 系列活动行为实现和解析器
图 2.1. 流程定义例子
般来说流程定义都是静态个流程定义由活动和转移组成 个活动运行时行为被封装在起 它是来自流程图形结果部分
图 2.2. 流程结构类图
流程虚拟机没有包含任何活动实现 它只提供了执行环境和活动API 可以当做Java组件来编写ActivityBehaviour实现 活动也可以使等待状态 这意味着活动控制流会来自于流程系统外部 比如个人工任务或者异步服务当执行处于等待状态 执行运行时状态可以保存到个数据库中
个流程定义可以启动多个执行 个执行是个指向当前活动指针
图 2.3. 执行例子
为了展示执行同步路径 这里是个父子继承关系 这样个流程例子可以复制执行同步路径
图 2.4. 执行类图
系列文章:
jBPM-4.0中文开发指南-第1章 介绍
jBPM-4.0中文开发指南-第3章 配置
jBPM-4.0中文开发指南-第4章 架构
jBPM-4.0中文开发指南-第5章 实现基本活动
最新评论