在实践中介绍CMMN:第五部分

在实践中介绍CMMN:第五部分

 

我们一直在通过一个示例CMMN模型进行跟踪,以此作为介绍使用CMMN描述案例管理自动化的一些方法的方法。在上一篇文章中,我们终于完成了一个案例实例。在本系列的最后一篇文章中,我们将研究示例模型中任何阶段之外的两个项目。

 

正如您现在可能意识到的那样,在创建案例实例以及激活“接收索赔”阶段时,还将评估案例计划顶层的任何其他项目。我们有两个项目,“更新索赔人联系方式”,一项人工任务和“放弃索赔”,一个 用户事件侦听器。该任务没有要考虑的入口哨兵,因此它立即可用,但是由于它是手动激活的,因此实际上并未创建并变为活动状态。同样,用户事件侦听器将仅可用,等待用户事件触发其激活。

当我们谈论事件监听器而不是用户触发事件时,可能会有来自外部服务的事件,例如Kafka(请参阅此博客)。使用其中的阶段和事件侦听器,您可以控制案件将要侦听的事件–案件或问题的生命周期中,不同事件可能在不同点相关,而某些事件可能始终是相关的(在任何阶段之外建模)在案例计划中)。您可以阅读试用版下载中的事件教程示例,以了解这一点。其中使用的模型如下所示,其中状态更改事件会根据案例处于活动的哪个阶段触发不同的活动:

 

返回“更新索赔人联系方式”人工任务。您可以在alonside模型中看到的另一件事是手动激活图标,它是一个#号,表示可以多次激活。在此示例的上下文中,在案例的整个生命周期内,可能需要多次更改联系人详细信息。每次需要更新详细信息时,您可以手动触发创建任务的新实例以收集更改。对于任何情况,更新详细信息任务都可以不存在,也可以不存在多个实例。不仅可以重复激活的人工任务,还可以是任何类型的任务,阶段或里程碑。

除了说一个项目可以重复任何次数外,您还可以使用一个重复规则来确定是否可以进行进一步的重复。每次可重复任务完成时,都会评估重复规则,如果该规则为true,则可以重复该任务(再次变为可用)。Flowable具有一些扩展功能,可以计算重复项目的次数以及其他方便的属性。

 

好了,这就是我们通过CMMN进行快速动手之旅的结尾。如果您已习惯BPMN,描述在不同情况下的适用情况或在不同情况下的反应不同,那么这就是您需要采取不同思维方式的事情之一,最重要的是,让用户拥有控制接下来会发生什么。我们已经介绍了一些关键的入门主题–一些主要的CMMN元素(计划项目);了解CMMN计划项目的激活生命周期的重要性;哨兵如何提供一种有效的方式来表达不同情况下解决方案组件的相关性;以及如何在CMMN中非常自然地表达无法在BPMN中直接建模的某些内容。当您尝试表达复杂的业务问题时,它不是BPMN的替代品,而是一种附加工具。

 

根据我们的经验,CMMN是协调问题的高层次,管理以某种方式相互关联的业务流程和信息集的自然方法。通常,会有一个启动过程来创建案例,但是通过CMMN可以很好地捕获问题的动态解决方案。CMMN可以完成很多复杂的事情,并且我们还添加了一些扩展,这些扩展在处理现实世界中的实现时非常有用。正如本系列文章开头提到的那样,布鲁斯·西尔弗(Bruce Silver)的书《CMMN方法和样式》是学习更多知识和采用最佳实践的绝佳资源。是时候开始了。

 

相关教程