深入Activiti流程引擎:核心原理与高阶实战

978-7-115-60004-2
作者: 贺波胡海琴刘晓鹏
译者:
编辑: 郭泳泽

图书目录:

详情

本书主要介绍业务流程管理的实战落地应用,全书分为4篇:基础理论篇,包含流程的基本概念、业务流程管理的历史、业务流程管理体系;常规应用篇,包含Activiti开发环境准备、使用IDEA和Eclipse开发Activiti工作流、流程设计工具,以及Activiti核心架构、工作流引擎配置、用户管理、流程部署、表单管理等内容;高级实战篇,包含Spring Boot和 Activiti的其他实践和应用;架构扩展篇,包含多引擎架构、性能优化、流程稳定性保障。
本书适合从事业务流程管理的技术人员阅读。

图书摘要

版权信息

书名:深入Activiti流程引擎:核心原理与高阶实战

ISBN:978-7-115-60004-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

编  著 贺 波 胡海琴 刘晓鹏

责任编辑 郭泳泽

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e60004”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

内 容 提 要

本书主要介绍业务流程管理的实战落地应用,全书分为4篇:基础理论篇,包含流程的基本概念、业务流程管理的历史、业务流程管理体系;常规应用篇,包含Activiti开发环境准备、使用IDEA和Eclipse开发Activiti工作流、流程设计工具,以及Activiti核心架构、工作流引擎配置、用户管理、流程部署、表单管理等内容;高级实战篇,包含Spring Boot和 Activiti的其他实践和应用;架构扩展篇,包含多引擎架构、性能优化、流程稳定性保障。

本书适合从事业务流程管理的技术人员阅读。

作者简介

贺 波

国内资深的工作流及BPM领域专家,专注于流程领域十余年,长期致力于BPM技术及相关产品的研发、应用和推广,擅长为国内外中大型企业提供以流程为导向的数字化解决方案。职业生涯中组织领导了多个大型软件平台项目的设计、开发与落地,具备全面的解决方案能力、分析及设计能力、组织实施能力。曾任东华软件股份公司技术总监,从零研发的BPM平台广泛应用于政府、银行、学校和企业等各种不同类型的商业化应用场景。现任滴滴出行高级企业信息化技术专家,流程平台部负责人,从无到有搭建BPM平台,实现了大型互联网综合平台各类差异化业务和复杂流程场景的落地,开创了同类互联网需求的BPM实施先例。

胡海琴

十多年来从事Java EE企业应用开发,曾经参与多个大型企业级项目的设计与开发工作,具有丰富的软件系统设计和开发经验。现就职于滴滴,任资深软件开发工程师,担任BPM功能设计与研发,积累了丰富的BPM开发的实战经验,对BPM技术的应用以及Activiti开源技术有较深刻的理解与认识。

刘晓鹏

拥有10年互联网系统研发、架构设计经验,对高并发、高性能、高可用等方面有丰富的设计经验。现就职于滴滴,任专家工程师,专注于流程领域,具有5年工作流引擎研发和架构设计经验,对Activiti的源码和设计原理有深入理解,负责BPM平台的研发。

推荐辞

我们公司的企业内部信息化团队一直致力于在业务规模化发展的前提下,通过信息化和数字化提升管理效率和员工体验。贺波带领的BPM团队在这个过程中从无到有搭建了完整的流程管理平台,有效支持了公司各类业务场景的快速落地和高效运转,并能通过数据洞察持续促进流程优化。本书立足于基础、着眼于实战,干货满满,是BPM领域一本不可多得的经典好书。

滴滴企业信息化高级总监 李 淼

BPM日渐成为企业不可或缺的基础。贺波先生多年磨一剑,将自己丰富的经验沉淀编写成书,通过深入浅出的结构、缜密的文字把BPM呈现给广大读者。通过阅读本书,读者会全面了解BPM的“道、法、术、器”,也会在实践BPM时得到它的帮助。

滴滴出行杰出工程师 齐 贺

多年前,我所在的企业高速发展,各种系统如雨后春笋般地出现,这带来了审批入口分散、审批不及时、流程难以跟踪、管理混乱等问题。当时我们想构建一套内部统一的BPM流程管理平台,却受限于内部没有专业的BPM人才、市面上没有足够专业详细的实战书籍供参考,只能摸着石头过河,遇到了很大的困难。研发负责人锲而不舍地“三顾茅庐”,终于请到了有丰富BPM实战经验的贺波加盟,BPM的建设才开始步入正轨。贺波在短短一年半内,与团队一起从无到有搭建了业界一流的BPM体系。这本书结合了贺波对BPM理论知识的梳理总结和多年BPM体系建设实战经验。如果你想要通过一本书对BPM的基础理论和实战落地有详细的了解,这本书会适合你。

滴滴产品运营高级总监 Mia

贺波曾是我指导的硕士研究生,学生的成功是老师的骄傲。贺波在学期间表现出极强的技术钻研精神,掌握了流程处理和自动化生成代码等方面的基础技术。在实际工作中,贺波对BPM平台搭建及兼容各种类型的业务需求进行了深入研究和实践,其研发的支持大型互联网公司各类业务的BPM平台在技术指标和应用数据等方面领先,为该领域的技术发展做出了不少贡献。本书系统整理了BPM平台的研发技术,为同行奉献了宝贵的技术指导和实践经验。

北京科技大学副教授 张庆华

业务流程管理是管理软件的灵魂,流程开发技术是软件技术人员的核心技术能力。贺波曾担任东华技术总监,带领产研团队从0到1建设BPM平台,并推动其商业化应用,取得了很可观的成果。他作为一线开发人员开始职业生涯,经过多年历练才成为BPN领域专家,一路走来积累了非常丰富的技术和行业经验。因此,本书理论性、实用性都很强,是难得的BPM技术教程。

东华软件股份公司高级副总裁 董玉锁

组织可以创造社会财富,维护社会秩序,推动社会进步。组织靠什么践行这些使命呢?当然是靠抱负、洞见和强有力的行动。而行动的持续有效依赖规则、流程和体系。在数字化时代,规则、流程和体系需要交给信息系统来管理,BPM应运而生。贺波先生的这本关于BPM的书将深刻的理论洞见和深厚的实践功底融合,我们不仅可以学习观念,而且可以实行“拿来主义”,直接复用作者的经验。

金融街集团CIO 邓遵红

BPM流程引擎是企业应用中常见的基础应用构件,虽然早在十多年前OMG就发布了BPMN 2.0规范,但在国内系统性介绍BPM基础理论,并以企业真实场景为例指导应用落地的专业书籍却少之又少,贺波老师的这本书很好地弥补了这一领域的空白。贺波老师作为这一领域的专家,持续耕耘在BPM理论研究与产品研发一线,书中大量的观点和代码都是作者本人在BPM领域多年研究开发的经验沉淀和最佳实践,对于企业级BPM开发与应用具有非常强的指导意义。难能可贵的是,本书理论与实战相结合,由浅入深,照顾到了不同阶段的学习群体,相信无论是这一领域的理论研究人员还是工程实践从业人员,都会从本书中受益。

鸿泰鼎石资产管理有限责任公司信息科技部总经理 高海涛

企业级系统的构建离不开流程,很多年前成熟的企业级软件包都拥有其内部的、耦合性极强的BPM功能。随着企业级系统需求的发展和变化,独立的专业化BPM产品慢慢产生了,互联网领域也产生了开源的BPM产品Activiti。随着互联网的发展和数字化转型的迫切需要,BPM越来越被重视,成为数字化转型的必备组件。如何构建企业级的BPM系统,打通各系统和各平台?贺波老师这本书以Activiti软件为基础,由浅入深,详细介绍Activiti系统及其使用案例,极具参考价值。期待本书能带您在BPM的海洋遨游。

房车宝集团系统建设总经理 喻继鹏

BPM自引入国内以来,有力支撑了企业的流程管理和组织战略的发展,但市面上缺少对其系统性介绍的技术书籍。本书从实际应用问题出发,通过具体的示例介绍如何使用Activiti解决实际问题,从基础到实战落地,深入浅出地全面介绍了Activiti流程引擎,包含基本的入门知识和大量实践经验,是BPM领域的优质图书。

叮当快药CTO 于庆龙

推荐序一

“根据熵增原理,任何企业管理的政策、制度、文化等因素在运营过程中,都会伴随有效功率的逐步减少、无效功率逐渐增加的情况,企业混乱度逐步增加,企业逐渐向无效、无序和混乱的方向运行,最终进入熵死状态。”这是任正非在《熵减:华为活力之源》中描述企业熵增时的状态。任正非认为,这种熵增源于企业的各种内部矛盾,企业要想生成用于抵消熵增的负熵,则必须通过制度、变革,激活组织与人的竞争与活力。

在21世纪初期,企业内部的生产协同更多依靠流水线作业,上下游衔接紧密,组织结构普遍呈树状结构,员工之间的沟通协作也通常是上下游之间的单点协作。随着互联网和移动互联网的兴起,大量企业为了满足业务需求而进行了线上化和数字化转型,生产模式发生巨大变化的同时,业务节奏显著加快,组织内部的生产协同偏向网状结构,上下游之间的单点协作也演变成各种职能角色之间的复杂协同。在此基础之上,企业通常会通过构建自己的信息化协同能力来抵御这种熵增。

我所在的企业是一家大型互联网公司,为了满足业务需求,从2012年创立开始,大量的业务类系统被搭建,随着时间的推移,业务的复杂度越来越高,各类系统不断被推倒、重构、升级。除了大量支撑业务发展的系统以外,也有大量的支撑运营效率和内部协同效率的系统被搭建。据不完全统计,在2022年,公司的各类系统数量已经超过3000个。伴随着业务的发展和业务系统的建设,组织和人员不断膨胀,组织内部的协同呈现网状结构,协同效率显著下降。2015年,公司成立了效能团队,在此之前,公司就引入了一些OA系统,但简单的OA系统根本无法满足组织内复杂的协同需求。从部门成立伊始,我就一直在思考,是否可以打造一套易用的BPM平台来满足公司复杂的网状协同需求,让大家在统一的平台上完成流程节点任务。它类似一个PaaS平台,可以很方便地让各类系统接入,降低系统重复建设流程功能的成本。当公司需要搭建一个线上化流程时,可以通过简单的低代码或无代码配置快速生成一个流程,进而统一全公司的流程管理语言,通过一个引擎来寻找企业治理过程中的阻塞点,改善企业熵增的情况。

通过反复的论证和调研,我们认为这种想法是可行的,完成这个任务可以分为4步。第一步是招聘一名BPM技术专家并组建包含产品、研发和实施的全功能团队;第二步是构建全公司统一、简单易用的BPM平台;第三步是推动全公司的业务类系统、运营类系统、内部效率类系统接入;第四步是通过工作流引擎中的流程耗时来优化流程,推动企业治理,减少阻塞点。

截至2022年7月,公司内绝大多数系统都已接入了BPM平台来管理流程,平台上线了1.1万余个流程模型,每周发起实例3500万个,累计发起流程实例41.33亿个,累计任务实例数达到427.63亿个,公司全员每周都在使用BPM平台进行协同。团队经受住了考验,我们也验证了最初的想法,公司流程运转效率得到了大幅提升。

回望2017年BPM团队成立伊始,我面试了很多技术专家,但贺波无疑是其中最合适的那个人,他在Activiti框架和技术深度层面经验丰富,对BPM平台在企业内的落地路径有非常深入独到的见解,对产品有自己的思考和规划。BPM平台经历了5年的演进,最后证明了贺波和他带领的团队是非常优秀的。

在接到贺波的邀请写本书的推荐序时,我非常开心,一是因为这本书有大量的干货,二是因为它凝练了贺波和他的团队这些年在BPM领域大量的实战经验积累,这些经验经受住了大平台的考验,这两个特点在BPM领域的其他书籍中是不多见的。

滴滴出行企业服务事业群总经理 蔡晓鸥

2022年7月29日

推荐序二

企业数字化转型升级已经成为企业可持续发展的必要条件,而BPM是企业流程建模和管理的核心技术,可以为企业数字化转型保驾护航。快速构建企业的BPM业务流程管理平台,已经成为企业信息化系统建设中的一个难点。

随着外部环境变化,企业的组织、管理、协作需求不断变化,加上企业所面临的市场竞争不断加剧,简单的流程和业务管理系统已经很难满足企业的需求。因此,需要有更加灵活、更好开放、更具扩展的企业级BPM系统平台。

贺波结合他在滴滴BPM的应用实践,基于Activiti框架的深度研发和系统规划,厚积薄发,深入浅出地为企业BPM平台建设指明了方向。本书是适合产品经理、研发人员和运营管理者的工作流引擎开发的宝典,希望本书能够推动企业业务管理和组织协同的数字化转型升级。

看到贺波和他的团队能将其多年的积累编写成书,我十分欣喜。本书干货满满,诚意十足,是企业级BPM工作流系统架构与研发的好教程。

北京中科汇联科技股份有限公司董事长 游世学

2022年9月19日

推荐序三

首先恭喜贺波同学的新书即将出版发行。此时距离我撰写的《Activiti实战》出版已整7年,从我第一次接触Activiti算起已经经过11年了,非常开心Activiti项目还能如此活跃,而且结合国内互联网公司多年的经验厚积薄发。我虽然因为工作原因已经多年没有使用Activiti,但是还是习惯性关注项目的发展。

Activiti项目经过多年迭代,已是企业BPM技术选型的理想平台(不仅仅是引擎)。在各大社区有很多实践的经验分享,甚至有很多二次开发实现的中国特色的工作流。我之前和Tijs Rademakers(曾担任Activiti项目技术专家)聊过这方面的话题,他表示很难想象在中国会把工作流用于那么复杂的场景。

本书最大的亮点在于除了满足新手快速入门之外,还将滴滴流程平台多年的实践经验倾囊相授,例如如何面对在企业大规模运用后势必会遇到的性能问题(个人认为这也是Activiti面临的一大问题)。此外,本书还通过二次开发实现本土化工作流,满足了复杂场景的需求,包含了BPM运维经验。可以说,书中诸多细节既可“开箱即用”也可再次升华。

本书由浅入深,适合各个阶段各个岗位的技术人员阅读,产品经理、研发人员、运维人员都能找到自己需要了解学习的部分。书中的源代码可谓是“保姆级”讲解,所以本书也可以作为工具书放在工位参考。看得出贺波同学花费了不少心思,在此我向使用Activiti的相关技术人员推荐此书。

《Activiti实战》作者 闫洪磊(咖啡兔)

2022年5月25日于杭州

自  序

当听到出版社编辑老师反馈全部书稿都已通过审核,可以推进后续出版流程时,我难掩心中的激动,回忆起编写这本书籍期间的点点滴滴,思绪万千。

大概在三年前,人民邮电出版社科技出版中心总经理刘涛老师找到我,邀请我编写一本介绍BPM的书,我欣然接受,因为这也是我久藏心底的一个愿望。我已从事BPM领域多年,回想刚接触BPM领域时,JBPM风头正劲,Activiti方兴未艾,基本没有成体系介绍BPM领域的中文版书籍,网络上能找到的相关资料也多为国外相关英文资料的翻译,很多概念语焉不详,甚至有不少纰漏,也没有任何实际使用的范例,导致我走了很多弯路。此外,理论学习与实际落地应用还有很长的一段距离,我在为多家企业提供技术咨询和经验分享时了解到,很多企业在自研BPM方面都存在很大的困难,甚至业界一些知名大厂中也不乏失败案例。

我的职业生涯中有两段工作经历,一段是在传统软件公司作为负责人,从零到一研发BPM平台,并将其应用于多个商业化项目的交付;另一段是加入某知名互联网公司后,作为负责人,从无到有搭建“倚天”BPM平台,支撑公司差异化业务和复杂流程场景的落地应用。这两家公司的实践涵盖不同的业务场景。

正是基于这些经历,我更加坚定了要出一本领域内图书的决心。本书基于我的实践经验并结合理论知识编写而成,希望能对BPM行业发展有所贡献,让相关企业及同行少走一些弯路。

流程、流程管理和流程技术是BPM领域内密不可分的3个专业术语。流程是企业和组织内被管理和支持的对象,承载着企业和组织内的流程;流程管理是管理BPM领域的方法论,主要阐述与流程管理相关的理论、方法、模型等,用以管理企业和组织内的流程;流程技术是流程管理方法论的支撑,指将计算机化流程管理方法论的相关技术。

当今社会高速发展,企业和组织的外部环境瞬息万变,要求企业和组织内部的业务运营能对此快速响应,而其响应速度直接决定了它们的竞争力的强弱。从价值链角度看,企业或组织运营本质上是其众多业务流程运行的过程。因此说,流程是保证企业或组织竞争优势的关键所在。正如麻省理工学院斯隆管理学院莱斯特  •瑟罗教授所说:“在21世纪,持续的竞争将更多地出自新流程技术,而非新产品技术。”既然流程技术如此重要,那么怎么更好地应用流程技术呢?

提到流程技术,人们第一时间会想到工作流或者BPM。工作流技术源自20世纪60年代的办公自动化应用。进入21世纪后,随着互联网、内容管理、移动终端等的广泛应用,BPM理论及其技术体系逐步产生,成为现代中间件体系的重要组成部分。流程管理属于业务领域,流程技术属于IT领域,BPM的出现模糊了业务领域和IT领域的界限,使二者有机结合起来。业务驱动需求,需求驱动技术,技术推动业务,三者形成良性循环。

因此,在本书选题阶段,经过深思熟虑,我最终决定选取受众更广、实战性更强并且我最擅长的方向,锚定以广泛应用的Activiti进行介绍、剖析、应用和扩展,并由此展开企业级BPM的开发应用实战落地。对于本书的内容,我对目录结构和章节内容都做了精心的安排。全书共分为30章,以流程及流程管理作为引子,引出流程技术,聚焦于Activiti的应用与实战。为了照顾BPM领域不同层级的读者,本书分为4篇:基础理论篇、常规应用篇、高级实战篇、架构扩展篇。顾名思义,基础理论篇主要介绍BPM领域的发展历程、思想、理论和行业规范等;常规应用篇主要介绍Activiti的特性和用法;高级实战篇主要介绍Activiti的扩展机制,以及对各种特殊流程场景(特别是本土化流程)需求的扩展实现;架构扩展篇主要从架构层面讲解对大容量、高并发和高稳定业务场景的改造与支持。本书内容较为详尽、覆盖面广、实战性强,结合精心挑选的案例演示,便于读者学习与理解。

关于本书的创作分工,前期的选题和章节设计都是我完成的,同时我三年来共负责了其中20章的编写。由于工作量实在太大,我团队的两位伙伴胡海琴和刘晓鹏接受我的邀请在中后期加入,每人帮我分担了5章的编写。具体分工是这样的:第4、5、7、9、11~20、22~27章由我编写,第10、21、28~30章由刘晓鹏编写,第1~3、6、8章由胡海琴编写。

写书是一件工程量浩大且漫长的过程,我从选题、章节设计、书稿编写到目前已历时三年。由于平时工作颇为繁忙,工作日是没有时间和精力写作的,因此这三年来我所有的周末、节假日基本上都投入这本书的编写了。

本书得以顺利完成,首先我要感谢家人的理解与支持。三年来,节假日我基本上都沉浸在本书的创作之中,忽略了对家庭的照顾和对家人的陪伴。在此要特别感谢我的妻子尹迎,她一直给予我鼓励并对本书充满期待,同时承担起了照顾家庭和教育孩子的责任。记得在本书刚启动编写时,我的儿子还是一个刚上幼儿园的懵懂小婴孩,现在已经长成识几千字且能独立阅读的一年级小学生,这与妻子的悉心培养密不可分。没能在儿子成长过程中给予他更多陪伴,我深感遗憾和愧疚。

同时,感谢人民邮电出版社科技出版中心总经理刘涛老师,他的热忱邀请给了我实现心愿的机会,并且在整个编写过程中给予了各种支持和帮助。感谢人民邮电出版社的编辑张涛和郭泳泽,他们在创作过程中给了我很多的建议和指导,使本书得以顺利出版。对参与本书审校出版的人民邮电出版社其他工作人员,在此一并表示感谢。

此外,还要感谢我团队的胡海琴、刘晓鹏两位伙伴,他们的“火线”加入、鼎力支持,使本书的编写工作提前完成。

特别感谢滴滴出行企业服务事业群总经理蔡晓鸥、北京中科汇联科技股份有限公司董事长游世学和《Activiti实战》作者咖啡兔,他们一直密切关注本书的编写进程,悉心准备了精彩的推荐序言,给予了我莫大的支持和鼓励。同时,还要感谢李淼、齐贺、区觅、张庆华、董玉锁、邓遵红、喻继鹏、高海涛、于庆龙等专家的认可和推荐。另外,中科汇联副总裁周瑞香在本书成书过程中也提供过诸多帮助,在此也表示感谢。

百密终有一疏。虽然本书的编写过程中,我们严格把关质量、反复审阅校对,力求精益求精,但错误及不足之处在所难免,敬请广大读者批评指正。若读者阅读本书时,发现错误或有疑问,可发电子邮件到hebo824@163.com与我联系。

贺 波  

2022年5月14日于北京

前  言

随着社会的发展与进步,企业规模的发展壮大,同行业、跨行业之间相互渗透,竞争日益激烈。在残酷的市场竞争中,为了赢得市场、获取利润,企业必须建立一种快速响应市场变化、降低生产成本、提高生产效率的方法和机制。

在社会化大生产的背景下,人们对工作的分工日益细化,很难有人能掌握所有生产流程和生产工艺。人与人之间必须互相合作,以便高效地组织生产。在生产过程中,信息在人与人之间流转,并分发给需要这些信息的人,人们协同工作,一起完成一项工作或任务。

近年来,随着计算机技术的进步、软件技术的发展,信息化技术在企业的生产、经营和管理过程中发挥着日益重要的作用。在这种背景下,工作流和BPM技术应运而生,实现“业务过程的部分或整体在计算机应用环境下的自动化”,从而“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行”,进而“实现某个预期的业务目标,或者促使此目标实现”。企业采用工作流或BPM技术来组织业务流程、辨别业务逻辑、管理组织结构,很大程度上解决了企业信息化过程中出现的各种问题。

BPM是企业流程建模和流程管理的核心技术之一,是根据企业业务环境的变化,推进人与人之间、人与系统之间、系统与系统之间的整合及调整的经营方法与解决方案的IT工具。BPM通过对企业内部及外部的业务流程整个生命周期进行建模、自动化、管理监控和优化,简化了企业信息化系统的开发流程,实现了企业业务管理的自动化,以快速响应市场变化,提高企业或组织的生产和运行效率,优化业务流程模型,实现企业流程再造。BPM在企业中应用十分广泛,凡是存在业务流程的地方都可以使用BPM进行管理。BPM早期主要应用于OA、CRM等流程审批场景,提高了企业的生产效率;当下主要在电商、金融等领域用于处理复杂的业务形态变化问题,在很多公司的大项目中扮演重要角色。

Activiti是Alfresco发布的BPM框架,覆盖了业务流程管理、工作流、服务协作等领域,是一款开源的、灵活的、易扩展的可执行流程语言框架。Activiti是一款基于Apache许可的开源BPM平台,从基础开始构建,旨在提供对BPMN 2.0标准的支持,包括对OMG的支持,以应对新技术的挑战,提供技术实现,目前已得到广泛应用。借助Activiti,可以将业务系统中复杂的业务流程抽取出来,然后使用建模语言BPMN 2.0对其进行定义。业务流程将按照预先定义的流程执行,这就实现了对系统流程的管理。这可以减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,降低系统开发维护成本。

本书依据BPMN 2.0规范,贯彻基于业务流程开发的思想和方法,重点讲解Activiti的基础知识、开发技能,以及使用技巧,以使读者能够快速、高效、全面地掌握Activiti从入门到高级应用的相关知识。

本书主要内容

本书共包含4篇:基础理论篇(包括第1~3章),主要介绍BPM的发展历程、行业规范、管理和技术体系等,让读者建立对BPM的基本认识;常规应用篇(包括第4~20章),主要介绍Activiti各种功能和特性的配置和使用,让读者掌握Activiti的基础用法;高级实战篇(包括第21~27章),立足实战,主要介绍如何基于Activiti的扩展特性实现对多种复杂流程场景和能力的支持;架构扩展篇(包括第28~30章),主要介绍提高Activiti性能和增大其容量的措施,并提出一套多引擎架构方案来支撑大容量、高并发和高稳定流程场景。

全书共分为30章,概要如下。

第1章主要介绍流程的基本概念,包括流程和流程管理的由来与定义、流程的构成要素与特征、流程分类与分层方法等,还简要介绍了流程管理的现状,帮助读者建立对流程及流程管理的基本认识。

第2章主要介绍BPM技术的发展历程。该章先详细介绍了BPM核心组件工作流技术,包括工作流技术的发展历程、参考模型、管理系统及常见的开源框架;然后详细介绍了工作流领域的BPMN 2.0规范,让读者更深入地了解BPM技术的发展历程及现状。

第3章主要介绍BPM管理体系构建方法论、BPM产品构成,以及流程全生命周期管理各个阶段相应的方法、策略、原则等理论知识。这些知识都是BPM管理体系发展历程中总结的宝贵经验,可为现代企业实施BPM提供一些参考和指引。

第4章主要介绍Activiti开发前的基础准备工作,包括JDK的安装与配置、MySQL的下载与安装、Tomcat的安装与配置,以及Activiti的安装与配置,最后通过一个简单流程的配置和运行向读者初步展示Activiti工作流引擎的使用方法。

第5章主要介绍在IDEA和Eclipse中集成安装Activiti流程设计插件的过程,并讲解了用流程设计插件绘制流程图的方法。

第6章主要介绍Activiti的核心架构。该章先详细介绍了Activiti架构、数据库设计及其设计模式,然后讲解了流程部署、流程启动、节点流转、网关控制等核心代码,以期帮助读者初步了解Activiti的工作机制和原理。

第7章主要介绍Activiti工作流引擎的配置方法,包含数据库配置、事务配置、历史级别配置和Activiti内置服务配置等,并通过一个项目示例,引领读者掌握Acitiviti的配置和使用。

第8章主要介绍Activiti核心接口的功能及用法。Activiti中的流程部署、流程发起、任务创建与办理等重要操作都是通过这些核心接口提供的服务来实现的。熟练掌握Activiti各个核心接口的用法,能够帮助读者更好地学习和应用Activiti框架。

第9章主要介绍Activiti内置的用户、组及其关系,以及使用IdentityService服务接口对用户和组进行操作的方法和技巧。

第10章主要介绍Activiti加载资源文件进行流程部署的过程,以及流程定义信息的各类操作,并通过具体示例详细介绍了它们的用法。

第11章主要介绍Activiti支持的开始事件和结束事件。该章详细介绍了各种事件的基本信息、应用场景和使用过程中的注意事项,并通过项目示例演示了其用法。

第12章主要介绍Activiti支持的BPMN 2.0规范中定义的边界事件和中间事件,以及它们的特点和适用场景。边界事件是依附在流程活动上的“捕获型”事件,中间事件用来处理流程执行过程中抛出、捕获的事件。

第13章主要介绍Activiti的3种任务节点——用户任务、手动任务、接收任务,并展示相关应用场景。用户任务用于表示需要人工参与完成的工作,手动任务是会自动执行的一种任务,接收任务是会使流程处于等待状态并需要触发的任务,3种任务可以用于实现不同场景的流程建模。

第14章主要介绍Activiti的另3种任务节点——服务任务、脚本任务、业务规则任务,并展示相关应用场景。服务任务、脚本任务和业务规则任务都是无须人工参与的自动化任务,其中服务任务可自动执行一段Java程序,脚本任务可用于执行一段脚本代码,而业务规则任务可用于执行一条或多条规则。

第15章主要介绍Activiti扩展任务,如邮件任务、Web Service任务、Camel任务、Mule任务和Shell任务,以及它们的特性和应用场景。

第16章主要介绍顺序流和网关这两种BPMN元素。顺序流是连接两个流程节点的连线,流程执行完一个节点后,会沿着节点的所有外出顺序流继续执行;网关(gateway)是工作流引擎中重要的一个路径决策,用来控制流程中的流向,常用于拆分或合并复杂的流程流场景。

第17章主要介绍流程拆解和布局的3种方式:子流程、调用活动和泳池泳道。可以通过子流程或者调用活动将不同的阶段规划为一个子流程作为主流程的一部分,或通过泳池泳道对流程节点进行区域划分。

第18章主要介绍Activiti监听器及其适用场景。执行监听器、任务监听器允许在流程、任务执行的过程中,在发生对应的流程、任务相关事件时执行特定的Java程序或者表达式,而全局事件监听器是引擎范围的事件监听器,可以监听到所有Activiti的操作事件,并且可以判断事件类型,进而执行不同的业务逻辑。

第19章主要介绍内置表单和外置表单。这两种表单只是在表单定义方式上有所差别,流程的运转机制完全相同。它们各有优缺点,可根据具体场景灵活选用。

第20章主要介绍多实例的概念和配置,以及其应用场景,并结合具体案例介绍了多实例的使用方法。

第21章主要介绍Spring Boot的优点,并对Spring Boot的配置解析和starter做了详细讲解,实现了Spring Boot与Activiti的集成。

第22章主要介绍Activiti Modeler集成到已有Web应用系统中的详细过程,从而能够支持技术或业务人员基于浏览器在线进行流程设计。

第23章主要介绍自定义ProcessEngineConfiguration扩展、自定义流程元素属性、自定义流程活动行为、自定义事件和自定义流程校验等多种自定义扩展Activiti引擎的方式。

第24章主要介绍替换Activiti身份认证服务、适配国产数据库和自定义查询等多种扩展Activiti引擎的方式。

第25章主要介绍自定义流程活动、更换默认Activiti流程定义缓存和手动创建定时任务等多种扩展Activiti引擎的方式。

第26章主要介绍通过对Activiti进行扩展封装,从而使其支持动态跳转、任务撤回和流程撤销等各类本土化业务流程场景的方法。这种方法在实际应用中很有代表性。

第27章主要介绍通过对Activiti进行扩展封装,从而使其支持通过代码创建流程模型、为流程实例动态增加临时节点、流程节点自动跳过、会签加签和会签减签等各类本土化业务流程场景的方法。

第28章主要介绍Activiti的性能和容量瓶颈及其解决方案。该章从历史数据异步化、自定义ID生成器和基于MQ的定时器这3个方面,对Activiti底层逻辑进行了调整和优化,以提高Activiti的性能和增大其容量。

第29章主要介绍Activiti在大数据、高并发场景下的问题,以及传统分库分表方式在流程领域的局限性,并创造性地提出基于Activiti的多引擎架构方案,通过流程建模服务、路由表和网关服务,完成一个初阶多引擎架构的实现。

第30章主要介绍初阶版多引擎架构问题和解决方案。

本书约定

本书有如下约定。

本书的示例代码均在JDK1.8中运行,使用的数据库均为H2或MySQL数据库。

本书的示例代码基于IntelliJ IDEA构建,使用Maven管理JAR包依赖,使用Junit管理测试用例,通过Lombok注解简化Java类样板代码(如Getter&Setter、构造函数和日志配置等)。

本书中列举的Java源码省略了通过import导入指定包下的类或接口的部分,完整内容参见本书配套资源。

本书中列举的XML源码(包括但不限于Maven配置文件、Activiti配置文件、Spring配置文件和流程模型文件等)如非特殊需要,均省略了命名空间配置,完整内容参见本书配套资源。

本书示例程序源代码

本书所有示例程序的源代码均以配套资源的方式提供,可通过异步社区下载(参见“资源与支持”页)。每章的示例代码均对应一个独立的IDEA项目,导入IDEA后即可使用。

贺 波  

2022年5月于北京

资源与支持

本书由异步社区出品,社区(www.epubit.com)为您提供相关资源和后续服务。

您还可以扫码二维码, 关注【异步社区】微信公众号,回复“e60004”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

配套资源

本书提供示例程序源代码。

请在异步社区搜索页输入“60004”,点击“搜索产品”跳转到本书详情页面。点击“配套资源”标签并按提示操作,即可获取配套资源下载链接。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见下图)。本书的作者和编辑会对您提交的勘误信息进行审核,确认并接受您的建议后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

扫码关注本书

扫描下方二维码,您将会在异步社区微信服务号中看到本书信息及相关的服务提示。

与我们联系

我们的联系邮箱是contact@ptpress.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频或者参与技术审校等工作,可以直接发邮件给本书的责任编辑。

如果您来自学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接通过邮件发给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端和网络技术等。

异步社区

微信服务号

第一篇 基础理论篇

第1章 流程的基本概念

程在企业中无处不在,研发有研发的流程,生产有生产的流程,销售有销售的流程,财务有财务的流程。企业的管理系统包含大量的业务流程管理工作。流程与流程管理在现代企业中已经普及,成为一种企业提升管理规范和经营业绩的有效方法。

本章将以通俗易懂的语言来对流程与流程管理、企业流程分类与分层、企业战略与流程和它们的组织关系等进行系统阐述,帮助读者全面认识、深入理解及高效运用流程。

1.1 流程与流程管理

流程是企业为达成某一特定结果而进行的一系列作业活动的组合,这些作业活动集合所需人员、设备、材料,并应用特定作业方法,达成为客户创造价值的目的。企业的成功离不开优秀的流程,而优秀的流程离不开优秀的流程管理。流程没有一成不变的。市场环境的变化或企业战略的调整,都要求企业及时对流程进行调整,以降低业务处理成本,提高业务处理效率,快速回应市场和客户的需求。这正是流程管理的工作和其意义。

1.1.1 流程的由来与定义

流程并不是一个全新的概念,这一概念早已存在。流程的思想可以追溯到20世纪初由有着“科学管理之父”和“工业工程之父”之称的弗雷德里克·温斯洛·泰勒(Frederick Winslow Taylor)提出的“方法和过程分析”,它倡导对工作流程进行系统分析,去除多余操作,改善必要操作,规范操作流程,从而追求工作流程的最高效率(这后来成为工业工程的主要思想)。流程在当时主要用于工业工程领域的加工、装配等工业活动的组织。随着这种流程思想的萌芽,一系列流程管理技术也逐渐发展起来。

随着第三次工业革命浪潮的兴起,信息技术得到飞速地发展。20世纪60年代到20世纪80年代末,信息技术在企业中得到广泛应用。从最初的手工作业自动化到各部门间的协调工作,再到整个企业内部分公司间的协调工作,信息技术驱动企业对传统业务过程进行自动化改造。业务流程自动化推动流程管理思想的进一步发展,产生“价值链”“并行工程”等一系列流程管理思想。

20世纪90年代,迈克尔·哈默(Michael Hammer)与詹姆斯·钱皮(James A. Champy)在《企业再造》(Reengineering the Corporation)一书中正式提出业务流程的概念:“我们定义某一组活动为一个业务流程(business process),这组活动有一个或多个输入,输出一个或多个结果,这些结果对客户来说是一种增值。”简言之,业务流程是企业中一系列创造价值的活动的组合。

这里倡导的是业务流程再造(Business Process Reengineering,BPR),其核心是从根本上反思和重构企业的业务流程,以实现在成本、质量、服务和效率等关键绩效上的突破性进展。然而,BPR对业务流程进行彻底改造的激进性导致其实施的失败率高达70%,业务流程改进(Business Process Improvement,BPI)应运而生。BPI只是将激进型的BPR变为了渐进型的逐步改进,本质上都是以流程信息化为主,而忽略了对流程的管理。

随着社会信息化程度的不断提高,对于21世纪的企业来说,IT系统已不再是企业的奢侈品,而是维持正常运营的必需品。第三代流程管理思想的倡导者霍华德·史密斯(Howard Smith)和彼得·芬格尔(Peter Fingar)提出:“IT不再是企业的竞争优势,业务流程比IT更为重要,企业竞争优势的根本是其卓越的业务流程体系。”至此,以业务流程为主导的管理思想正式诞生。业务流程管理(Business Process Management,BPM)是一种以规范化构造端到端卓越业务流程为中心,以持续提高组织业务绩效为目的的系统化方法。

目前,BPM正处于飞速发展阶段,日趋成熟与完善。企业正在认识到,全面而可靠地理解自己的流程是实现绩效目标的基础。越来越多的企业把BPM当作解决自身业务困境和实现自身战略目标的系统方法。

1.1.2 企业流程管理的目的

企业存在的意义就是为客户创造价值,而流程是企业中一系列创造价值的活动的组合,是企业价值的体现。流程之于企业的意义在于:

规范作业流程、把个人的优秀推广到组织,有利于提高企业的核心竞争力;

消除重复劳动、精简烦琐环节,有利于企业降低成本、缩减生产时间、提高工作效率;

专业化分工、提高工人的专业技能,有利于企业提高服务质量和客户满意度;

规范管理、明确权责,有利于消除职务空白地带、消除“扯皮”现象、解放管理者。

在实际工作中,流程只是保证工作顺利开展的第一步。接下来,还需要企业建立相应的管理制度、构造规范化的流程管理体系、持续对业务流程进行优化。只有这样,流程才能真正发挥作用。而这些正是业务流程管理的主要内容。业务流程管理从企业战略出发、从满足客户需求出发、从业务出发,进行流程规划与建设,建立流程组织机构,明确流程管理责任,监控与评审流程运行绩效,适时进行流程变革。

企业进行流程管理的目的在于:

保证业务流程面向客户,为客户创造价值;

保证管理流程面向企业目标,实现企业战略目标的落地;

保证流程中的活动均为增值活动,都是实现企业目标的一部分;

保证流程持续优化,与时俱进,使企业的价值不断得到提升。

1.1.3 流程构成要素及特征

从流程的定义可知,一个完整的业务流程应该包括输入资源、若干活动、相互作用、输出结果、客户、价值6个要素(图1.1),具备目标性、普遍性、整体性、动态性、层次性、结构性6个主要特征。

图1.1 流程构成六要素

流程构成六要素介绍如下。

输入资源是流程运作过程中不可或缺的组成部分,将被有效地消耗、利用和转化,并最终对输出结果产生影响。常见的输入资源包括客户订单、顾客需求、经营计划、物料、设备、资金、信息、行政指令、会议纪要等。

若干活动是为了满足客户需求,按照一定秩序执行的一系列活动的组合,是流程运作过程不可缺失的、有增值作用的环节。要尽可能减少没有增值作用的环节,使流程路径最短、效率最高。

一个流程通常包含多项活动,这些活动之间有着严格的前后顺序和逻辑关系,即活动之间存在某种相互作用。一个活动的产出是其后一个活动的输入。活动之间的相互作用可以串联整个流程。

输出结果可能是有形的产品,也可能是无形的服务。输出结果承载着流程的价值。输出结果是否合格,最终要由客户判断。

客户是流程的服务对象,在进行流程设计时,必须先明确流程的客户是谁、客户的最终需求是什么。而要明确这些内容并不容易,需要我们认真思考。

价值是流程过程运作为客户带来的好处、创造的价值等,通过输出结果承载。很多情况下,价值可能不是直接用货币来衡量的,它可以表现为提高了效率、降低了成本等。

流程主要特征介绍如下。

目标性指制定流程时应有明确的输出。这个输出可以是一次满意的客户服务,也可以是一次及时的产品送达等。只有明确了流程的目标,企业在制定流程时,才能做到有的放矢,否则最终制定的流程可能不仅不能产生任何价值,而且会给企业造成损失。

普遍性指流程存在于任何企业的任何经营活动之中。任何经营活动都可以描述为“输入了什么资源,中间经过了一系列怎样的活动,输出了什么结果,为谁创造了怎样的价值”。因此,可以说企业的经营活动就是流程的组合体。

整体性指企业内部不同的流程之间应有统一的指导思想,形成共同的目标导向,不能相互冲突。指导思想可以由企业的战略发展目标细化得出,也可以根据企业的实际经营需要提炼得出。企业流程追求的不是个体的、局部的最优,而是整体的、全局的最优。

动态性指流程运行过程中需要进行动态调整、优化,甚至重新设计,以适应外界因素的变化。这些因素包括企业发展战略的变化、组织职能的调整、企业信息化技术的提升、外部市场行情的变化等。

层次性指组成流程的活动本身也可以是一个流程,这个嵌套的“子流程”可以继续分解为若干活动。企业可以根据自身的需要对流程进行层次划分。上级流程为下级流程提供指引,下级流程为上级流程提供支撑。

结构性指流程往往具备某种表现形式,如串联、并联和反馈等。不同形式的流程结构往往会导致十分不同的流程运作效率和运作质量。一般来说,串联结构有助于对流程节点和信息的控制,并联结构有助于流程节点的协同工作,从而提高运行效率,而反馈结构则有助于系统部分环节的改善和调整。

1.2 流程分类

企业经营管理中包含大量的流程,如研发流程、生产流程、销售流程、财务流程等。企业为了高效管理这些流程,有必要对其进行分类,从整体上把握不同类别流程的定位及作用,从而更好地设计企业的流程体系。良好的流程分类体系是企业做好流程管理的基础。企业要设计出适合自身的流程分类体系,最好的方法就是参考权威的流程分类框架或者业内标杆企业采用的流程分类方法,然后结合企业自身的实际业务调整。

1.2.1 安东尼模型

关于企业流程分类,最早出现的是安东尼模型。安东尼模型是1965年由以罗伯特·N. 安东尼(Robert N. Anthony)为代表的企业管理专家通过对欧美制造型企业长达15年的观察和验证而创立的制造业经营管理业务流程及其信息系统构架理论。该理论包含和考虑了企业内外部的环境因素,以及它们之间的相互关系和影响,正确反映了企业内外部供应链的物流、资金流、信息流的流向和规律,以及企业管理的本质,可谓现代企业管理信息系统的“开山鼻祖”。

如图1.2所示,在安东尼模型中,企业经营管理业务活动可分为以下3个层次:

战略规划层(Strategic Planning Layer,SPL);

战术决策层(Tactics Decision Layer,TDL);

业务处理层(Business Treatment Layer,BTL)。

1.战略规划层

战略规划层是企业最高层次的管理活动,负责企业整体战略目标的制定与变更,并为实现战略目标进行资源规划、预算制定等活动。

战略规划层主要负责解决以下两个问题:

“企业应该从事何种业务”,即根据企业外部环境的变化及企业内部条件,确定企业的使命与任务、产品与市场领域;

“企业怎样管理这些业务”,即在企业内不同的战略单元之间,如何分配资源及明确发展方向等,以实现企业整体的战略目标。

战略规划层流程以客户/市场需求为输入资源,以企业经营/战略目标实现为输出结果,规划企业所有业务活动,并明确它们之间的关系、规则和目标。

2.战术决策层

战术决策层位于中间管理层(又称管理控制层),负责制定一系列的方法、技术和手段等内容,用以实现企业战略规划层所制定的战略目标。

图1.2 安东尼模型示意图

战略规划层主要解决“做什么”的问题,面向企业未来长期发展;战术决策层主要解决“如何干”的问题,面向短期行动方案的制定。

战术决策层流程是面向市场和顾客制定的策略、计划和行动方案。

3.业务处理层

业务处理层位于下层管理层(又称运行控制层),主要保证某项特定业务能够高效执行,从而使企业战略目标和战术决策得到具体落实。

业务处理层关注的是,怎样才能卓有成效地开展工作,聚焦于提高企业资源利用率。

业务处理层流程比战术决策层流程更为详细、具体,是最终交给员工执行的业务流程,涉及各种具体事务,如人事、采购、生产、营销、财务等。

1.2.2 APQC流程分类框架

安东尼模型之后,关于企业流程分类最权威的莫过于美国生产力与质量中心(American Productivity and Quality Center,APQC)开发的流程分类框架(Process Classification Framework,PCF)了。APQC自1991年开始研究和开发流程分类框架,通过整理全美各行业的业务流程,推出了适用于各行业的通用跨行业流程框架。基础版APQC流程分类框架致力于适用所有行业。后来,为了适应不同行业的管理特征,诸多针对特定行业的流程分类框架陆续推出。目前,流程分类框架已被全球众多企业所认可。

基础版APQC流程分类框架于2019年发布7.2.1版本。该版本将企业流程分为两大类——运营流程(operating process)、管理及支持流程(management and support process),并拆解出13个企业级流程类别(见图1.3),每个流程类别分别包含多个流程群组,所有作业流程与相关作业活动超过1800个。

1.运营流程

运营流程是企业的主价值链,包含从形成产品到创造价值的相关活动,共分为以下6个流程组:

愿景与战略的制定;

产品与服务的开发和管理;

产品与服务的市场和销售;

产品的交付;

服务的交付;

客户服务管理。

2.管理及支持流程

管理及支持流程,是与人力资源、财务、后勤、IT等职能部门相关的管理流程,是主价值链的支撑部分,共分为以下7个流程组:

人力资源开发与管理;

信息技术管理;

财务管理;

资产的获取、建设与管理;

企业风险、合规和应变能力管理;

外部关系管理;

业务能力开发与管理。

图1.3 APQC流程分类框架的类别

1.2.3 IBM的流程分类

IBM是一家历经百年而依然位于行业前沿的优秀企业,这主要得益于其精密的流程和体系运作。在IBM的流程管理体系中,流程主要划分为业务流程和管理流程两大类。

1.业务流程

业务流程指业务之间的传递或转移等动态过程。业务流程面向市场与客户,是直接为客户创造价值的流程,能够被外部客户看到或感知。业务流程从客户提出需求开始,到满足客户需求结束,如客户开户流程、售后服务流程等。业务流程是水平的,横向跨越多个部门,流程横向协调难度相对较高,是企业竞争力的根本所在,也是企业流程管理与改善的重点。

2.管理流程

管理流程指管理之间动态传递或转移的过程。管理流程支撑业务流程,为业务流程提供服务,面向内部管理,以提升效益为中心,如人事管理流程、资金管理流程、财务管理流程等。管理流程一般是纵向的,在职能部门内部,流程横向协调的难度相对较低。在进行管理流程设计时,要以业务流程为目的,帮助提升业务流程的效率与效益。

1.3 流程层级

企业内部的流程成百上千,如果不分级,执行起来很容易陷入混乱,使我们迷失在细节中。对流程进行分级是为了更好地建立企业流程管理体系,从而支持企业的持续成功。

1.3.1 按APQC流程分类框架分级

我们可以参考APQC流程分类框架对企业内部流程进行分级。图1.3是一个基础版流程分类框架,图中列出的是经典的企业第一级流程。每一类流程又继续向下拆解,通常细分到第五级流程,才能真正形成针对具体工作岗位的操作规范与要求,如图1.4所示。

图1.4 APQC流程分类框架分级示意

1.第一级:流程类别(category)

流程类别是APQC流程分类框架中的最高级别,如客户服务管理、供应链管理、财务管理、人力资源管理等。这个级别是从管理的角度对业务进行分类。

2.第二级:流程组(process group)

流程组是流程类别的下一级,代表一组流程,如售后、采购、应付款管理、招聘等。

3.第三级:流程(process)

流程是一系列将输入资源转化为输出结果的相互关联的活动。流程消耗资源并且需要制订可重复执行的标准。流程需要遵从一个面向质量、速度、成本绩效要求的控制系统。

4.第四级:活动(activity)

活动是运行流程必须完成的关键事项。如接收客户请求、处理客户投诉、采购合同洽谈等。

5.第五级:任务(task)

任务是“活动”的下一级。任务通常粒度更细,并且不同行业的差异很大,如创建业务计划、获得资助、设计识别与奖励方法等。

1.3.2 按组织职能分级

按组织职能分级是流程分级中常见的方法之一。企业的组织职能具备严密的层次性,流程按组织职能可以划分为集团级流程(跨业务板块或跨公司流程)、公司级流程(跨部门流程)、部门级流程(跨岗位流程)、岗位级流程(岗位操作流程)这4级。如果是非集团企业也可以划分为公司级流程(跨部门流程)、部门级流程(跨岗位流程)、岗位级流程(岗位操作流程)这3级。

企业需要结合自身的实际情况灵活应用,并没有标准统一的答案。

1.3.3 按企业管理层级分级

另外一种常见的流程分级方法,是按企业管理层级分级。通常企业将管理划分为战略、战术、战斗3个层级,对应地,将企业员工划分为高层、中层、基层3个层级。高层负责战略层面的工作,中层负责战术层面的工作,基层则负责执行层面的工作。

基于上述管理层级,可以将企业流程分为高阶、中阶、低阶3个层级:

高阶流程是企业的整体管理体系,以客户/市场需求为输入资源,以企业经营/战略目标实现为输出结果;

中阶流程是相对完整的子流程体系,是从最终用户提出需求开始,到满足最终用户需求结束;

低阶流程则是已经分解到岗位,有了责任人,有了执行主体的可执行层面的流程。

1.4 企业战略、流程与组织的关系

企业战略是企业目标与愿景的定位,是企业的发展方向。企业需要根据环境变化,依据自身资源和实力选择适合的经营领域、产品或服务,形成自己的核心竞争力,通过一系列综合的、协调的约定和行动,获取竞争优势。

业务流程是为实现特定价值目标而由多人共同完成的一系列活动的集合。这些活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都有明确的安排和界定,以保证业务有序、顺利地执行。

组织结构是企业为实现战略目标而在管理中采取的一种分工协作体系,用以明确组织中各种职务的责任、权利等。

1.4.1 战略决定业务流程

企业战略决定“要做什么”,业务流程研究“该怎么做”,战略是目标,流程是手段,目标决定手段。因此,企业战略决定了业务流程。

1.企业战略决定流程的客户

流程是企业输入原料、资金、信息到输出能满足客户需求的产品和服务的过程。因此,提供满足客户需求的产品和服务是流程的首要目的。在制定流程时,先要分析企业战略,明确企业发展目标、客户及客户需求,进而明确业务流程需要为谁提供服务。

2.企业战略决定流程的期望输出结果

企业所处的外界环境是不断变化的,因此,企业在不同时期的战略是不同的,有时强调快速应对市场变化,有时强调压缩成本。因此,即使是同一业务流程,在不同的企业战略下,也会有不同的期望输出结果。

企业战略与流程密不可分。如果企业战略无法明确,业务流程就无法细化。脱离了企业战略的流程是无效的流程,偏离企业战略的流程是低效的流程,只有紧扣企业战略的流程才能称为高效的流程。好的企业战略会引导好的流程,好的流程会促进企业战略的顺利实现。

1.4.2 业务流程决定流程组织

迈克尔·哈默曾说“流程决定组织架构”。这是因为为客户创造价值的是流程,组织只是创造价值的手段,目标决定了手段。

业务流程是为实现企业战略服务的,而组织则是为业务流程顺利实现服务的。流程型组织结构是一种20世纪60年代才出现的组织结构形式,是一种以客户为导向,通过业务流程搭建的企业组织结构。相较传统形式的组织结构,流程型组织结构更加适应多变的市场环境。从这种意义上讲,业务流程决定企业的组织架构。即使生产相同产品的企业,由于其各自内部运作流程的不同,企业组织结构也存在很大的差异。

1.4.3 企业战略、业务流程与组织的关系

在企业中,企业战略决定企业做正确的事,组织决定企业正确地做事,而流程则帮助企业高效、低成本、低风险地做事,三者密不可分。

企业战略是业务流程运作和组织管理的根基,决定了企业的价值目标,直接影响和决定了流程和组织的最终输出结果。

流程是企业的价值目标的产出过程,是企业内部的横向管理线路。流程直面客户,能够打破部门壁垒,更注重整体运作、企业价值的实现和效率的提升。

组织是企业战略实现和业务流程实施的平台,能明确企业内部成员的岗位职责、角色、任务,是企业内部的纵向管理线路。组织通过职责体系串联企业最高经营者与普通员工。

组织和流程构成了企业内部的纵向和横向管理线路,纵向管理线路明确了组织成员的分工,横向管理线路明确了组织成员的协作。两者共同构成了企业的经营管理模式。

如果将企业看作人体,则战略就是人的大脑,决定做什么;组织就是人体的各个器官,在人体内起着不同的作用,实现特定的功能;流程就是遍布全身的血管和神经,连接各个器官,使各个器官之间产生的物质可以进行有效循环,从而维持人体系统的正常运行。

1.5 业务流程管理现状

近年来,流程管理思想在我国普及,企业对流程管理的重视程度也越来越高。但是许多企业并未真正理解流程管理的内涵,流程管理仍停留在技术层面,企业内部仍然以组织职能为基础开展工作,无法有效解决跨部门的业务问题。对于大多数企业员工来说,流程管理仍是一个比较陌生的事物,参与度不足,导致流程管理流于形式。

想要真正地推动流程管理,必须让企业内部员工建立共同的流程管理理念、价值观,提升对流程管理的关注度和重视度,不断优化完善业务流程,建立流程管理的长效机制。

1.5.1 业务流程管理

业务流程管理是一种以规范化构造端到端卓越业务流程为中心,以持续提高组织业务绩效为目的的系统化方法。从业务流程管理定义可以看出,业务流程管理的管理对象是流程,业务流程管理的核心是构造卓越的业务流程,流程管理的过程是坚持以顾客需求为导向、不断改进或改造能够创造和传递客户价值的业务流程的过程,其结果是提高企业的效率和效益,为实现企业的战略目标服务。

业务流程管理的主要内容包括流程管理制度和在流程管理制度之下的流程挖掘和梳理、流程开发和实施、流程资源管理、流程执行、流程监管、流程优化等。

业务流程管理将给企业带来以下价值。

规范管理,明确职责。业务流程管理可以明确业务操作的规范要求,让员工清楚地知道执行某项活动所需的所有材料和准备工作,避免因准备不充分而出现的反复沟通。业务流程按既定的环节流转,员工各司其职、相互配合,每个环节的职责清晰明了,即使是跨部门的协作也能轻松应对。

精简工作,提升效率。业务流程管理能够对管理过程进行有效梳理和执行,精简工作中的烦琐环节,减少反复沟通、消除重复劳动,提升业务流转速度,从而最大限度地帮助企业提升生产效率及产品质量,降低生产成本。

积累经验,提升组织能力。企业应该有效地将个人优秀的工作经验、企业经营理念等融入企业的标准工作流程,并在实践中不断完善和优化。将个人的优秀变成多人的优秀,进而转变为企业的能力。优秀的企业必然具备卓越的业务流程。

全面监管,控制风险。业务流程管理做得好,风险就能大体控制得住,面对风险时,也有据可查。如果企业的内部管理和业务开展过程都通过业务流程管理来实施,那么任何决策和执行过程都会记录在案,企业管理者可以随时了解和掌握这些信息,并对业务的开展过程进行监管。一旦某个事项出现问题,可以快速追溯哪个环节出了问题。

1.5.2 业务流程优化

企业内外部环境是不断变化的,因此企业的战略也会随之不断调整。战略的变化决定了业务流程也要相应进行调整和优化。业务流程优化就是根据战略或环境的变化,对现有业务流程进行定期回顾和分析,并不断完善业务流程,使其更加精简与高效,从而提升业务流程绩效,保持企业竞争优势的过程。

然而,企业的业务流程成百上千,如果一一优化、面面俱到,则工作量过于庞大。那么,流程优化应该从哪里着手呢?答案是关键业务流程,也就是能切实见效的地方。

可以从与企业核心业务相关的活动,或者企业出现问题最多的活动,或者占用资源最多的活动中,筛选需要重点优化的业务流程。在这之后,还需要对业务流程优化可能取得的效益和可能带来的风险进行评估,根据风险和收益的对比分析,明确需要优化的具体业务流程。

高收益、低风险的业务流程才是需要进行业务流程优化的关键业务流程。如果没有筛选关键业务流程,而是直接进行业务流程优化,即使耗费了大量人力物力,仍然可能导致业务流程优化失败。

确定业务流程优化的目标后,如何有效地进行业务流程优化呢?我们需要遵循以下原则:

清除业务流程内多余的非增值活动,如活动间的等待、重复的活动等。即通过精简和压缩业务流程的过程来实现业务流程优化;

简化业务流程中的表格、操作、程序等。许多表格在业务流程中没有任何实际意义,或存在许多重复的内容。简化表格,可以减少相关任务负责人的工作量;

整合一系列的简单活动,交由一人完成,减少交接次数、缩短工作时间,使业务流程更顺畅连贯;

自动化采集和传输业务流程上的信息流,实现信息的无缝传递和交流,保障信息畅通,消除使信息滞留或阻塞的环节;

实行并行工程,改善作业顺序、消除瓶颈、提高效率。

1.6 本章小结

本章简单介绍了流程的起源、构成、分类及发展现状。企业实施流程管理、优化和再造的过程中,最不易掌握的就是流程的分类和分级,而这部分恰好是企业流程管理的基础。因此,本章专门介绍了流程分类、分级的标准框架,企业可以参考标准框架,并结合自身的情况灵活运用,制定适合自身特点的流程分类、分级体系。在对流程及流程管理有了基本的了解之后,我们将一起探索BPM的“前世今生”。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e60004”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

相关图书

YOLO目标检测
YOLO目标检测
Serverless核心技术和大规模实践
Serverless核心技术和大规模实践
深入浅出Windows API程序设计:编程基础篇
深入浅出Windows API程序设计:编程基础篇
Spring Cloud微服务架构实战
Spring Cloud微服务架构实战
读源码学架构:系统架构师思维训练之道
读源码学架构:系统架构师思维训练之道
设计模式之美
设计模式之美

相关文章

相关课程