一种基于业务模式的异构业务流程整合方法
【专利摘要】本发明公开了一种基于业务模式的异构业务流程整合方法。主要步骤如下:(1)业务模式的识别;(2)业务模式的配置;(3)业务模式的转化;(4)异构业务流程的监控。首先,分析已有的业务流程模型,提取常见的业务模式;然后,提出基于业务模式的异构业务流程整合,具体思路是将业务流程模型化为业务模式的交互,各业务模式根据具体业务场景进行配置;接着,将各业务模式转化为工作流模式或运作模式的组合,运行于工作流执行引擎或基于Artifact的业务流程执行引擎之上;最后,在业务模式的边界设置复杂事件处理(CEP)点,实现统一的业务视图。本发明方法解决了现有方法无法实现异构业务流程的整合问题。
【专利说明】一种基于业务模式的异构业务流程整合方法
【技术领域】
[0001] 本发明属于业务流程的整合【技术领域】,具体的说,涉及一种基于业务模式的异构 业务流程整合方法。
【背景技术】
[0002] 企业通常通过合并、收购等方式进行扩大。同一个类别的业务流程在各子公司以 自底向上的方式独立地建立,这种自底向上的发展方式常常导致企业内部业务流程的异 构、冗余和不一致等问题,这给企业的业务流程管理带来严重的挑战。为了统一地描述和管 理异构的业务流程,需要异构的业务流程进行整合,以达到统一的业务目标。
[0003] 实际上,跨组织的异构业务流程整合是一件费力的事。由于企业的文化等不同, 同一个类别的业务流程在不同的子公司常常有不同的设计和实现方法。此外,各子公司内 部分别自定义一套符号体系表示流程的建模符号,也成为各子公司业务人员之间交流的障 碍。正是由于这些特点导致在整个企业内部具有大规模的异构业务流程,这使得跨组织的 业务流程统一管理成为企业面临的一个巨大挑战。
[0004] 已有的关于业务流程整合的方法主要集中在可配置的业务流程模型上。其主要借 鉴了软件产品线的思路,在单个参考业务流程模型中引入可变点,使得可配置的业务流程 模型满足各具体应用场景的需要。业务流程的建模可以直接根据具体应用场景对可配置的 业务流程模型进行配置。然而,当一个可配置的业务流程模型要描述大规模的异构业务流 程时,可能使得可配置的模型过于复杂,给配置工作带来困难。这种方法的另一个缺点是它 们无法实施在各种不同的流程执行引擎之上,实现大规模异构业务流程的集中化监控,进 而无法实现异构业务流程整合的最终目标。
[0005] 针对大量异构业务流程的整合问题,一种可能的方法是为各流程类别统一设计标 准的业务流程模型,并在各子公司统一落实。然而,因为企业的业务时刻都在运转,业务流 程管理系统BPMS必须时刻运行,至少不能长时间间断。一旦BPMS停止运行,可能会给企业 带来巨大的损失。同时,基于业务流程整合和集中化管理的上下文,一一重新设计标准化的 业务流程将是一项非常费力的工作。因此,该方法表面上看似可行,实际无法实施。
【发明内容】
[0006] 为克服现有技术的不足,本发明提供一种切实可行的基于业务模式的异构业务流 程整合方法。该方法能够满足企业/用户对异构业务流程统一集中监控的要求,并且其实 施不影响原有业务流程管理系统的运行。
[0007] 本发明针对企业内部形成的大量异构业务流程,抽取业务模式,基于业务模式为 各异构的业务流程抽象出统一的业务模型,并对其进行统一监控。该方法保持原有的业务 流程执行引擎不变,在原有的异构业务流程基础上抽象出业务模式,为同类业务流程建立 统一的业务模型。
[0008] 业务模式是与业务行为对齐的,因此业务模型具有简单、易于业务人员理解的特 点。在业务抽象级别进行统一,对每一类业务流程模型统一出共同的业务模式和业务阶段, 从而达到异构业务流程在业务模式级别进行监控的目的。
[0009] 本发明的技术方案具体描述如下。
[0010] 本发明提供的一种基于业务模式的异构业务流程整合方法,具体步骤如下:
[0011] ⑴业务模式的提取
[0012] 首先分析原有各异构业务流程中频繁出现的业务行为,挖掘出业务模式;然后通 过分析业务模式的内部行为,对其进行具体的定义和参数化描述,形成业务模式的模板;所 述业务模式采用以下参数化描述:
[0013] 业务模式是一个元组<P,D>,P是参数的集合,D是业务模式的相关描述;其中:
[0014] P =〈Role, Artifact, Activity, Rule, Map〉;其中:
[0015] Role为业务模式中涉及的角色集合;
[0016] Artifact为业务模式中涉及的Artifact集合,Artifact是记录业务流程所需业 务数据的信息单元;
[0017] Rule = <Prale,Drale>,Prale是在业务规则描述中使用的参数,D rale是业务规则的集 合;
[0018] Map = <F, As, Ae>,F 为一个从 Activity 到 Role 的映射;F(x) = y 表示 X 被分配 给角色y执行,As和Ae分别是业务模式中的起始活动和终止活动,中间活动的流转将由业 务规则决定;
[0019] (2)业务模式的配置和业务模型的建立
[0020] 根据不同应用场景,分析业务模式的可变特征,提取出所有可能的特征变点和变 体,通过参数初始化进行业务模式的配置,实现具体业务模式的参数化描述;再将同类业务 流程内包含的业务模式组合起来,建立该类业务流程的业务模型;
[0021] (3)业务模式的转化
[0022] 分析业务流程所在业务流程管理系统中的执行引擎,根据业务模式内部的业务逻 辑并结合工作流模式或运作模式的结构语义,将业务模式转化为工作流程模式的组合或运 作模式的组合,从而实现将业务模型转化为可以执行的工作流模型或以Artifact为中心 的运作模型,使得业务模式可执行于原有的业务流程执行引擎之上;
[0023] (4)业务流程的监控
[0024] 基于统一的业务模型,在业务模式的边界点设置复杂事件处理监控点,监控各异 构业务流程在每个业务模式节点的任务是否完成;这样设置的复杂事件处理点是与业务对 齐的,根据统一的业务模型和一致的复杂事件处理点,集中地对异构业务流程进行统一的 监控;对各异构业务流程的业务进展情况进行统计,最终实现统一的基于业务模式级别的 全局业务进展视图。
[0025] 本发明是针对企业内部存在大量异构的业务流程,需要对其进行流程整合以实现 异构业务流程的监控。典型的对象可以是采用各种不同建模标准形成的业务流程模型,t匕 如:EPC模型、YAWL模式、Petri Net模型、BPMN模型、Fuzzy模型等。各异构的业务流程模 型及其所属的业务类型,还有其所运行的业务流程执行引擎均为已知。
[0026] 本发明中,在业务模式转化时,需要分析原有各异构业务流程模型的类型,若原有 的业务流程模型是以活动为中心的业务流程模型,则将各业务模型转化为工作流程模式的 组合;若原有的业务流程模型是以Artifact为中心的业务流程模型,则将各业务模型转化 为运作流程模式的组合,进而将业务模型转化为可以执行的工作流模型或以Artifact为 中心的运作模型,使得业务模式可执行于原有的业务流程执行引擎之上。
[0027] 本发明能实现大量异构业务流程的整合与监控,进而有利于企业人员了解业务进 展,并制定出正确的业务决策。
【专利附图】
【附图说明】
[0028] 图1为基于业务模式的异构业务流程整合方法框架。
[0029] 图2为发文流程中所提取的业务模式。
[0030] 图3为会签模式的两个配置例子。
[0031] 图4为发文流程的业务模型及其配置。
[0032] 图5为发文流程中包含的业务模式向工作流模式和运作模式的转化。
[0033] 图6为基于业务模型的异构发文流程监控。
[0034] 图7业务模型执行方法的实现原理。
[0035] 图8模式中活动节点可能存在的执行顺序举例。
【具体实施方式】
[0036] 下面结合附图阐述本发明技术方案。本发明的一种基于业务模式的异构业务流程 整合方法框架示意图如图1所示。
[0037] 1.基于给定的同类业务的异构业务流程模型,总结出频繁出现的业务行为并定义 为业务模式
[0038] 基于业务人员的领域知识,总结出频繁出现的业务行为并定义为业务模式。或者 采用频繁模式挖掘方法对同类业务的异构业务流程自动挖掘,将相似的业务流程子结构定 义为业务模式。
[0039] -个业务模式是频繁发生在业务流程模型中可重用的业务行为。业务模式常常由 一组业务相关的活动组成,它定义了一组相对完整且固定的任务,这组活动常由部门内部 或相关部门的一组人员执行。业务模式具有自己的业务行为和业务逻辑,容易被业务人员 理解并应用于建模。
[0040] 这里需要指出的是业务模式与工作流模式和运作模式的区别。工作流模式描述的 是控制流的结构,可以在系统级别进行复用。运作模式描述了 Artifact的行为结构,可以 在概念级别进行复用。而本发明所提的业务模式是比工作流模式和运作模式更加粗粒度和 更加抽象的业务行为描述。
[0041] 由于发现的业务模式是在业务流程中频繁出现的,因此同类业务流程拥有共同的 业务模式的集合。相比业务流程模型的数量,总结出来的业务模式的数量将会相对非常小, 这样就能简化业务模型的理解。这里所说的业务模型就是指由业务模式的组合。
[0042] 为了使业务模式能够进行配置,需要对业务模式进行参数化的描述。首先,业务 模式的统一描述。一个业务模式(Business Pattern, BP)是一个元组<P,D>,其中P是参 数的集合,D是业务模式的相关描述。具体地,P =〈Role, Artifact, Activity, Rule, Map〉 ,每个元素均是一个有限的集合,Role为业务模式中涉及的角色集合。Artifact为业务模 式中涉及的Artifact集合,Artifact是记录业务流程所需业务数据的信息单元。Rule = <P?ie,D,Pnile是在业务规则描述中使用的参数,Drale是业务规则的集合。在实际的系统 中,业务规则可以定义为Condition-Action的方式,描述在什么样的前提条件下一个特定 的任务会执行,该任务执行后会产生怎样的效果。Map = <F, As, Ae^F为一个从Activity到 Role的映射。F(x) = y表示X被分配给角色y执行。As和Ae分别是业务模式中的起始活 动和终止活动,中间活动的流转将由业务规则决定。在业务流程的执行过程中,可以进行更 新Artifact的信息或创建新的Artifact等操作。
[0043] 2.业务模式的配置和业务模型的建立
[0044] 业务模式的形式化描述是为了给具体的业务模式一个统一的描述。在具体的业务 模式描述中将会有具体的参数。每个业务模式的内部表现则是一个模板。基于这样的模板, 可以针对不同的企业或领域,对不同的业务,建立其具体的业务模型描述。在具体的业务模 式的描述中,对于可变的特征采用参数化进行描述,使该特征成为一个可变点,并同时可以 限制可变点的取值范围,即其对应的变体有哪些。用参数将业务模式描述之后,则业务模式 可以通过给参数初始化进行配置。对某一类业务流程,将其所包含的业务模式组合起来描 述该类业务流程,则形成了该类业务流程的业务模型。
[0045] 3.业务模式向工作流模式或运作模式的转化
[0046] 业务模式描述的是业务的行为,因此业务模型是在业务级别的描述,不能直接用 于IT实现。目前,业务流程建模的方法主要有两种主流的方式:传统以活动为中心的方式 和最近十年提出的以数据为中心的方式。为了提高业务流程建模的效率,针对以活动为中 心的业务流程建模已有20种常用的工作流程模式,针对以数据为中心的业务流程建模已 有9种常用的运作流程模式。因此,为了使业务模型能够在这两种建模方式的执行引擎上 执行,可以将业务模式转化成工作流程模式的组合或运作模式的组合。这种转化是可行的, 因为工作流模式和运作模式是比业务模式更加具体的流程结构描述。通过这样的转化,使 得原有异构业务流程所在业务流程管理系统无需做改动,可以使用原有的业务流程执行引 擎。
[0047] 4.异构业务流程的整合与监控
[0048] 通过对每一类业务流程进行业务模式的挖掘后,一个统一的业务模型将用来统一 描述该类业务流程,这就是对异构业务流程的整合描述。通过根据不同的应用场景对业务 模式进行配置后,一个业务模型可以映射到各种不同的异构的同类业务流程。基于统一的 业务模型,可以在业务模式的边界设置复杂事件处理监控点,监控每个业务模式节点任务 是否完成。内嵌的业务模式的进展可以忽略,主要关注最外层的业务模式的进展。在每个 业务模式执行完成后,Artifact的状态将会发生变化,从而使得业务级别的进展可以被监 控。业务模型执行可基于jBPM软件平台来实现,一种实现方法是:通过对模型中可配置的 业务模式节点引入业务规则,并借助规则引擎执行规则驱动模式的执行,从而执行整个业 务模型。
[0049] 以下以中国某著名通信公司的发文业务流程为例,说明本发明的具体实施。该公 司办公系统内部业务流程分别独立地被31家子公司以自底向上的方式建立,系统已经运 行了 10多年。这些业务流程在各子公司中独立地维护和演化,导致业务流程的异构性。因 此,由于业务流程的异构性,使得该公司OA系统中总的业务流程数量超过8000个。
[0050] 根据图1的方法框架,针对该公司的发文业务流程进行分析,挖掘出5种业务模 式:会签模式(Countersign, CS),呈文模式(Document Preparation, DP),执行模式(Carry Out, CO),抢先办模式(Competing, CP),主控模式(Delegating, DG)。具体的模式说明见图 2所示。
[0051] 根据业务模式的形式化定义描述给出的模板,结合具体的业务模式说明,参数化 其可变特征,定义具体的业务模式。下面以该公司中发文业务流程中发现的会签模式为例, 给出一种具体的业务模式定义,如下:
[0052] 会签模式(CS) :BPCS = <PCS, Dcs>。Dcs = { -个文件(即 Artifact)分配给 n 个来 自同一级部门的角色审核,这些审核任务可并发的执行。最后的审核结果将基于之前的审 核结果和业务规则由接下来的一个决策活动来决定} ;Pcs =〈Role, Artifact, Activity, Ru le, Map〉,其中
[0053] -Role = {role" role2,…,rolen,roled};
[0054] -Artifact = {countersignForm}, and countersignForm = {ID integer ; topic string !description string Jresult1String Jcomment1String ;result2string ; Comment2String ; --^resultn string ;commentn string ;finalResult string ;finalComment string ;state string};
[0055] -Activity = Ireview1, review2, --?,reviewn,decision。};
[0056] -Rule =〈Prule, Drule>, Prule = {k/n},Drule = {n 个角色来自同一级部门;review^ 可 以是一个嵌套的会签模式,并可以递归的嵌套调用;review到revie%可以并发地执行; Irolei更新属性result^和Commenti ;对于result^到resultn,如果它们当中多于k个结果 为 approval,则最终结果 finalResult 为 approval,否则为 disapproval ;finalComment 则为 Comment1至丨』Commentn的集合};
[0057] -Map = <F,As,Ae>,其中:Fzreviewi -^olei, F (decision。)= roled ;AS 是不确定 的,Ae 为 decision。。
[0058] 用参数将业务模式描述之后,则业务模式可以通过给参数初始化进行配置。这里, 同样以会签模式为例说明业务模式的配置,如图3所示。在Configuration^的配置中,三 个来自相关部门的经理参与到会签模式当中,分别对会签单进行签署意见。如果有2个或2 个以上审核结果为approval,则整个会签模式的结果将是approval,否则为disapproval。 同样地,在Configuration。%中,5个来自同一部门的工作人员对一个会签单进行签署意见。 如果存在3个或3个以上的审核结果为approval,则整个会签模式的结果将是approval, 否则为 disapproval。
[0059] 通过根据不同的应用场景对业务模式进行配置后,一个业务模型可以映射到各种 不同的异构的同类业务流程。如图4所示为发文流程的业务模型及其配置。该业务模型包 含两个业务模式:呈文模式和执行模式。可以看出一个业务模型一般由很少的业务模式组 成,从而可以简化业务流程的建模。一个配置好的呈文模式和执行模式可以组合形成一个 发文流程的条件是它们拥有共同的Artifact。
[0060] 下一步则是对业务模式进行转化。假设该公司的不同子公司包含的流程执行引擎 既有以活动为中心的流程模型的执行引擎又有以数据为中心的业务流程模型的执行引擎。 同样以发文流程为例,其中包含会签模式和呈文模式,因此对这两种业务模式进行转化,如 图5所示。
[0061] 基于统一的业务模型和及其包含的业务模式的配置,在业务模式的边界设置复杂 事件监控点,可以实现异构业务流程的监控。下面以三个异构的发文业务流程的监控为例 来说明集中化监控的方法,如图6所示。Process A、B、C可以是工作流模型或运作模型,它 们均来自于同一个业务模型的配置,拥有统一的业务监控点。加粗的部分表示流程正在执 行的阶段,因此可知Process A和B已经完成量呈文模式节点的任务,正在运行执行模式节 点,至于执行模式具体运行到哪一个组件,业务人员并不关心。而Process C已经完成了整 个业务流程的执行。因此,若同类异构业务流程拥有共同的业务模型,则业务人员可以很容 易地统计各异构业务流程的业务进展情况,为领导阶层的决策提供支持。
[0062] 总之,本发明提出了一种基于业务模式的异构业务流程整合方法。业务模式描述 了业务的行为,且可以被高度地重用。为了支持当前的两种主流的业务流程建模方法的执 行引擎,业务模式可以转化为工作流模式或运作模式的描述组合,使得一个业务模型可以 被执行。基于统一的业务模型,通过在业务模式的边界设置复杂事件处理监控点,异构业务 流程可以被集中地监控。该方法不影响原有异构业务流程模型的执行,并且能够满足用户 需求的对异构业务流程的监控,同时整个方法可以基于jBPM软件平台来进行系统实现。一 种业务模式的实现方法如下:
[0063] 采用工作流引擎和规则引擎共同驱动业务模型的方法,即业务模型执行时,除模 式节点外的所有节点采用工作流引擎驱动,而对业务模式子流程节点则采用规则引擎执行 相应规则驱动。如图7所示,当业务模型执行到业务模式节点时,会自动产生相应的数据对 象(Artifact)并将流程中的变量映射到模式的数据对象中存储,然后触发规则引擎执行 模式所对应的业务规则。使用主数据对象(Key Artifact)的生命周期状态以及某些数据 字段作为规则触发的判定条件,满足条件的规则会触发模式内相应的活动执行并修改数据 对象中存储的相关数据,活动执行完毕后会再次触发规则引擎去继续寻找可执行的规则, 这样循环交互,直到整个业务模式子流程执行完毕。最后规则引擎会再次执行相应规则把 驱动流程执行的控制权交还给工作流引擎并将相关数据映射回流程变量中,并继续执行后 续活动,这样通过两个引擎协调配合便可驱动整个业务模型。
[0064] 此处会签模式描述为例,对业务模式中参数化描述中的Rule部分进行更细致且 可用于实现的描述。对其Rule部分参考Drools规则语法进行具体描述如下:
[0065]
[0066]
【权利要求】
1. 一种基于业务模式的异构业务流程整合方法,其特征在于,具体步骤如下: (1) 业务模式的提取 首先分析原有各异构业务流程中频繁出现的业务行为,挖掘出业务模式;然后通过分 析业务模式的内部行为,对其进行具体的定义和参数化描述,形成业务模式的模板;所述业 务模式采用以下参数化描述: 业务模式是一个元组<P,D>,P是参数的集合,D是业务模式的相关描述;其中: P =〈Role, Artifact, Activity, Rule, Map〉;其中: Role为业务模式中涉及的角色集合; Artifact为业务模式中涉及的Artifact集合,Artifact是记录业务流程所需业务数 据的信息单元; Rule = <Prale,Drale>,Prale是在业务规则描述中使用的参数,D rale是业务规则的集合; Map = <F, As, Ae>,F为一个从Activity到Role的映射;F(x) = y表示x被分配给角 色y执行,As和Ae分别是业务模式中的起始活动和终止活动,中间活动的流转将由业务规 则决定; (2) 业务模式的配置和业务模型的建立 根据不同应用场景,分析业务模式的可变特征,提取出所有可能的特征变点和变体,通 过参数初始化进行业务模式的配置,实现具体业务模式的参数化描述;再将同类业务流程 内包含的业务模式组合起来,建立该类业务流程的业务模型; (3) 业务模式的转化 分析业务流程所在业务流程管理系统中的执行引擎,根据业务模式内部的业务逻辑并 结合工作流模式或运作模式的结构语义,将业务模式转化为工作流程模式的组合或运作模 式的组合,从而实现将业务模型转化为可以执行的工作流模型或以Artifact为中心的运 作模型,使得业务模式可执行于原有的业务流程执行引擎之上; (4) 业务流程的监控 基于统一的业务模型,在业务模式的边界点设置复杂事件处理监控点,监控各异构业 务流程在每个业务模式节点的任务是否完成,最终实现统一的基于业务模式级别的全局业 务进展视图。
2. 根据权利要求1所述的方法,其特征在于:在业务模式转化时,需要分析原有各异构 业务流程模型的类型,若原有的业务流程模型是以活动为中心的业务流程模型,则将各业 务模型转化为工作流程模式的组合;若原有的业务流程模型是以Artifact为中心的业务 流程模型,则将各业务模型转化为运作流程模式的组合,进而将业务模型转化为可以执行 的工作流模型或以Artifact为中心的运作模型,使得业务模式可执行于原有的业务流程 执行引擎之上。
【文档编号】G06Q10/06GK104408573SQ201410723615
【公开日】2015年3月11日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】张亮, 康国胜, 杨丽琴 申请人:复旦大学