在国家培育新质生产力的大背景下,企业数字化转型面临业务灵活创新与核心系统稳定的两难抉择,业务变化越来越快,要求业务系统同频进行调整、更新和迭代,如何在保障核心系统稳定的前提下,将产品新需求快速上线,成为了众多企业面临的共同挑战。工商银行软件开发中心探索一种隔离变与不变的设计方法,通过分析整理稳态服务链跟敏态扩展点,使稳态服务链上的各个业务场景互不影响,能够基于敏态点独立演变与扩展。
工商银行跨行系统是支撑行内日常业务开展的重要基础设施,核心职责是为行内各个产品服务提供稳定可靠的跨行收发报基础服务,近年来针对跨行报文收报关联行内其他产品应用业务处理的业务类需求日趋旺盛,存在业务个性化需求频繁、需求实现周期长、不同需求实现相互影响的痛点。以上痛点作为业务基础服务层的普适性痛点,具备参考示范效应,基于此工商银行软件开发中心选择跨行收报功能作为稳敏态功能分离的实践场景。通过抽象稳态服务链、识别分离敏态点与重构敏态点三个步骤来建设提供既稳定又灵活的跨行收报处理能力,为行内其他基础服务的稳敏功能分离提供示范参考。
一、抽象稳态服务链
工商银行跨行系统按照整洁架构思想进行了边界清晰的后端架构分层,其中应用层定义软件要完成的任务,与系统用例对应,全量应用服务即是稳态服务链的集合。应用层做成很薄的一层,只做业务步骤抽象与编排,不涉及具体业务逻辑实现与外部依赖,从而最大程度保持稳定。
二、识别分离敏态点
通过对过去三年跨行收报业务需求的回顾与分析,可以发现步骤5收报地区分拣、步骤6关联产品识别处理及步骤7记账处理是跨行收报应用服务业务需求最为集中的三个步骤。将这三个步骤标识为收报服务敏态点,并对相关的业务逻辑代码进行了提取和重组。
三、重构敏态点
在前两个步骤工商银行软件开发中心对跨行收报的代码和流程进行了梳理分析与敏态点识别,初步具备稳敏态功能分离的基础,但现有系统在应对未来新需求的涌现或既有需求的变更时,还存在业务逻辑硬编码、稳敏功能代码物理耦合等痛点,我们需要对敏态点进行重构,持续探索更灵活、可扩展的架构设计,以期在保持业务生产平稳运行的同时,更好地支持业务的动态发展。
敏态点重构的核心目标是增强系统的灵活性、可扩展性和应变能力,确保收报功能能迅速匹配产品需求的变化以及业务策略的调整。首先将敏感点隔离封装为独立代码库,物理上跟稳态功能充分解耦,提升其对环境变化、业务需求变动的响应速度。其次引入适配器模式解耦敏态点的具体实现,当敏态点的功能扩展时只需在新代码库中新增适配器实现扩展功能。最后引入责任链模式串联基础规则判断,当敏态点新增基础规则时,只需在链条尾部添加基础规则,并根据业务需求的业务规则优先级调整链条节点顺序。
通过表达式编排与记录业务规则,封装规则引擎解析执行实现相关业务逻辑,替代原有的硬编码实现,规则引擎简化了复杂的业务逻辑,使得业务规则的调整和扩展变得更加直观和高效。为后续低代码甚至零代码实现新业务功能打下基础。
四、成果及展望
基于敏稳态点分离业务试点,在金融市场落地业务自动转退汇处理业务流程中,跨行支付业务自动化处理率由10%提升至99%。此外,代理财政退汇自动记账业务业务处理过程,分行业务部门根据标准模式自定义跨行收报业务自动记账规则,在节省研发资源的同时,显著提升了开发质量和开发效率。
未来,工商银行软件开发中心继续深耕敏态功能基础规则配套建设,提升业务人员配置和管理敏态功能的易用性,实现稳态功能稳定+敏态灵活装配的研发目标。另外对于极为复杂的业务需求,无法通过基础规则的编排配置实现的,允许产品方通过实现特定接口来自定义复杂的业务逻辑,进而实现与稳态服务链的无缝对接。工商银行软件开发中心将跨行收报流程稳敏态功能分离实践作为示范案例,探索把稳敏态功能分离的设计方法推广到行内基础服务层其他业务需求旺盛的业务场景中,通过拆解复杂业务流程,聚焦敏态点的可扩展设计,高质量快速落地复杂业务需求。