2024年9月21日在上海举办的华为全联接大会上,中国工商银行软件开发中心仓颉语言转型研发团队项目负责人为开发者带来金融行业首例国产编程语言业务系统示范应用成功案例的分享。中国工商银行软件开发中心(以下简称“工行软件开发中心”)积极响应工信部“十四五”发展规划,联合华为公司积极探索基于仓颉国产应用编程语言(以下简称“仓颉语言”)实现业务系统研发与商业化落地试点,并成功使用仓颉语言完成工行短信系统的研发工作。
随着信息技术应用创新的推进,金融行业对于安全可靠国产应用编程语言的需求日益迫切。中国工商银行积极拥抱变革,结合金融行业特性,对国产编程语言进行了充分调研分析,最终选择仓颉语言完成工行短信系统试点研发工作。这一举措不仅展现了中国工商银行勇当金融科技领域架构转型实践“探路者”的决心,同时也为行业树立了创新典范,助力国产编程语言在金融行业蓬勃发展。
中国工商银行选择仓颉语言开发工行短信系统是基于对语言及其配套工具的安全性、稳定性、伸缩性和执行性能方面的综合考量:
保障客户敏感信息安全。金融行业涉及用户信息和资金交易等敏感数据处理,受到严格的监管和法规合规约束,对编程语言的安全性要求非常高。
确保全天候对外服务不间断。银行金融系统需要保持连续不中断的长时间稳定运行,避免“断链”风险。
系统架构支持动态伸缩扩容。银行系统需要在动态的业务环境中,随生产活动的变化动态地调整容器数量和资源分配,确保服务始终处于运行的最佳状态。
具备高并发、高性能和高可用特性。银行金融系统通常需要同时处理大量交易和数据,编程语言应具备高效并发和性能卓越等特点,从而提升用户体验和系统运行性能,降低系统时延、资源占用问题。
综上所述,工行软件开发中心选择仓颉语言完成短信系统研发是因为仓颉语言作为一款面向全场景应用开发的现代编程语言,不仅兼具现代语言特性、全方位的编译优化和开箱即用的IDE 工具链支持,还为开发者打造友好开发体验和卓越程序性能,并且具备安全可靠、轻松并发、卓越性能、高效编程等能力。因此,工行软件开发中心认为仓颉语言的未来规划很好地契合了工行短信系统应用研发需求。
本次华为全联接大会上,工行软件开发中心分享了金融行业首例使用仓颉语言实现的工行短信系统试点应用成功案例。
一、工行短信系统介绍
工行短信系统是中国工商银行推出覆盖全国的客户服务渠道,支持7×24小时免费为用户提供信息查询、业务制定和业务咨询等全方位金融服务,用户通过发送手机短信至95588即可实现业务的轻松办理。中国工商银行基于自身架构转型需要和对新兴技术的积极探索等原因选取部分查询类及办理类业务功能完成仓颉语言金融行业首批商业化试点应用,基于仓颉语言特性、仓颉微服务开发框架、仓颉标准库及其第三方中间件等完成工行短信系统的设计、研发和部署运维工作。
图1 工行短信业务流程图
二、仓颉试点应用成果
探索新旧系统渐进式切流设计方案。工行软件开发中心在建设仓颉版工行短信业务系统过程中,在兼顾试点短信业务场景和存量功能的基础上,探索出了一套新旧系统并行,逐步扩大客户流量的整体设计方案。新版工行短信系统结合仓颉语言兼容多语言生态和丰富的内置库功能等特点,将系统功能划分为引流模块、业务预处理模块、业务处理模块以及数据处理模块四个模块。其中业务预处理模块实现对客户短信内容的前置预处理工作,实现仓颉系统各节点间服务的精准分发;业务处理模块充分利用仓颉语言丰富内置库功能实现试点场景业务逻辑处理,反馈客户业务办理结果;数据处理层通过使用仓颉第三方中间件实现基础数据层交互服务,保障交易数据的安全性、准确性与完整性;引流模块通过识别用户身份来控制系统流量,实现新系统与旧系统间流量逐步切换和异常交易自动回切的高可用机制。
图2 仓颉版工行短信系统功能模块图
挖掘仓颉语言研发新模式。工行软件开发中心深入开展学习和研究仓颉语言工具链和工具使用指南等资料,定期组织学习分享会介绍仓颉三方中间件和仓颉语言标准库等优秀案例。在本次仓颉版工行短信系统试点应用研发过程中,工行软件开发中心使用仓颉语言工具链及其配套工具成功打通了仓颉系统研发测试、交付发布和部署运维的持续集成交付关键链路,提升工行国产编程语言的DevOps能力。
发挥仓颉语言特性提升系统可用性。仓颉版工行短信系统使用仓颉自研云原生服务架构设计,利用其支持集群化多点部署特点,降低单点故障风险,实现系统秒级部署、弹性伸缩、高效运维,以满足业务快速迭代需求。同时,基于仓颉标准库实现异常捕获、超时重试、连接池管理等机制提高系统可用性,保证系统稳定运行和服务通信实时准确。工行软件开发中心还充分利用仓颉语言特性解决了热点数据高并发场景处理异常和多线程数据混乱等问题,不仅提高了系统并发吞吐量,还保障了多线程安全。
实现仓颉系统与工行软件生态系统融合。工行软件开发中心在仓颉语言试点应用实践中拓宽思路,在完成业务系统对客功能实现的基础上,积极探索仓颉语言系统与工行软件生态融合的可行方案,完成仓颉服务系统故障监控、运维安全合规和问题快速定位等能力的建设。同时,工行软件开发中心整理并输出了多种仓颉语言系统与工行软件生态系统基础支撑平台融合的对接方案,为推动中国工商银行国产应用编程语言架构转型提供成功案例。
共建仓颉语言生态环境。工行软件开发中心积极参与仓颉语言生态共建,联合华为共同优化仓颉开源第三方中间件问题,持续推进构件完善,确保其在复杂应用场景下的准确性和稳定性,提升了开源构件的可靠性。同时,工行软件开发中心助力华为构建完善的仓颉语言生态体系,向华为提出丰富开发工具链、标准库和神农套件等研发工具的合理优化需求,并创新研发了仓颉语言版lombok工具、雪花算法和分布式批量等开源构件。
在未来,工行软件开发中心将进一步扩大试点范围,深入推进国产应用编程语言架构转型工作,持续探索仓颉生态系统与现有生态系统平滑对接方案,积极拥抱技术发展带来的挑战,输出更多成功实施案例。此外,工行软件开发中心将加强与国内领先科技企业的合作,协同共建以仓颉语言为代表的国产编程语言技术生态创新,形成更多适合行业技术架构转型和市场需求的先进解决方案,为实现我国建设国产应用编程语言,提升产业基础保障水平的目标贡献力量。
点击下方阅读全文,试用仓颉编程语言SDK