工作数字化的中国历程 | 从 OA 到 BPM 到数字流程自动化
业务流程是由“活动”(或称“工作任务”)构成的,在企业里的所有工作是不是都叫流程,或者属于流程的一部分,这个概念很绕,我觉得没有必要去做学究气的辨析。我曾经提出过一个从工作的两个特性(产出确定性和过程结构性)维度,将企业里工作分成四种模式,有些人可能把这四种模式都叫“业务流程”或“流程”,所以我在下文里,并不严格区分“工作”和“流程”的概念区别。

业务流程设计是工作数字化的起点,通过数字化业务流程设计工具产出的“业务流程模型”,只是对工作的定义,这些工作要运行起来,还需要执行平台,执行平台就叫“工作流(workflow)”。
对工作进行管理、调度的工具叫“工作流引擎”,一个实际运行的工作流可以说是一个流程模型的实例(instance),工作流就是对信息对象在工作空间的处理和流转,这些信息对象可以是一个非结构化信息对象,例如文本,也可以是结构化信息对象,例如表单,还可以是对外部信息系统或者服务的调用和操作。
工作流引擎的原理如下图:

工作流引擎和业务流程设计是两个不同的信息系统,这两个系统加起来构成了所谓“业务流程管理系统(BPMS)”的主要部分。不过在实际软件产品应用中,工作流引擎也可以不依赖于复杂的流程设计工具而单独存在。此外,我们前文所说的四种的工作模式,一般来说只有“流程”可以用业务流程设计工具来建模,另外三种模式用其他的方式来进行工作建模,或者因为结构化低就没法预先建模,但是这四种工作模式如果要进行工作管理,都需要工作流引擎。所以简单说就是——业务流程要落地运行,一定需要工作流引擎,工作流引擎不一定是支持业务流程的,而是支持一切工作模式。
工作流引擎本身是个“无头”的信息系统,即没有前端界面,它调度并唤起的工作,是交给人去操作,随着技术发展,也包括了用 RPA机器人来代替人。人或者 RPA被工作流通知去操作的界面,既可以是一个工作前台(这就是所谓的 OA),也可以进到任何一个企业系统或者 SaaS 里去。
内容管理是和工作流引擎同步产生的另一个系统,主要是管理工作相关的非结构信息,用于在工作流中流转,例如文档。主流的内容管理厂商(例如 IBM, OpenText)都发展了工作流引擎软件,这也是BPM 软件的一个分支。
最近十来年随着技术进步,跟工作流引擎相关,产生了其他提升数字化工作的编排、规则、决策的效率和智能化的软件工具,包括:
-低代码开发:让用户能快速开发数据模型、表单、工作流以及用户界面
-规则和优化:支持复杂的工作流转规则,利用机器学习和人工智能,优化工作步骤和路径的决策
-流程挖掘:发现流程的实际运行情况,支持优化流程的决策
-商业智能:发现业务的实际运营情况,支持优化业务的决策
工作流引擎唤起的工作最近几年有两个发展趋势,一是 RPA 机器人发展,二是随着企业应用系统(包括邮件、 ERP、CRM 等)云服务化,SaaS云服务之间采用 API 集成成为主流技术。所以现在国外市面上很多新兴的 RPA 厂商、API 集成厂商也纷纷声称自己是 BPM 厂商,或者使用了“数字流程自动化(DPA)”这个更时髦的词。
在中国的数字化生态比国外要落后很多,因为国内企业SaaS 应用不是很普及,很少出现API集成厂商,目前国内还很少炒作自己是 DPA 的。
无论是结构化工作,还是非结构化工作,其数字化工作场景的总体架构是这样的:

最后我来总结下企业 IT 市场的发展,从 90 年代出现业务流程建模和工作流软件技术,到 2010 年左右 业务流程管理系统这个词开始流行,再到今天厂商们包装炒作数字流程自动化(DPA)以及超自动化(hyper-automation),虽然 buzz word 在不断变化,其技术原理和产品理念是一脉相承的。
国内有一个中国特色、国外没有的 IT 系统名词,即办公自动化(OA)系统。实际上办公自动化系统就是一个以工作流引擎为内核,包括了文档管理、邮件服务和用户操作界面的系统。这个概念是从 2000 年以后开始的,因为中国企业普遍没有使用邮件的习惯,同时对审批有很高需求,需要一个兼具信息沟通和文件审批的操作界面系统,所以就出来了这个有中国特色的系统。早期工作流软件的主流技术是非结构化信息文档工作流,以 IBM Domino 为代表,所以国内第一代 OA 大多是使用文档工作流,直到今天,很多国内大型企业还是在使用这种类OA。
到 2005 年后,处理结构化数据、数据库驱动的表单工作流技术开始流行,用这一代技术做OA的厂商,为了和上一代产品以示区分,就把自己叫 BPM 而不叫 OA,所以国内企业软件圈前些年一直有 “OA 和 BPM 之分”的口水战,延续至今。今天网上常看到一些 OA 和 BPM 比较的文章,如果不了解这背后的技术发展历史,常让人看得云里雾里,其实他们说的OA 和 BPM 之分,也就是饺子和馄饨的区别。在我来看国内 OA厂商给自己贴的BPM 标签,和主流 BPM厂商对 BPM 内涵和外延的定义,还是有较大区别。
另外一个行业 Buzzword 就是低代码以及APaaS,他们和 BPM 也有密切联系,我总结了一下市面上厂商的产品话术所包含的真实含义:

- END -
相关文章:
工作数字化的中国历程 | 从 OA 到 BPM 到数字流程自动化
业务流程是由“活动”(或称“工作任务”)构成的,在企业里的所有工作是不是都叫流程,或者属于流程的一部分,这个概念很绕,我觉得没有必要去做学究气的辨析。我曾经提出过一个从工作的两个特性(产…...
6-1 二叉排序树查找操作
description 本题要求实现二叉排序树的查找操作。 函数接口定义: BSTree SearchBST(BSTree T,ElemType e); 其中BSTree结构定义如下: typedef int ElemType; typedef struct BSTNode { ElemType data; struct BSTNode *lchild,*rchild; }BSTNode,*BS…...
服务上千家企业,矩阵通2.0重磅上线,全链路管理新媒体矩阵
自上线以来 矩阵通已服务了上千家企业级客户 覆盖汽车、家居、媒体、金融、教育等多个行业 矩阵通1.0时代 我们以“数据”为基座打造出10功能 帮助企业轻松管理新媒体矩阵 实现账号管理、数据分析、竞对监测、 人员考核、风险监管等需求 而现在 矩阵通2.0重磅上线 新增…...
【代码随想录】算法训练计划11
1、20. 有效的括号 题目: 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号…...
Jmeter之JSR223
一、JSR223组件 JSR是Java Specification Requests的缩写,意思是Java规范提案。JSR已成为Java界的一个重要标准. JSR223其实包含了有好几种组件,但是其用法都是一致的,并且都是执行一段代码,主要分类如下: JSR223 PreProcessor JSR223 Timer JSR223 S…...
c++23中的新功能之十八新增的属性
一、c23新的属性 在前面的分析中说过,各种语言的发展整体思路是一致的,即朝着更加实用、简单和更接近自然语言的方向在前进。c23中也在不断的完善和增加相关开发的一些属性和预编译处理指令,这样就可以让开发者在开发的过程中对程序进行控制…...
动手学深度学习:1.线性回归从0开始实现
动手学深度学习:1.线性回归从0开始实现 1.手动构造数据集2.小批量读取数据集3.初始化模型参数4.定义模型和损失函数5.小批量随机梯度下降更新6.训练完整代码 1.手动构造数据集 根据带有噪声的线性模型构造一个人造数据集,任务是使用这个有限样本的数据集…...
【计算机网络】应用层
应用层协议原理 客户-服务器体系结构: 特点:客户之间不能直接通信;服务器具有周知的,固定的地址,该地址称为IP地址。 配备大量主机的数据中心常被用于创建强大的虚拟服务器;P2P体系结构: 特点&…...
python 深度学习 解决遇到的报错问题9
本篇继python 深度学习 解决遇到的报错问题8-CSDN博客 目录 一、can only concatenate str (not "int") to str 二、cant convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, in…...
能源管理系统为什么选择零代码开发平台?
市面上有很多能源管理系统,但是零代码开发能源管理系统却非常少。那为什么推荐选择零代码开发平台呢?因为很多企业缺少技术人员,但是却仍然需要数字化工具和流程推进业务和项目,解决能源管理技术人员不懂代码的矛盾问题࿰…...
【LeetCode】剑指 Offer Ⅱ 第8章:树(12道题) -- Java Version
题库链接:https://leetcode.cn/problem-list/e8X3pBZi/ 类型题目解决方案二叉树的深搜剑指 Offer II 047. 二叉树剪枝递归(深搜):二叉树的后序遍历 (⭐)剑指 Offer II 048. 序列化和反序列化二叉树递归&…...
利用maven的dependency插件将项目依赖从maven仓库中拷贝到一个指定的位置
https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html 利用dependency:copy-dependencies可以将项目的依赖从maven仓库中拷贝到一个指定的位置。 使用默认配置拷贝依赖 如果直接执行mvn dependency:copy-dependencies,是将项目…...
在Flask中实现文件上传七牛云中并下载
在Flask中实现文件上传和七牛云集成 文件上传是Web应用中常见的功能之一,而七牛云则提供了强大的云存储服务,使得文件存储和管理变得更加便捷。在本篇博客中,我们将学习如何在Flask应用中实现文件上传,并将上传的文件保存到七牛云…...
【Linux】centOS7安装配置及Linux的常用命令---超详细
一,centOS 1.1 centOS的概念 CentOS(Community Enterprise Operating System)是一个由社区支持的企业级操作系统,它是以Red Hat Enterprise Linux(RHEL)源代码为基础构建的。CentOS提供了一个稳定、可靠且…...
【ES专题】ElasticSearch搜索进阶
目录 前言阅读导航前置知识特别提醒笔记正文一、分词器详解1.1 基本概念1.2 分词发生的时期1.3 分词器的组成1.3.1 切词器:Tokenizer1.3.2 词项过滤器:Token Filter1.3.3 字符过滤器:Character Filter 1.4 倒排索引的数据结构 <font color…...
【iOS免越狱】利用IOS自动化WebDriverAgent实现自动直播间自动输入
1.目标 由于看直播的时候主播叫我发 666,支持他,我肯定支持他呀,就一直发,可是后来发现太浪费时间了,能不能做一个直播间自动发 666 呢?于是就开始下面的操作。 2.操作环境 iPhone一台 WebDriverAgent …...
Python基础入门例程28-NP28 密码游戏(列表)
最近的博文: Python基础入门例程27-NP27 朋友们的喜好(列表)-CSDN博客 Python基础入门例程26-NP26 牛牛的反转列表(列表)-CSDN博客 Python基础入门例程25-NP25 有序的列表(列表)-CSDN博客 目录…...
乌班图 Linux 系统 Ubuntu 23.10.1 发布更新镜像
Ubuntu 团队在其官网上发布了Ubuntu 23.10.1 版本,这是目前较新的 Ubuntu 23.10(Focal Fossa)操作系统系列的第一个发行版,旨在为社区提供最新的安装媒体。Ubuntu 22.04 LTS(Focal Fossa)操作系统系列于 2022 年 4 月 21 日发布。 Ubuntu 23.10 LTS(长期支持版本)可用…...
Java金字塔、空心金字塔、空心菱形
Java金字塔 public class TestDemo01 {public static void main(String[] args){//第一个for用于每行输出 从i1开始到i<5,总共5行for(int i1;i<5;i){//每行前缀空格,这个for用于表示每行输出*前面的空格//从上面规律可得,每行输出的空格数为总层数,…...
前端 | (十四)canvas基本用法 | 尚硅谷前端HTML5教程(html5入门经典)
文章目录 📚canvas基本用法🐇什么是canvas(画布)🐇替换内容🐇canvas标签的两个属性🐇渲染上下文 📚绘制矩形🐇绘制矩形🐇strokeRect时,边框像素渲染问题🐇添加…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
