业务流程建模是BPM生命周期中设计阶段的一个重要步骤[13][14][15][16],同时是对业务逻辑的形式化表达。业务流程建模是一个复杂的过程,而且多种不同的建模技术各具特色。大体上,业务流程建模技术主要有两大类:基于图的建模和基于规则的建模[17]。有的学者也称为命令式业务流程建模和声明式业务流程建模[18]。
在基于图的建模中,业务流程是在流程图中进行定义的,业务流程中的每个业务活动(activity)通过流程图中的节点来表示,节点之间则通过控制流和数据的相关性进行连接。流程图模型可以对流程的需求提供明确的规范。基于图的建模技术通常适用于描述静态的(即预定义的)业务流程。常见的基于图的建模技术包括但不限于:
·各 种 支 持BPMN 2.0[19](business process model and notation)[20](示例见图1-3)的可执行建模方法技术,如XPDL(XML process definition language)[21]。
·各种基于Petri Net(示例见图1-4)的建模技术,如YAWL(yet another workflow language)。
这里值得一提的是,有相当一部分基于图的建模技术被广泛地当作交流的工具来使用,而不是用来创建可被计算机系统执行的业务流程模型,比如UML(unified modeling language)的活动图(UML activity diagrams)。这些技术不支持自动化流程的执行。
图1-3 BPMN流程图示例(一名顾客的点餐流程)
图1-4 一个基于Petri Net形态的流程示意图
在典型的基于规则的建模方式当中,业务流程的逻辑被抽象成一组规则,每个规则与一个或多个业务活动相关联,并指定该活动的特性,比如其执行的前置或者后置条件等。基于规则的建模常用于描述动态的业务流程。在业务流程管理领域,大量基于规则的建模技术被广泛应用到业务规则(business rule)的研究当中,常见的技术包括但不限于:
·决策树(如图1-5所示)。(www.daowen.com)
·决策表(如图1-6所示)。
图1-5 决策树示例(房屋定价)
图1-6 决策表示例(订货决策)
·各种支持形式逻辑(formal logic)的规则语言,比如Prolog(如图1-7所示)等。
·各种具备推理引擎支持的语义技术,如semantic networks和OWL(web ontology language)等。
图1-7 Prolog语言示例(同胞关系推理)
这里同样值得一提的是,一些广泛使用的规则语言也仅当作交流工具来使用,而不具备可以自动执行的推理引擎,比如SBVR(semantics of business vocabulary and business rules)。这些技术同样也不支持自动化流程的执行。
由于两种建模技术各具特点,而某些业务流程的类型或者业务环境可能需要结合两种技术进行业务流程建模,比如当业务流程只有一部分是静态而其余部分是动态和不确定的时候;因此近年来出现了不少关于这两种技术之间结合互补的研究,并成了一种趋势。早在1991年,Krogstie等学者便提出可以通过融合基于图和基于规则的建模技术更好地描述流程的动态特征,同时避免了由于大量使用业务规则所带来的维护问题[22]。后期在这方面的研究当中对柔性的需求被提到了一个显著的位置。比如Sadiq等学者设计了一组约束条件作为融合两种建模方式的机制,希望借此机制对业务流程的部分环节进行静态定义的同时,另一部分环节可以采用动态的定义以提高流程的柔性[23]。类似的,Kumar和Yao通过在以BPMN为基础的通用流程模板中插入用Prolog语言描述的业务规则来提高整个流程的柔性[24]。随着SOA(service-oriented architecture)的广泛应用,另外一些学者也提出了在BPEL模型中嵌入业务规则以实现动态Web服务组合(dynamic web service composition)的方法来提高业务流程的柔性[25]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。