工作流引擎技术介绍-Flowable例子(三)
介绍目前开源工作流现状 介绍flowable 介绍BPMN2.0 比较flowable和activiti flowable例子(一)-工时申报流程 flowable例子(二)-请假流程 flowable例子(三)-保险索赔案例流程 flowable不足及扩展 Flowable技术细讲
自动化是降低成本和提高业务流程效率的重要方式,自动化场景范围很广,从简单和重复的系统交互到涉及系统和人工决策的复杂、不可预测的情况。BPM应用程序最擅长建模可重复的活动序列,不适合需要人工决策的不可预测的场景。案例管理解则可以很好的解决偶然性和复杂性的流程。案例管理目前广泛用于处理客户投诉、合同生命周期管理、入职等。使企业能够控制复杂的场景并有效地找到解决方案。例如贷款案例管理、保险索赔案例。
CMMN 模型元素介绍
案例元素:模型计划和用例
案例的所有内容都包含在案例计划模型中,模型在视觉上被描述为一个大档案。官方给出案例模型的一些例子,如贷款申请、保险索赔、客户投诉等。
案例元素:阶段
案例的元素通常在Stages 中组合在一起,可用于标识划分阶段性。
案例元素:手动和自动任务和里程碑
手动任务和自动任务和BPMN差不多,有区别的是里程碑、案例任务、流程任务。里程碑可以标识何时到达或满足案例中的某个关键点。案例任务与流程任务则很明显表示可以嵌套案例和流程。
案例元素:事件监听器和触发器
事件表示事件触发元素,常用用户事件。
案例元素:哨兵和链接
具有哨兵标识,代表这个元素只有进入可用或退出则不可用。
三、保险索赔案例流程
管理保险索赔需要人工干预和系统处理,如何在Flowable 中使用 CMMN 管理保险索赔?
需求描述:
保险索赔参与方有【索赔用户】、【保险公司业务员】、【其他第三方服务】,我们需要设计【索赔用户】发起索赔后,整个索赔流程生命周期的一套管理系统,并且提供审计信息。
流程描述:
1.索赔流程分为三个阶段:收到索赔请求、调查索赔、处理索赔
2.整个索赔流程【索赔用户】可以退出索赔,【保险公司业务员】可随时激活[更新索赔关联明细]任务
3.第一阶段:当收到索赔请求时候
【保险公司业务员】必须有[索赔详细进行审核]任务
【保险公司业务员】可以根据情况,选择激活[从第三方获取报告]|[从警局获取报告](如果激活从警局获取报告则不需要第三方报告)
【保险公司业务员】在第一阶段可随时完成并退出第一阶段,进入第二阶段。
4.第二阶段:
进入则启动[调查及调整索赔流程]
完成索赔调整流程,需要【索赔用户】选择[接受索赔]|[拒绝索赔]
(里程碑除了存在与否之外没有其他实际行为——在 Flowable 中,如果里程碑处于活动状态,则会为其创建一个变量。)
5.第三阶段:
【保险公司业务员】必须确认[通知到索赔人索赔结果]信息
同时启动[索赔支付流程]
从建模过程来对比CMMN与BPMN,我们能感受出来,对不可预测的事件CMMN更灵活,例如更新索赔明细,可能会重复多次的发起,第一阶段的收集报告,可能从第三方,也可能直接从警局获取,甚至,我们可以在任何时候完成第一阶段进入第二阶段。对比起来,CMMN建模更加考虑人的选择,用BPMN建模起来很绕很多弯。当然,在案例模型中,我们甚至能集成流程模型,这样相当于流程模型只是一个子功能点,我们可以在更高点的维度进度业务建模。
运行案例模型:
1.同样对于发布的案例模型应用,我们在首页应用墙可以看见。
2.启动案例,可以看见活动任务及相关可激活事件、任务以及根据图显示案例处在第一阶段。
3.切换【业务员张三】账号,可以看到该条任务,以及索赔审核表单。
同时操作界面可以选择[启动获取第三方报告]、[启动获取警局报告]、[启动获取额外信息]、[启动更新索赔关联明细],当然,也可以直接点击[完成索赔明细资料]进入第二阶段,我们启动并完成对应任务。
4.进入第二阶段,完成索赔调整流程
【业务员张三】完成任务
进入子阶段,这里需要【索赔用户】 接受索赔或者拒绝索赔
5.切换【索赔用户】并点击接受索赔
6.切换【业务员张三】,查看监控图,显示激活[将结果通知索赔人]、[完成索赔支付]
完成对应任务和流程
7.任务结束,案例流程自动完结