什么是BPM
BPM(Business Process Management)即业务流程管理,源自业界BPMN 2.0标准。AstroZero基于该规范实现了自己的业务流程管理系统,由于BPM本身已经成为了业界一套行业规范,因此在AstroZero称实现此类流程的引擎为BPM流程编排,以下简称BPM。
与服务编排类似,BPM也是一套图形化的流程编排引擎,但是BPM着重于构建带有用户交互行为的业务流程,例如审批流、工单派发流程等。
BPM与服务编排有以下三点核心区别:
- BPM描述的是用户交互流程,使用用户任务将人和页面进行了关联,而服务编排描述的则是单次的业务操作。
- BPM内置实现了顺序审批、或签、会签、投票等任务分派规则,可基于用户任务实现复杂的任务分派规则,应对复杂的交互流程。
- BPM对每次用户交互都会产生流程历史并可以在流程历史中查看,对于非交互类流程这是非必要的。
以上也是BPM更适合制作交互式流程的原因。人工交互流程需要页面的结合、需要对复杂的分配规则的封装,需要能够进行事后审计的能力。而对于系统的服务编排是不必要的,并且,记录日志反而可能会造成不必要的性能损失。
因此,结合两者的不同场景,BPM可与服务编排结合进行使用。服务编排用于实现系统的具体逻辑操作,BPM通过调用服务编排、关联用户任务与页面,实现多次人机交互的流程,例如审批流、工单分发等场景。
初识BPM
在经典版应用设计器中,将光标放在应用的某个目录上,单击“+”,选择“BPM”。在弹出的“添加工作流”中,设置BPM的标签和名称后,单击“添加”,即可进入BPM设计界面。
BPM设计界面由上方按钮区域、左侧面板图元区域、中间画布工作区域和右侧属性配置区域四部分组成。
序号 |
分类 |
功能说明 |
---|---|---|
1 |
按钮区域 |
功能按钮区域,包括锁定、解锁、启用(或者禁用)、保存、另存为新版本或者新BPM、运行、操作回退、撤销回退、启用流跟踪器以及切换版本的操作。支持快捷键操作,即可脱离鼠标直接用键盘操作。 |
2 |
面板图元区域 |
BPM的组成图元,详细介绍请参见BPM图元。 |
3 |
画布工作区域 |
设计操作区域,在该区域可对BPM进行具体流程设计、组件放置。 选中图元或者泳道按“Delete”,可进行删除操作。 |
4 |
属性配置区域 |
整个BPM、泳道(Lane)或者图元属性设置区域。
|
如下是开发BPM的主要步骤,可根据以下步骤快速开发BPM。如何创建一个端到端的BPM,请参见简易出差审批应用开发。
步骤序号 |
相关术语 |
描述 |
操作 |
---|---|---|---|
1 |
创建BPM |
|
|
2 |
(可选)BPM的开始类型 |
一般选择“自定义”,当BPM由表单或者页面启动时,选择“表单”类型。 |
选中“Star”开始图元,设置开始类型,一般选择“自定义”。当BPM由表单或者页面启动时,选择“表单”类型。 |
3 |
创建或配置BPM变量 |
创建对象或全局结构体。 |
在全局上下文中,根据实际情况进行创建。 |
4 |
定义泳道并选择图元 |
|
|
5 |
配置图元 |
在泳道中,选中图元后,即可根据需要在右侧属性配置区,进行配置。 |
可以根据需要选择图元,进行配置。
|
6 |
连接图元并指定图元的逻辑关系 |
根据实际业务场景,需要确定BPM中用到的图元和逻辑顺序。根据逻辑实现,需要在拖入并配置好所有图元后,将图元按照逻辑顺序有序的连接起来。在执行BPM时,系统会根据连线顺序有序执行图元任务,从而实现整个流程运转。 |
根据逻辑设计有序连接各图元。 |
7 |
(可选)配置运行态界面布局 |
在配置完整个BPM图元及流程后,还可根据需要选择性的配置BPM运行态界面布局。 |
- |