BPM和BPMS的基本概念

BPM的基本概念

业务流程管理(Business Process Management, BPM)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(BPI)、业务流程重组(BPR)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、EAI、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

很多人认为业务流程管理是90年代工作流管理系统的扩展。因此,我们使用工作流的术语来定义BPM。工作流管理联盟(WfMC)定义工作流为:“工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。”。工作流管理系统(WFMS)的定义是:“工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。”。上述两个定义的重点都在于工作流的执行,也就是使用软件支持操作流程的执行。在过去的几十年里,很多研究学者开始意识到仅仅把重点放在工作流执行上过于局限,于是新的术语BPM诞生了。现今存在很多BPM的定义,但是从中我们可以看到大多数定义都包含了工作流管理的内容。

从管理理论或战略的层面看,业务流程管理(BPM)就是在一个存在内部事件和外部事件的环境中,由一组相互依赖的业务流程出发,对业务进行描述、理解、表示、组织和维护。从具体实施的层面看,BPM 还可分为流程分析、流程定义与重定义、资源分配、时间安排、流程管理、流程质量与效率测评、流程优化等。

Gartner Inc.给出的BPM的定义是:BPM是一个描述一组服务和工具的一般名词,这些服务和工具为显式的流程管理(如流程的分析、定义、执行、监视和管理)提供支持。

图1 BPM和WFM的生命周期

图1表明WFM和BPM生命周期上的联系。在设计阶段,业务流程被定义或者是重新定义;在配置阶段,定义的流程在基于流程的信息系统中实施;在实施阶段,业务流程开始利用在配置阶段的内容开始实施;在诊断阶段,系统开始分析业务流程以发现其中的问题和需要改进的地方,在流程设计阶段重新定义,往返循环不断地优化业务流程。相对比而言,传统的WFM的重点仅仅存在于BPM的下半部分。所以WFM在诊断阶段基本上没有什么支持。此外,WFM对于设计阶段的支持很少,仅仅提供了一个编辑器,而对实时的设计分析没有支持。因此,几乎没有WFM支持流程设计的仿真,验证,确认以及对实时数据的收集、解释。从理论上说,可以从工作流日志中可以挖掘业务流程,然而现今没有软件能够真正做到这一点。

从图1中我们也可以很清晰地看到BPM的研究范围以及BPM和工作管理(WFM)的在其他方面的区别和联系。

1)从产生的背景来看,工作流的概念起源于生产组织和文档自动化领域,它十分强调任务和文档的概念。而BPM 是在EAI、工作流和BPR等一系列技术或理念的基础上发展起来的,BPM中流程的概念已经超出了任务的集合这一范畴。

2)从对业务流程的管理来看,工作流侧重于业务流程的自动化。从WFMC给出的工作流的概念中可以看出,工作流强调业务流程的自动或部分自动的执行。自动化是业务流程管理很重要的部分,但不是全部。从这个意义上说,工作流对流程的管理应该处于表1所示的运作管理和部分计划管理层面。而BPM 是业务流程管理的整体解决方案,它涵盖了业务流程的建模、运行、监控、分析等多个方面,以及从生产管理到战略管理的各个层次。

3)从对业务流程类型的理解来看,工作流侧重于管理结构化的流程,这些流程从一个参与者流转到另一个参与者。工作流在银行、保险、税务等领域应用比较广泛,其原因就是这些领域的流程往往十分结构化。而BPM 对流程的并行、协同和分布的支持能力更强。

现今,很多工作流供应商开始把他们的系统定位BPMS(BPM systems)上。业务流程分析(Business Process Analysis, BPA)是其中很重要的一个方面。BPA主要覆盖了传统的工作流产品所忽略的方面(例如,诊断,仿真,等)。BAM(Business Activity Monitoring)是BPA中的一个方面,BAM工具的目的在于使用信息系统日志中的数据来诊断业务流程。例如,ARIS流程性能管理(ARIS PPM)软件从日志细节中提取出信息,并把这些信息以图形的方式表示出来。BAM也能进行流程挖掘,比如从日志中挖掘出流程模型。

在流程重设计阶段,现今有两种趋势:STP(Straight Through Process)和CH(Case Handing).STP是指业务流程执行的完全自动化,即不需要人工参与。STP仅仅适用于一部分案例,因为不可能所有的过程都是符合STP的要求,有时要人工参与才能完成工作。而CH将案例分为两种:(1)可以被自动执行的案例(2)需要人工参与的案例。STP目的在于将更多的流程自动化,而CH则认为很多流程过于动态和复杂而不能完全自动化。

BPMS的基本概念

关系数据库分离了应用程序使用的数据和具体的应用逻辑。数据库作为数据持久的存储集合,使用实体关系模型和诸如两阶段提交这样的协议来保证数据的完整性和正确性。数据库的理论基础和实现机制十分复杂,但是对数据的各种操作却可以通过相对简单的接口(SQL)加以实现。

业务流程管理系统(Business Process Management System,BPMS)的提出也是基于这一思想。BPMS使企业能够对核心流程进行建模,部署和管理。企业信息系统所处理的业务流程越来越复杂,需要不断调整才能适应市场,这对企业信息系统的灵活性提出了更高的要求。工作流系统完成了业务逻辑与应用程序的分离,提高了流程的灵活性,但工作流通常侧重于结构化流程的自动化执行,还不足以支持整个企业的业务运转,在此背景下提出了BPMS的概念。与DBMS的思想类似,BPMS的思想以一种统一、中性的表示方法描述业务流程模型,使业务流程模型从实现逻辑中抽取出来,被各个企业应用程序所使用,从而灵活地构建基于流程的信息系统。业务流程逻辑、业务流程的完整性和正确性可以由BPMS保证,企业信息系统的开发可以基于BPMS进行。

一般而言,BPMS应具有以下功能模块:

1)流程仓库 为流程以及与流程有关的知识提供集中的存储场所,提供目录服务以便于流程的查询和发布。

2)流程设计 设计流程的模块、逻辑、规则和执行角色,提供流程模板和重用机制。

3)流程配置 为流程实例的运行绑定参与者,分配资源,以及设置其他特定的参数。

4)流程引擎 驱动流程的运行并负责流程数据的维护;管理流程的状态,实现流程的事务管理。对于分布式流程,要与其他流程引擎进行交互和协调。

5)流程维护 流程的监控和异常处理。

6)流程入口 为流程的用户提供统一的流程访问机制,包括工作任务列表、报告等;提供企业联盟的流程访问规则。

7)流程优化对资源利用进行优化,保证流程的一致性,防止死锁。

8)流程分析 对关键性能指标进行分析和流程仿真;对流程的时间和资源性能进行分析。

BPM的框架研究

有关BPM的学术研究散见于工作流、软件工程和管理科学等领域,对BPM 整体框架的研究较少,目前较有影响的是EDL-BP提出的BPM建模软件技术框架,业务流程管理联盟(Business Process Management Initiative,BPMI)提出的一系列标准和框架。另外,IBM 基于其企业应用软件,提出了持续业务流程管理(Continuous Business Process Management,CBPM)框架。

EDL-BP(Eindhoven Digital Laboratory for Business Processes)根据BPM的生命周期提出了BPM建模所需技术的框架,如图2所示。

图2 BPM建模所需的技术框架

从图2中我们可以看到不同的建模阶段需要不同的技术(包括软件),以及这些技术之间的联系。业务流程通过业务流程建模分析技术建立模型然后以信息系统的形式表示出来。MOD模块使用BBDP技术把现有的实际的BP抽象成为图形化和形式化的业务流程,在通过ANA模块中VAL和VER来校验业务流程是否合理和正确,随后用PERF工具对业务流程进行性能分析,用OPT技术对业务流程进行优化。在得出了正确合理优化后的业务流程后,使用CG技术将业务流程模型集成到现有的产品中去,用IS的形式反映出来。

BPMI的主要发起者Intalio公司基于BPMI的系列标准提出了BPM 框架在这个框架中,BPMI系统介于企业已有的信息系统和B2B电子商务系统之间,包含流程部署和流程执行两个模块。流程部署模块可以利用目录协议与企业IT系统的目录服务进行联系,另外,还可通过UDDI协议将流程发布为Web服务。在流程执行模块中,流程可以被其他的高级语言包装成不同的形式,或者直接提供给工作流系统执行。对于跨企业流程,流程的公共部分还可以被封装为Web服务,或者遵照电子商务协议与其他企业的流程进行交互。

CBPM是IBM提出的BPM 框架,其思想和CPI十分类似。该框架的特点是很好地整合了Holosofx BPM Suite和IBM MQ Series工作流软件,具有很强的实用性。CBPM 分为创建、协作、自动化和管理四个步骤,每个步骤又可细分为若干个阶段。这些步骤和阶段都严格对应于Holosofx BPM Suite或IBM MQ Series中的软件模块,四个流程首尾相联,构成一个闭环流程。

BPMI框架目前局限于流程建模和操作的语言规范,没有涉及从低层到高层的流程管理的集成问题。CBPM从已有的软件系统中来,其流程建模、运行和应用集成方式不具有普遍性,而且没有解决跨企业流程集成问题。文献中的其他框架往往也仅从BPM 的理念出发,其功能模块往往只是概念性的,缺乏与具体应用系统的对应。

BPM的形式化方法

业务流程管理模型应该有一个形式化描述基础,因为:1)形式化的方法能够清晰的描述描述问题,不存在含糊不清的表述;2)形式化模型为分析流程提供了数学化基础。

经典Petri网是德国科学家Carl Adam Petri在六十年代提出来的,在此后的几十年中。Petri网理论得到了极大的丰富.并被广泛地应用于许多研究领域,如协议工程、柔性制造系统、业务处理等等.使用Petri 网描述业务流程主要有以下原因:

1)直观的图形表示 Petri网是一种形式化语言.经典的Petri周有两种元素:变迁元素(用方框表示)、库所元素(用圆圈表示),而有向边表示选两种元素之同的关系.

2)形式化的语义 Petri 网(包括各种高级网系统)都有形式化的语义定义,一个Petri网模型加上相应的语义就能描述一个业务流程.

3)状志和事件的正式表示 有些流程建模方法侧重于描述系统状态的变化,如状态自动机;有些建模方法是基于系统中事件的发生,如流程代说、数据流程。

Petri同能够同时显式地描述系统状态和事件,选样便于对系统的理解和分析。

4)丰富的分析技术 Petri网模型一个很重要的特点在于它提供了丰富的系统分析技术,如对系统不变量(invariance)、活性(liveness)、有界性 (boundness)、安全性(safety)等分析计算,也可以计算系统的性能,如响应时间、等待时间、资源利用率.

在文献中说明了使用Petri网作为分析工作流分析工具的三个理由。Petri网是基于状态而不是基于事件的一种分析技术,它成为分析业务流程模型的一种形式化的正式方法。通过使用库所符号,Petri网能够很自然地描述流程之间的阶段状态,基于状态的模式比如延期选择,交叉平行路由等状态可以很容易的表示出来了。这些模式的描述可以在文献中找到。然而,当涉及描述某些控制流依赖关系的时候,Petri网也有其不足。因此,这就导致YAWL(Yet Another Workflow Language)的发展,它正确的描述了变迁系统的语义。

通过观察我们可以发现,用Petri网可以很容易的描述延期选择的概念,而这正是在传统的经典工作流管理系统中很难支持的。在web service组件领域,两种新提出的标准BPEL4WS和BPML提供了对上述概念有力的支持。在web service中,捕获各种服务和例如象π-calculus这些公式之间的交互是十分重要的。然而现今没有足够的证据证明BPEL4WS是基于一种形式化语义的,所以能够把如上关系完全形式化是当前应该做的工作。

形式化定义业务流程管理模型语言根据其表现力进行比较。通过这些对比结果,我们可以知道哪些方法能表达什么样的表现力,同时也看到该领域需要更多的研究以提供更多更好的形式化描述语言。

BPM的建模语言

BPMI最近推出了业务流程建模语言(Business Process Modeling Language,BPML)和业务流程查询语言(Business Process Query Language,BPQL)两个标准,分别作为流程建模和流程模型访问的标准接口,并在此基础上提出了BPM 框架。

BPM建模所需的技术框架BPML是基于XML语言的模型描述语言,它将业务流程描述成控制流、数据流和事件流的结合,在此基础上还可以在业务流程中添加业务规则、安全规则和事务管理等特性。与传统的流程建模语言相比,它具有描述“端到端”流程(end-to-end)的能力,这样,可以从多个参与者的角度来审视流程模型。另外,BPML以Pi-Calculus作为其数学基础,这种形式化描述赋予了 BPML在一致性检查、防止死锁、瓶颈检测和流程优化方面的较强能力。虽然BPML现在还不成熟,但是其官方组织描绘了BPML的美好前景,它具有如下特征:

1)BPML是业务流程建模的原语言,就像XML是业务数据的原语言一样。

2)BPML进程跨越多种应用程序和企业,不受任何防火墙限制。

3)BPML提供了中间件的特性:它可以独立开发,实现远程处理监控,发布和订阅和消息队列等功能。

4)BPML能够处理不同的应用程序,比如数据库管理系统,软件组件等等。

5)BPML能够用进程定义业务事务和系统事务,业务事务经常包括两个以上的参与者,而系统事务能够包括多个应用程序。

6)统一业务流程和技术 进程是BPML的关键目标。

BPQL是BPMS的访问接口,用于对流程实例运行状态的查询、控制和流程模型的部署。类似于不同的编程语言用SQL或其他关联工具可以访问到数据管理系统那样,流程管理系统同样如此。DBMS(数据库管理服务器)是一种通用的“数据服务器”,而BPMS 则是一种通用的“流程服务器”。软件开发者准备采用流程查询语言(Business Process Query Language, BPQL)和流程服务器的原因是两者简化了流程环境中应用系统的开发。在传统的开发中,流程的环节四处散落,一个环节是这个应用系统的,一个环节是其他系统的。此外,流程式应用系统要能看到所有流程和所有流程数据。有了BPQL,写软件程序去监控、中断、交互和协调端到端流程变得轻而易举。如果以流程为中心,“电子化”事实上就已经内建在每个流程中,不需要专门为每个流程编写“电子化”,就像积木本来就是设计好,随时可以搭起来一样。

IT微课堂

专注企业信息化解决方案

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180213B0OSEJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券