BPMN2.0是什么,BPMN能解决企业流程管理中哪些问题?
一、前言:
在任何行业和企业中,一定存在着各式各样的流程,请假流程、报销流程、入职流程、离职流程、出差流程、合同审批流程、出入库流程等等……
无论是管理者、技术人员还是业务人员,每天肯定也在使用各种流程,但我发现大家对流程的期待好像都不太一致。比如:
业务主管:希望流程能够与不断变化的业务环境保持同步。
技术主管:希望对变化的业务需求迅速做出响应,以较低的成本进行改变。
企业高管:业务系统越来越多,也越来越复杂,完成业务需要人工访问多个系统。
出现这样的情况是由于很多企业流程用的还是比较初级的玩法:
在业务代码里面加入 Status(状态机) 字段维护流程状态,流程负责的审批人可能也是Hard Code(硬编码),这种玩法实现流程初级会比较快。
但是也会导致其他的问题存在,比如:
1、流程健壮性差,但凡出现人员变动,或者组织结构调整,就需要修改代码,维护成本高;
2、流程无法复用,当组织出现新的工作流程,又要重新写一套代码,开发成本非常高;
3、流程和业务代码耦合,你中有我,我中有你(并不符合单一职责和解耦的设计原则)。
这是很多企业里,业务系统关于流程的使用方法。同时,这也是中国企业的数字化发展一直伴随着困惑的主要原因。
不论是ERP、CRM还是SCM,这些特定的软件只能解决特定层面的问题,虽然方便了具体的作业操作,提高了个人生产力,但传统企业存在的许多弊端还是不能解决,如协作流程混乱、部门间沟通不灵、分公司间活动脱节、机构臃肿、管理刻板、反应迟钝等。
同时很多企业的CIO也发现很多系统之间的业务数据根本无法整合,已有的资源无法利用,业务流程繁琐,致使错失良机。
这就是数字化赤裸裸的现实,散落在各个单独系统中的数据和流程只是企业数字化裸奔的遮羞布,一旦掀开就会露出不可见人的裸体。
正是因为这种情况,BPMN2.0才会成为我国企业数字化转型在流程方面的“救命稻草”。成为很多企业挑选系统开发平台时重要的考量标准之一。
那么BPMN2.0是如何解决流程和管理系统中的数字化难题的呢?下面我们一起详细了解下。
二、BPMN2.0是什么?
在了解BPMN2.0如何解决问题之前,首先我们需要清楚BPMN2.0是什么?
概念解释:
1、BPM:
“通过建模、自动化、管理和优化流程,打破跨部门跨系统业务过程依赖、打破信息孤岛,提高业务效率和效果”,通俗一点讲,就是工作流引擎。在进行流程设计时,需要将流程的元素进行定义,并按照一定的格式、标准运行,这就需要一套业务规范,这套规范就是BPM。
2、BPMN1.0:
“业务流程建模标注”,从语义上我们就能理解,BPMN1.0就是将流程定义标准化的一套规则、规范。提出这套标准化的就是OMG(国际性、开放式会员制的非盈利技术标准联盟),这套标准是独立于企业的标准。
3、BPMN2.0:
BPMN2.0相对于BPMN1.0最大的区别就是定义、规范了流程引擎的执行语义和格式,利用标准的图元描述真实的业务发生过程,保证相同的流程在不同的流程引擎中得到一致的执行结果。在BPMN2.0的这套标准中,主要对流程执行定义了三类基本要素,分别为Activities(活动)、Gateways(网关)、Events(事件)。
三、业务同频
如果一个业务流程和业务是不同步的,那么这个业务流程将是没有意义的。
在项目制、人员变动比较大的企业中,这种情况尤为明显。
以项目为主的企业为例。该企业主要是建筑项目实施为主,但是因为不同项目的付款流程、报销流程、业务流程等流程都不一样,而且项目的组成人员也不一样。
每次项目立项都需要把很多技术人员拉上,重新制作或修改原有流程模型,耗费太多人力物力和时间,给项目增添了无用的成本。所以其想要通过项目管理系统数字化管理将会十分困难。
但是如果采用的是BPMN2.0搭建业务流程,就可以很好地解决这个问题。
BPMN2.0作为一个对业务人员友好的标准流程执行语言的图形化前端,其规范和形成了一套标准的标记语言。是一套业务人员也可以使用的、标准化的建模语言。
当需要新建或者修改原有流程的时候,如果是简单的改动,业务人员就可以直接修改。比如项目中财务审批的审核人从A变成B;又或者审批人一个变成两个;再或者流程顺序的改变。这些简单的改动,业务人员就可以完成,而且高效。
而遇到新建流程或者修改流程比较复杂的时候,业务人员和技术人员也能用简单、统一且准确的语言去沟通,减少业务与技术人员之间的混乱。
四、格式转换
如果搭建一个流程模型的过程中,不同业务部门的流程需求都用不同的进行绘制,那将浪费很多时间在转换的过程中。
在组织架构和人员较多的企业中,这种情况更为明显。
例如现在很多的大型企业,每个部门都会有自己的一套流程。在需要搭建流程模型的时候,一般都是由部门先用Word、Diagram Designer、Visio中的Flowcharts流程图等先描绘一些简单的流程,而且可能因为习惯问题,每个部门用的软件都不一致。
而技术人员在拿到文档之后,需要把这些文件整理后再输入到流程建模的软件中。这无形中徒增了技术人员的工作量,而且是无意义的工作量。
但是如果采用的是BPMN2.0搭建业务流程,就可以很好地解决这个问题。
BPMN2.0定义了流程的元模型和执行语义,可以基于XML的流程存储和交换的格式,即它自己解决了存储、交换和执行的问题。
即可导出基于XML的流程文件,也可导入BPM软件,实现了流程建模和流程自动化的松耦合,让不同软件实现互通,减少技术人员的无效工作。
五、打通壁垒
如果不同的工作流程,所属的系统或平台不一样,无法跨部门推动流程,那么部门之间的协作将失去效果。
在协作办公重要性高、企业系统冗杂且不互通的企业中,影响最严重。
例如某生产制造企业成立了20年,在发展过程中,企业采购OA、CRM、MES、进销存等多个系统,不同的业务流程都在不同的业务系统中流转。
当销售人员成功销售之后,需要手动把客户的信息流转到OA系统中,走合同申请流程;签订合同并付款成功后,又需要手动把合同信息录入到MES生产管理系统中,推动生产计划;生产完成后还要手动把信息录入到进销存系统中,才能把货物从仓库中发出。
而且这些系统中一般都有交叉的部分,就像CRM和OA中都有合同的部分,但是CRM中的合同却无法直接走付款流程,必须在OA中重新申请流程才能实现,这就造成了管理和执行的浪费。
但是如果利用BPMN2.0b标准的业务流程管理套件(BPMS),企业可以轻松定义、查看和执行编排和协作流程,实现任何业务流程的编排和自动化,像上面说的情况也就能很好地解决了。例如,企业可以通过API集成遗留系统来提高它们的效率。
同时,BPMN2.0还可以无缝集成工业设备流程自动化技术,以自动执行重复性任务并提高效率。
六、结语
通过BPMN2.0规范的三要素:活动、网关、事件,我们可以做出一个完整闭环的流程,通过网关与事件的配置,几乎可以完成所有的业务需求,而且流程的各个环节与场景一目了然。
但是,它也有一个缺点,规范、元件太多,实际应用中需要很多的专业知识,除了需要了解业务场景之外,还需要根据各个业务场景解析各个环节所用到的元件。
而且BPMN2.0是外国的一套标准,站在国内使用者的角度去看,如果我们想用BPMN2.0标准做一套国内特色的工作流引擎的话,需要封装的内容较多,比如:各个参数的配置语法、格式,如何使用自然语言、如何扩展它的任务接收人、如何与表单挂接等等。
所以,如果企业的业务系统没有那么多工作流程,或者只有很简单的状态从A到B的转移,那么引入流程引擎显然是大马拉小车,费时费力不说,而且会造成简单的需求开发起来很麻烦,拉长开发周期时间。因此不推荐业务场景简单的小企业使用BPMN2.0。但是如果您的企业业务场景比较复杂,那么BPMN2.0就是最好的选择。织信Informat结合低代码和BPMN2.0,为数字化场景复杂的企业解决数字化难题。作为企业数字化转型首选方案,已累计为20多个行业,30000+企业用户提供低代码技术,支持在不同的行业,提出深度场景解决方案。
相关文章:
BPMN2.0是什么,BPMN能解决企业流程管理中哪些问题?
一、前言: 在任何行业和企业中,一定存在着各式各样的流程,请假流程、报销流程、入职流程、离职流程、出差流程、合同审批流程、出入库流程等等…… 无论是管理者、技术人员还是业务人员,每天肯定也在使用各种流程,但…...
Java线程池的基本工作原理及案例
一、线程池的优点 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。 主要特点:线程复用;控制最大并发数;管理线程…...
Stacked hourglass networks for human pose estimation代码学习
Stacked hourglass networks for human pose estimation https://github.com/princeton-vl/pytorch_stacked_hourglass 这是一个用于人体姿态估计的模型,只能检测单个人 作者通过重复的bottom-up(高分辨率->低分辨率)和top-down࿰…...
SpringCloud(五)MQ消息队列
MQ概念常见消息模型helloworld案例实现实现spring AMQP发送消息实现spring AMQP接收消息工作消息队列实现发布订阅模型Fanout Exchange实现DirectExchange实现TopicExchange实现DirectExchange 和FanoutExchange的差异DirectExchange 和TopicExchange的差异基于RabbitListener注…...
SQL语法基础汇总
三年前的存稿 默认端口号 3306 超级用户名 root 登录 mysql -uroot -p / mysql -uroot -proot 退出 exit / quit 服务器版本 SELECT VERSION(); 当前日期 SELECT NOW(); 当前用户 SELECT USER(); 备份 mysqldump -uroot -p 数据库名称 > 保存的路径 还原 create database1-…...
惠普星14Pro电脑开机不了显示错误代码界面怎么办?
惠普星14Pro电脑开机不了显示错误代码界面怎么办?有用户电脑开机之后,进入了一个错误界面,里面有一些错误代码。重启电脑之后依然是无法进入到桌面中,那么这个情况怎么去进行解决呢?我们可以重装一个新系统,…...
顺序表的构造及功能
定义顺序表是一种随机存储都结构,其特点是表中的元素的逻辑顺序与物理顺序相同。假设线性表L存储起始位置为L(A),sizeof(ElemType)是每个数据元素所占的存储空间的大小,则线性表L所对应的顺序存储如下图。顺序表的优缺点优点:随机…...
cesium: 绘制线段(008)
第008个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中绘制线段,左键点击开始绘制,右键点击取消绘制 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共139行)相关API参考:专栏目标示例效果 配置方式 1)…...
HTML、CSS学习笔记4(3D转换、动画)
目录 一、空间转换(3D转换) 1.空间位移 语法: 取值:(正负均可) 透视: 2.空间旋转 3.立体呈现 二、动画(animation) 1.动画的使用 先定义动画 再调用定义好的动画 …...
java的分布式锁
什么是分布式锁 分布式锁是指分布式环境下,系统部署在多个机器中,实现多进程分布式互斥的一种锁。为了保证多个进程能看到锁,锁被存在公共存储(比如 Redis、Memcache、数据库等三方存储中),以实现多个进程并…...
17- TensorFlow实现手写数字识别 (tensorflow系列) (项目十七)
项目要点 模型创建: model Sequential()添加卷积层: model.add(Dense(32, activationrelu, input_dim100)) # 第一层需要 input_dim添加dropout: model.add(Dropout(0.2))添加第二次网络: model.add(Dense(512, activationrelu)) # 除了first, 其他层不要输入shape添加输出…...
Polkadot 基础
Polkadot Polkadot联合并保护了一个不断增长的专业区块链生态系统,称为parachains。Polkadot上的应用程序和服务可以安全地跨链通信,形成真正可互操作的去中心化网络的基础。 真正的互操作性 Polkadot支持跨区块链传输任何类型的数据或资产,…...
spring源码编译
spring源码编译1、安装gradle2、拉取源码3、配置gradle文件来源及镜像仓库4、预编译5、验证6、可能遇到的报错6.1、jdk.jfr不存在6.2、checkstyleMain6.3、org.gradle.api.artifacts.result.ComponentSelectionReason.getDescription()Ljava/lang/String6.4、其他jdk࿱…...
防盗链是什么?带你了解什么是防盗链
目录 什么是防盗链 防盗链的定义 防盗链的产生 防盗链的实现 什么是防盗链 防盗链其实就是采用服务器端编程,通过url过滤技术实现的防止盗链的软件。 比如:photo.abc.com/video.mp4 这个下载地址,如果没有装防盗链,别人就能轻…...
Linux基础命令-fdisk管理磁盘分区表
文章目录 fdisk 命令介绍 命令格式 基本参数 1)常用参数 2)fdisk菜单操作说明 创建一个磁盘分区 1)创建分区 2)创建交换分区 参考实例 1) 显示当前分区的信息 2) 显示每个磁盘的分区信息 命令…...
(四)K8S 安装 Nginx Ingress Controller
ingress-nginx 是 Kubernetes 的入口控制器,使用NGINX作为反向代理和负载均衡器 版本介绍 版本1:Ingress NGINX Controller(k8s社区的ingres-nginx) 以 NGINX 开源技术为基础(kubernetes.io),可在GitHub的 kubernet…...
高频面试题
MyISAM和InnoDB是MySQL两种常见的存储引擎,它们之间有以下几点区别: 事务支持:MyISAM不支持事务处理,而InnoDB支持事务处理。 行级锁:MyISAM只支持表级锁,而InnoDB支持行级锁,可以避免并发访问…...
js 字节数组操作,TCP协议组装
js字节数组,进制转换js基础知识数组 Array扩展操作符三个点(...)ArrayBufferslice() 数组复制reduce 对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值splice 数组删除,添加,替换js 字节数组转数字以及…...
JavaScript的引入并执行-包含动态引入与静态引入
JavaScript的引入并执行-包含动态引入与静态引入 JavaScript引入方式 html文件需要引入JavaScript代码,才能在页面里使用JavaScript代码。 静态引入 行内式 直接在DOM标签上使用 <!DOCTYPE html> <html lang"en"> <head><meta ch…...
第四阶段01-酷鲨商城项目准备
1. 关于csmall-product项目 这是“酷鲨商城”大项目中的“商品管理”项目,是一个后台管理项目(给管理员,或运营人员使用的项目,并不是普通用户使用的),并且,只会涉及与发布商品可能相关的功能开…...
Uncaught ReferenceError: jQuery is not defined
今天在拉取项目部署到本地的时候遇到了一个问题特此记录一下 (以后闭坑) 我和同事同时拉取了一样的代码,结果同事的页面加载正常而我的页面像被狗啃了一样,知道是js的问题但是不知道问题出在哪里?后来还是同事帮我解决…...
面试阿里测开岗,被面试官针对,当场翻脸,把我的简历还给我,疑似被拉黑...
好家伙,金三银四一到,这奇葩事可真是多,前两天和粉丝聊天,他说前段时间面试阿里的测开岗,最后和面试官干起来了。 我问他为什么,他说没啥,就觉得面试官太装了,就爱问一些虚而不实的…...
2. 驱动开发--驱动开发环境搭建
文章目录前言一、Linux中配置编译环境1.1 linux下安装软件的方法1.2 交叉编译工具链的安装1.2.1 测试是否安装成功1.3 设置环境变量1.3.1 将工具链导出到环境变量1.4 为工具链创建arm-linux-xxx符号链接二、 搭建运行开发环境2.1 tftp网络方式加载内核和设备树文件2.2 nfs网络方…...
《数据库系统概论》学习笔记——第四章 数据库安全
教材为数据库系统概论第五版(王珊) 这一章简单记一下那几条sql的用法和两种存取控制和审计(今年期末考了)吧,不知道有啥好考的 数据库安全性 问题的提出 数据库的一大特点是数据可以共享数据共享必然带来数据库的安全…...
山洪径流过程模拟及洪水危险性评价
目录 1.洪水淹没危险性评价方法及技术讲解 2.GIS水文信息提取与分析(基于ArcGIS软件) 3.洪水淹没模拟水文分析:洪峰流量估算 4.洪水淹没模拟水力学分析:Hec-RAS实例操作 GIS水文分析(ArcHydro、Spatial Anlysist等模块)是流域…...
LeetCode HOT100 (23、32、33)
目录 23、合并K个升序链表 32、最长有效括号 33、搜索旋转排序数组 23、合并K个升序链表 思路:采用顺序合并的方法,用一个变量 ans 来维护以及合并的链表,第 i 次循i 个链表和 ans合并,答案保存到 ans中。 代码: …...
电力监控仪表主要分类
电力监控仪表是电工仪表行业的一个新兴、细分行业,类别属于安装式数字仪表,从模拟指针式仪表和电量变送器演变而来。随着计算机技术的发展,电力监控仪表已应用到电力系统的发、输、变、配、用的各个环节,实现对电网电参量的测量、…...
山野户外定位依赖GPS或者卫星电话就能完成么?
每当有驴友失联的新闻报道,很多的户外“老鸟”和“菜鸟”都在讲:为什么不带卫星电话,不带GPS……云云!提一个小小的问题:如果你拿着卫星电话、GPS或者其他即时通信的其他设备,你就能准定位你所处的位置么&a…...
SAP 应收应付重组配置
应收应付重组是为了使资产负债表真实的反映资产及负债的真实情况,需要对应收、应付账款的余额时行实际调整。即将“应收账款”的贷方余额和“应付账款”的借方余额分别调整至“预收账款”与“预付账款”账户中。 应收应付重组SAP系统是按照公司代码、客户/供应商、…...
算法练习(八)计数质数(素数)
1、问题描述: 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 2、示例如下: 3、代码如下: 第一种:比较暴力的算法 class Solution {public int countPrimes(int n) {int count1;if(n<2) return 0;for(in…...
scf900色带/南宁百度seo排名公司
在百度控制台发布自定义样式并复制样式ID 添加 setMapStyleV2 功能 map.setMapStyleV2({styleId:76c03cdd35fa1e24f39edeb18849f04e}) 完整代码如下: <!DOCTYPE html> <html lang"en"> <head><script type"text/javascript&…...
做外贸都做哪些网站好免费下载/磁力搜索
CSRF(Cross Site Request Forgeries)跨网站请求伪造,也叫XSRF,通过伪装来自受信任用户的请求来攻击利用受信任网站。 与对比 xss:本网站运行了来自其它网站的脚本csrf:其它网站对本网站产生了影响一、攻击 利用用户登录态伪造http…...
深圳大浪网站建设/产品怎么在网上推广
1、为什么要使用YARN? 为了提升集群的利用率、资源统一管理, 使用YARN为上层应用提供统一的资源管理和调度的平台。 2、YARN的优势? 资源的统一管理和调度: 集群中所有节点的资源(内存、CPU、磁盘、网络等)抽象为Container。计算…...
wordpress 响应式企业主题/如何做推广
转载自:http://blog.csdn.net/hello9050/article/details/7889658链接:http://www.oschina.net/project/tag/264/segment 开源中国社区 1、IKAnalyzer IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推…...
做外贸主要看什么网站/湘潭关键词优化服务
加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。 身份认证是用来判断某个身份的真实性,确认身份后,系…...
java做购物网站/什么是搜索引擎营销
文章目录 1. 网页的相关概念2. 常用的游览器及内核3. web标准4. HTML语法规范4.1 基本语法概述4.2 标签关系5. HTML基本结构标签6. DOCTYPE和lang以及字符集的作用6.1 文档类型声音标签6. 2 lang语言种类6.3 字符集7. 标签语义8. 标题标签9. 段落标签和换行标签10. HTML格式化1…...