基于企业基础平台中统一业务流程平台的重要性,必须存在统一流程平台,所以,需要在Java方向找到合适的开源流程组件,在此基础上构建upp(统一流程平台),来作为基础技术平台的基础部件如果缺失统一流程平台,企业业务系统将无法存在.............
(UPP)统一流程平台,从R11工作流平台来看,研发规模是较为庞大的,涉及了流程管理平台/流程引擎/流程应用集成UI(pc/移动)/组织结构使用服务平台/消息平台等。整个产品线非常长,我们在2015年重构R7工作流引擎时,主要完善的内容时流程引擎与流程应用集成UI两个组件,5个中高级研发4个月才推出了第一个版本,当mobile版本推出时,已经是2016年10月。整体的测试用例为(13*4)的排列组合。大概近1378总测试用例。如果需要完全覆盖,将是非常庞大的投入。
flowable的源码库分为不少于106个jar包。如果需要改造,就必须先行研究相关的信息。分析规模非常之庞大,再要梳理出集成方案与改造方案........
在2019年7月,我们团队去大连兄弟部门交流过upp平台的业务需求,由于他们是面向金融方案,相关的审批都是较为固定的环节,所以,让我们交流完需求后,他们经过了较为大的调整。到2020年6月我们拿到初始版本时,发现他们完成的只是简单的把flowable进行了封装,能表面运行,但无法进行业务实践应用。
本项目将在兄弟部门提供的原型基础上起步,进行平台化改造。原型的技术栈为:react+antd+bpmn-js(流程设计平台)/spring boot+flowable(流程引擎).
upp管理平台:react+antd+bpmn-js
upp流转引擎:springboot+flowable+rabbitmq+redis(ehcache)+mybatis等
upp应用集成UI:spring boot+thymeleaf+vue+elementui
org集成服务组件:springboot+mybatis
消息平台:springboot+mybatis+rabbitmq+mongodb(基于安全考虑,后续移除)
3.2技术特点
由于我们团队是从.net方向强转过来,除了需要全新体系化的java知识,还得解决团队对新事务的心理压力。
体系化学习曲线陡峭/已有内容的吸收与改造压力大/时间要求紧迫(后续由于大环节给我们带来了1年多的缓冲时间)。
基于我们初始的想法与商务推进计划,项目建设进度安全如下:
2020年2月~2020年5月:完成集成平台元面向管理平台(bizbks)
2020年4月到2020年9月:完成第一版upp平台研发与初步测试。
2020年10月起:进行业务平台交付
(实践补充:)由于整体团队的是强行切换团队,在过程中补充了Java方向员工进入,由于管理组对Java的不熟悉以及高强紧凑的学习计划安排,前期对团队的要求及跟进有些脱节,让整体计划推进受到一定的影响,大环境给了我近1年的缓存时间,让我们能有机会完成整体调整。到2021年8月,产品在某省港集团全面上线,全集团多层次近500条业务流程在线上正常运行,让团队有了正常的商务推进能力。
由于这次是团队技术路线带来的调整,我们没有后退的可能性,所以在投入方向上集整个团队的所有内部资源。对于upp平台,长沙团队5个研发与配套的测试人员将安排9个月的时间进行相关的投入。
资金全部来自团队运营资金,自行内部消化.
(实践补充)在实践过程中,我们在6月中于北京启动upp平台研发,7月引用位于应届毕业生,11月引入新同事,到2021年8月,长沙研发团队为4人。
upp平台由长沙团队推进,由事业部内部完成资金消化。如果不成果,团队将无法继续推进。如果项目成功,团队将进入全新的赛道快速推进.
(实践补充)整个团队2020年在强培训计划推进下度过,筛选出了适合团队的成员继续前行。到2021年8月后,项目成果已达到超大规模企业应用水平,解决了在近年参与商务投标过程中直接由于技术问题被排除在外的尴尬。