基于BPM的低代码开发平台应具备什么功能
一个BPM平台应该具备什么样的功能
用户在选型BPM软件的时候往往不知道该关注哪些功能,什么样的BPM软件能满足国内企业应用需求,笔者从多年BPM研发和实施经验提炼了中国特色BPM应该具备的功能,帮助企业在研发或者选型时参考。
BPM定义
-
IBM对BPM的定义:在业务流程的整个生命周期中对业务流程进行建摸、开发、部署和管理来实现业务策略的it治理过程。
-
Gartner对BPM的定义:是一个描述一组服务和工具的一般名词,这些服务和工具为显式的流程管理(如流程的分析、定义、执行、监视和管理)提供支持。
参考IBM和Gartner对BPM的定义,实际上BPMS软件主要包括流程建模、流程开发、流程执行、流程监控这几个重要部分。以下按照大组件划分梳理需求:
- 流程设计器:对应流程建模功能
- 流程引擎:对应流程执行功能
- 流程监控:对应流程监控和管理功能
- 流程门户:完成流程提交审批的人机交互界面
- 电子表单:对应流程开发功能,表单是流程流转的载体,尤其是国内的人工审批流程
- 系统管理:一个系统必备的基础功能
BPM应该具备的功能
流程设计器
序号 | 功能 | 描述 |
---|---|---|
1 | 流程图在线设计 | 支持在 Web 页面采用拖拽方式设计流程,支持常见节点类型,流程每个环节均可图形设计属性值 |
2 | 流程规范标准 | 满足BPMN2.0规范 |
3 | 节点类型配置 | 支持常见的BPMN节点类型,包括:开始、结束、人工活动、自动活动、网关、子流程等,这些均需要可视化配置 |
4 | 操作类型配置 | 可配置提交、退回、加签、转发等功能按钮 |
5 | 流程表单配置 | 跟电子表单集成,可配置流程启动表单和审批表单,不同节点可以是不同表单 |
6 | 表单权限配置 | 在流程节点上配置表单字段读写权限 |
7 | 组织用户配置 | 跟组织用户集成,可以配置部门、人员、岗位、角色等多维度的选人规则 |
8 | 网关条件配置 | 网关路由条件配置可视化 |
9 | 流程事件配置 | 可在流程全局和节点上,配置流程的前后处理事件 |
10 | 流程模型导出 | 流程模型导出为xml模型文件 |
11 | 流程模型导入 | xml流程模型可以直接导入 |
12 | 保存新版本 | 支持将修改后的流程保存为新的版本,不影响旧的流程版本 |
流程引擎
序号 | 功能 | 描述 |
---|---|---|
1 | 流程流转模式 | 支持顺序、并行、同步、异步、子流程等多种流转模式 |
2 | 多种节点类型 | 支持开始、结束、人工活动、自动活动、网关等多种节点类型的解析和执行 |
3 | 节点处理规则 | 人工活动节点支持单人处理、多人并行、多人顺序、多人任意规则 |
4 | 多种办理人规则 | 人工活动节点支持人员、部门、岗位、角色、流程变量、自定义类、动态规则等多种办理人规则 |
5 | 办理人关系设定 | 支持关系规则,满足动态选人:处理人同部门人员、直接部门领导、上级部门领导、上级部门某岗位等 |
6 | 组织机构集成 | 支持跟组织机构API接口集成,支持部门、人员、岗位、角色等 |
7 | 人员兼职部门 | 支持组织机构中一人多部门多岗位的情况,发起流程和审批流程均可按照不同部门岗位进行 |
8 | 电子表单集成 | 支持跟电子表单集成,不同节点可配置不同表单 |
9 | 流程数据权限 | 流程处理人、传阅人、读者分别通过流程门户或业务模块进入时,看到对应权限的流程数据 |
10 | 支持子流程 | 支持启动一个、多个子流程;支持子流程与主流程同步、异步流转;支持主子流程之间的数据相互传递 |
11 | 支持协办 | 支持办理过程的协办人选择 |
12 | 支持读者 | 支持办理过程的读者选择,不参与流程操作,但有权限看到流程和表单 |
13 | 支持代办 | 支持设置流程代办人,并可以将尚未办理的待办事宜转发给代办人 |
14 | 办理时限设定 | 可以按照工作日、自然日设置办理时限,超期自动处理方式选择 |
15 | 自动催办 | 系统按照内置的计划任务,对达到警告时限的流程自动发送催办消息 |
16 | 流程提交 | 支持流程提交操作,操作名称可以自行定义 |
17 | 协办提交 | 协办参与人执行流程提交操作 |
18 | 退回申请人 | 直接把流程退回给申请节点 |
19 | 退回上一步 | 退回流程上一节点 |
20 | 退回任意节点 | 退回到流程走过任意一个节点 |
21 | 跳转 | 可以将当前流程实例跳转到任意办理节点 |
22 | 拿回 | 在当前办理人尚未处理文件前,允许上一节点提交人员执行拿回 |
23 | 撤销 | 流程发起者可以对流程进行撤销处理 |
24 | 转办 | 允许将流程直接提交给其他人员 |
25 | 催办 | 可以给当前办理人员发送催办通知消息 |
26 | 加签 | 允许当前办理人根据需要自行增加当前办理节点的办理人员 |
27 | 减签 | 在当前办理人操作之前减少办理人 |
28 | 会签 | 将文件发送给多人传阅,支持并行会签和顺序会签 |
29 | 传阅 | 将文件发送给多人传阅,不影响流程走向 |
30 | 流程挂起 | 可以挂起、恢复当前流程实例 |
31 | 流程终止 | 可以强制终止当前流程 |
32 | 上下游流程 | 支持端到端的上下游流程执行、展示 |
33 | 关联流程 | 支持关联流程设置、展示 |
流程监控
序号 | 功能 | 描述 |
---|---|---|
1 | 流程模板管理 | 显示所有流程模板列表,可打开、编辑、删除流程模板 |
2 | 流程实例管理 | 显示所有流程实例列表,管理员可进行流程跟踪、流程暂停、流程恢复、增加处理人、删除处理人、流程跳转等操作 |
3 | 流程超期统计 | 统计实例数超期最多的流程排名 |
4 | 流程耗时统计 | 统计总耗时最长的流程排名 |
5 | 最热流程统计 | 统计实例数最多的流程排名 |
6 | 办理效率统计 | 以人为维度,统计发起流程数量排名、处理流程数量排名、平均处理时间排名、待办处理超时排名 |
流程门户
序号 | 功能 | 描述 |
---|---|---|
1 | 发起流程 | 列出流程列表,可以发起流程办理,或查看流程图 |
2 | 我的待办 | 显示我的待办任务列表 |
3 | 我的申请 | 显示我发起申请的流程 |
4 | 我的传阅 | 显示需要我待阅的任务列表 |
5 | 我的已办 | 显示我办理过的任务列表 |
6 | 工作委托 | 按流程指定工作委托人,指定后委托人会收到待办任务,并代为办理 |
电子表单
序号 | 功能 | 描述 |
---|---|---|
1 | 表单在线设计 | 支持在 Web 页面采用拖拽方式设计表单,表单元素可图形化设计属性值 |
2 | 表单布局 | 支持表格布局、栅格布局、卡片布局等 |
3 | 表单事件 | 表单元素onClick、OnChange事件,表单CRUD前后处理事件 |
4 | 基础控件 | 文本框、下拉框、复选框、单选框、日期等 |
5 | 高级控件 | 子表、页签、选人框、弹出列表页、附件上传、图片上传等 |
6 | 表单按钮扩展 | 可增加自定义表单按钮,并绑定事件 |
7 | 多数据源支持 | 支持对多个数据源进行表单设计和CRUD操作 |
8 | 表单打印 | 在线web打印表单 |
9 | 表单URL发布 | 表单设计完成后,可以发布成独立URL,方便集成 |
10 | 页面在线设计 | 支持在 Web 页面采用拖拽方式设计页面,可配置查询区域、按钮区域、列表区域 |
11 | 页面布局 | 支持页面上下、左右、左上下等多种布局,可扩展自定义布局 |
12 | 单表页面 | 基于单个表配置出来的页面,包括查询和数据展示 |
13 | 主子表页面 | 基于主子表配置出来的页面,包括主表查询和数据展示、子表查询和数据展示 |
14 | 树表页面 | 配置左面是树结构,右面是表结构的页面 |
15 | 自定义SQL页面 | 通过多张表关联写SQL实现查询统计页面 |
16 | 页面事件 | 页面加载前后的处理事件 |
17 | 页面按钮扩展 | 可增加页面自定义按钮,并绑定事件 |
18 | 页面URL发布 | 页面设计完成后,可以发布成独立URL,方便集成 |
19 | 自动生成代码 | 表单和页面模型可以生成物理代码,方便二次开发 |
系统管理
序号 | 功能 | 描述 |
---|---|---|
1 | 组织管理 | 企业组织机构信息的增删改查,导入导出 |
2 | 用户管理 | 企业用户信息的增删改查,导入导出 |
3 | 职务管理 | 企业用户职务管理,比如:总经理、部长等 |
4 | 岗位管理 | 企业用户岗位管理,比如:架构师、开发工程师 |
5 | 角色管理 | 企业用户角色管理,主要用在授权和流程选人 |
6 | 菜单管理 | 系统菜单配置管理 |
7 | 资源权限 | 系统菜单、按钮、字段的读写权限管理 |
8 | 数据权限 | 系统中业务数据查询的行权限、列权限管理 |
9 | 数据字典 | 系统中key-value类字典管理,比如:男:1,女:2 |
10 | 日志审计 | 系统登录日志、操作日志记录和查询 |
11 | 门户配置 | 支持按照角色配置不同的系统首页 |
12 | 消息通知 | 系统中消息提醒,用于重要任务提醒用户 |
总结
能满足上述功能的国内老牌的BPM软件有:泛微BPM、炎黄盈动BPM、蓝凌BPM、普元BPM等,新型的BPM软件有:云程BPM、道一云BPM、明道云、简道云、易搭等,老牌的BPM软件功能比较强大,但架构普遍偏陈旧,很难满足现在主流的微服务、容器云、前后端分离等架构要求,新型的BPM软件架构较先进,基本上都是云原生架构,为应用上云设计的,功能方面侧重点不同,云程低代码开发平台(http://www.yunchengxc.com)偏向于流程引擎、低代码开发和云适配,简道云、易搭偏向于数据和报表,但功能方面跟老牌BPM比较,还存在一定差距。
对于打算自己研发BPM的企业,选用开源的流程引擎,比如:JBPM、Activiti、Flowable、Camunda等,也是一个不错的选择,但是开发工作量较大,因为开源的流程引擎几乎没有拿来即用的,需要做大量的扩展和定制开发,才能在生产环境应用。
专注云原生、低代码、流程引擎研发和应用。免费体验环境:http://www.yunchengxc.com