老焦专栏 | 如何使用虚拟流程方式降低流程开发的复杂度

不羁岁月 提交于 2020-03-24 12:26:25

3 月,跳不动了?>>>

转载本文需注明出处:微信公众号EAWorld,违者必究。


经常会发现,很多流程非常类似,但都又有一些差别,用一条流程来实现,无法支持所有业务。如果用多个流程来实现,流程会很多,工作很重复,有调整的时候,维护起来很麻烦,这种情况就可以考虑使用虚拟流程的方式,降低流程开发复杂度。

看下面两个流程,我们会发现,流程的模式确实非常像,都是经办人录入 -> 复核人复核 -> 相关人员审核 -> 系统处理 -> 通知经办人查看结果 :



针对这个情况,完全可以有上述这样一个虚拟流程,在新的流程开发时,不再画这个流程,而是提供一个配置的方式,配置每个实际和虚拟流程不一样的地方,例如配置录入信息的界面、配置复核角色、配置审核角色、配置系统处理的实现、配置结果查看界面,用这些配置自动生成一个流程定义模板,这样运行的时候,还是不同的流程定义产生不同的流程实例。如果把这些配置设计成一个 Excel ,就可以用 Excel 来写需求、评审,用 Excel 生成运行流程了。

前面我讲的业务流程,大多数情况可以总结为虚拟流程,这样做的好处是:

确定了通用的业务处理模式,用这种模式和需求方讨论特别容易沟通,因为虚拟流程是可以用业务语言描述的,不再掺杂技术语言
开发、测试很方便,不需要每个重画,也容易检查
一旦类似业务做出调整,只要改变从虚拟流程生成实际流程的代码即可,容易维护
需要指出的是:

总结虚拟流程一定要根据业务特征进行抽象,不要简单的从技术上可重用进行抽象
虚拟流程不能解决所有问题,实在解决不了,就用传统开发方式,没必要求全责备


关于作者:焦烈焱,普元信息CTO,致力于技术创新和金融创新解决方案研究。专注于企业技术架构领域,对分布式环境的企业计算、 企业信息架构的规划与实践有着丰厚经验,带领普元技术团队相继在云计算、大数据及移动开发领域取得多项突破,并主持中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。


关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!