工作数字化的中国历程 | 从 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时,边框像素渲染问题🐇添加…...

206.反转链表
206.反转链表 力扣题目链接(opens new window) 题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 双双指针法: 创建三个节点 pre(反转时的第一个节点)、cur(当前指向需要反转的节点…...

SpringBoot项目从resources目录读取文件
SpringBoot 从 resources 读取文件 使用 Spring 给我们提供的工具类来进行读取 File file org.springframework.util.ResourceUtils.getFile("classpath:人物模板.docx");可能读取失败,出现如下错误: java.io.FileNotFoundException: clas…...

SQL实现根据时间戳和增量标记IDU获取最新记录和脱IDU标记
需求说明:表中有 id, info, cnt 三个字段,对应的增量表多idu增量标记字段和时间戳字段ctimestamp。增量表中的 id 会有重复,其他字段 info、cnt 会不断更新,idu为增量标记字段,ctimestamp为IDU操作的时间戳。目的时要做…...

京东数据平台:2023年9月京东智能家居行业数据分析
鲸参谋监测的京东平台9月份智能家居市场销售数据已出炉! 9月份,智能家居市场销售额有小幅上涨。根据鲸参谋电商数据分析平台的相关数据显示,今年9月,京东平台智能家居的销量为37万,销售额将近8300万,同比增…...

计算两个时间之间连续的日期(java)
背景介绍 给出两个时间,希望算出两者之间连续的日期,比如时间A:2023-10-01 00:00:00 时间B:2023-11-30 23:59:59,期望得到的连续日期为2023-10-01、2023-10-02、… 2023-11-30 Java版代码示例 import java.time.temporal.ChronoUnit; import java.tim…...

Kali Linux:网络与安全专家的终极武器
文章目录 一、Kali Linux 简介二、Kali Linux 的优势三、使用 Kali Linux 进行安全任务推荐阅读 ——《Kali Linux高级渗透测试》适读人群内容简介作者简介目录 Kali Linux:网络与安全专家的终极武器 Kali Linux,对于许多网络和安全专业人士来说&#x…...

Leetcode—101.对称二叉树【简单】
2023每日刷题(十九) Leetcode—101.对称二叉树 利用Leetcode101.对称二叉树的思想的实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool isSa…...

判断是否工作在docker环境
判断是否工作在docker环境 方式一:判断根目录下 .dockerenv 文件 docker环境下:ls -alh /.dockerenv , 非docker环境,没有这个.dockerenv文件的 注:定制化比较高的docker系统也可能没有这个文件 方式二:查询系统进程…...

文件上传学习笔记
笔记 文件上传 文件上传是指将本地图片,视频,音频等文件上传到服务器,供其它用户浏览或下载的过程 文件上传前端三要素 : file表单项 post方式 multipart/from-data 服务端接收文件 : 用spring中的API : MultipartFile 要想文件名唯一 …...

【GitLab CI/CD、SpringBoot、Docker】GitLab CI/CD 部署SpringBoot应用,部署方式Docker
介绍 本文件主要介绍如何将SpringBoot应用使用Docker方式部署,并用Gitlab CI/CD进行构建和部署。 环境准备 已安装Gitlab仓库已安装Gitlab Runner,并已注册到Gitlab和已实现基础的CI/CD使用创建Docker Hub仓库,教程中使用的是阿里云的Docker…...