当前位置: 首页 > news >正文

工作数字化的中国历程 | 从 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…...

能源管理系统为什么选择零代码开发平台?

市面上有很多能源管理系统,但是零代码开发能源管理系统却非常少。那为什么推荐选择零代码开发平台呢?因为很多企业缺少技术人员,但是却仍然需要数字化工具和流程推进业务和项目,解决能源管理技术人员不懂代码的矛盾问题&#xff0…...

【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 切词器&#xff1a;Tokenizer1.3.2 词项过滤器&#xff1a;Token Filter1.3.3 字符过滤器&#xff1a;Character Filter 1.4 倒排索引的数据结构 <font color…...

【iOS免越狱】利用IOS自动化WebDriverAgent实现自动直播间自动输入

1.目标 由于看直播的时候主播叫我发 666&#xff0c;支持他&#xff0c;我肯定支持他呀&#xff0c;就一直发&#xff0c;可是后来发现太浪费时间了&#xff0c;能不能做一个直播间自动发 666 呢&#xff1f;于是就开始下面的操作。 2.操作环境 iPhone一台 WebDriverAgent …...

Python基础入门例程28-NP28 密码游戏(列表)

最近的博文&#xff1a; Python基础入门例程27-NP27 朋友们的喜好&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程26-NP26 牛牛的反转列表&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程25-NP25 有序的列表&#xff08;列表&#xff09;-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){//每行前缀空格&#xff0c;这个for用于表示每行输出*前面的空格//从上面规律可得,每行输出的空格数为总层数&#xff0c…...

前端 | (十四)canvas基本用法 | 尚硅谷前端HTML5教程(html5入门经典)

文章目录 &#x1f4da;canvas基本用法&#x1f407;什么是canvas(画布)&#x1f407;替换内容&#x1f407;canvas标签的两个属性&#x1f407;渲染上下文 &#x1f4da;绘制矩形&#x1f407;绘制矩形&#x1f407;strokeRect时&#xff0c;边框像素渲染问题&#x1f407;添加…...

206.反转链表

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

SpringBoot项目从resources目录读取文件

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

SQL实现根据时间戳和增量标记IDU获取最新记录和脱IDU标记

需求说明&#xff1a;表中有 id, info, cnt 三个字段&#xff0c;对应的增量表多idu增量标记字段和时间戳字段ctimestamp。增量表中的 id 会有重复&#xff0c;其他字段 info、cnt 会不断更新&#xff0c;idu为增量标记字段&#xff0c;ctimestamp为IDU操作的时间戳。目的时要做…...

京东数据平台:2023年9月京东智能家居行业数据分析

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

计算两个时间之间连续的日期(java)

背景介绍 给出两个时间&#xff0c;希望算出两者之间连续的日期&#xff0c;比如时间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&#xff1a;网络与安全专家的终极武器 Kali Linux&#xff0c;对于许多网络和安全专业人士来说&#x…...

Leetcode—101.对称二叉树【简单】

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

判断是否工作在docker环境

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

文件上传学习笔记

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

【GitLab CI/CD、SpringBoot、Docker】GitLab CI/CD 部署SpringBoot应用,部署方式Docker

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