什么是 COBOL 现代化?

发布日期 2025年11月27日
更新日期 2026年4月6日
一名技术人员正在检查服务器机架
By Rina Diane Caballar and Cole Stryker

COBOL 现代化的定义

COBOL 现代化 是指更新或转换 COBOL 应用程序的过程,这些应用程序通常被视为旧版系统,但对企业的运营仍然至关重要。应用程序现代化流程包括采用最新的软件开发实践、将 COBOL 代码重构为更现代的编程语言或迁移到更新的平台。

实现 COBOL 系统现代化,有助于保留任务关键型逻辑和功能。同时还能增强可维护性、改善与当今复杂混合环境的互操作性、提高可扩展性,并降低运营成本。

COBOL 现代化不仅仅是将 COBOL 代码转换成一种更新的编程语言。还必须仔细考虑该代码驻留和运行的大型机系统或分布式平台,以及与之交互的技术栈。这是一项系统级工程工作,不仅包括代码转换,还涉及应用程序集成、数据架构重新设计、运行时替换、事务处理完整性和安全性等因素。

什么是 COBOL?

面向商业的通用语言 (COBOL) 是用于大型机编程的最广泛使用的语言之一。它专为业务数据处理需求而构建。

COBOL 的第一个版本于 1960 年推出。几十年后,据估计仍有 2500 亿行 COBOL 代码在生产中使用,遍及金融服务、政府、物流、制造和零售等多个行业。1并且随着大型机系统继续作为全球企业的主力,COBOL 依然具有相关性。

COBOL 系统现代化的理由

基于 COBOL 的应用程序以其卓越的数据处理和文件处理能力以及可靠、稳定的性能而闻名。然而,公司可能会考虑使用现代化应用程序,以帮助提高系统与数据源之间的互操作性, 维持符合监管或合规要求的标准,并确保利用现有资源取得长期成功 。如果以战略眼光加以管理,现代化流程可以 提供审查代码和系统的机会,为现有代码提供解释,验证 需求,并确定未来的高效工作流。

  • 合规与安全

  • 互操作性

  • 可维护性

合规与安全

COBOL 的旧版代码可能不符合当前的数据隐私控制措施和政策,也可能无法定期部署最新的安全补丁。这使得它容易遭受网络攻击和数据泄露。由于是老旧系统,它们可能难以跟上不断变化的法规背后的复杂要求。

互操作性

将过时的 COBOL 应用程序与当代基础设施集成可能是一项复杂的工作。互操作性不足会减缓创新和业务增长,导致公司落后于竞争对手。

可维护性

COBOL 代码库可能冗长而庞杂,代码文档不充分或已过时。其紧耦合的组件使调试变得困难,而添加新功能或升级现有功能可能具有挑战性。因此,它们常常拖累使用和维护这些系统的团队的效率和生产力。

COBOL 应用程序现代化的方法

在踏上 COBOL 现代化之旅时,企业可以采取以下一种或多种途径:

  • 封装

  • 应用 DevOps 实践

  • 迁移
  • 代码重构

封装

这种现代化方法将单体的 COBOL 程序转换为模块化的微服务。业务功能被封装为微服务,然后作为应用程序编程接口 (API) 公开。

封装可实现快速现代化,因为它无需更改底层的 COBOL 系统。因此,它在与云原生架构和工作流集成的同时,减少了中断。

应用 DevOps 实践

组织可以为 COBOL 程序建立持续集成/持续交付 (CI/CD) 流水线。该 CI/CD 流水线涵盖自动化测试和部署,以及由版本控制系统管理的中央存储库。它还与封装紧密配合,在容器化环境中部署微服务。

这种 DevOps 工作流简化了 COBOL 应用程序的部署和交付。企业可以缩短生产周期,加快向客户发布新功能的速度。

 

迁移

迁移是另一种现代化旧版 COBOL 系统的策略。它通常涉及将某些大型机工作负载转移到云计算平台,例如 Amazon AWS 或 Microsoft Azure。

这种大型机现代化过程通常需要一些变更,例如改变数据访问方式、安装中间件,或重新编译 COBOL 应用程序以在新环境中运行。供应商可能还会提供现代化服务,以支持重新托管或重新平台化工作负载,并提供实时性能和安全监控工具。

代码重构

代码重构在源代码层面重组 COBOL 程序。它旨在减少通常伴随旧版代码的技术债务——这些债务需要通过持续维护来逐步“偿还”。组织可以选择优化现有 COBOL 代码,或将其转换为较新的编程语言,如 C#、Java 或 .NET。

优化从代码分析开始,并制定详细计划以解决低效问题、减少依赖并消除冗余。该计划可以包括标准化副本文件中定义的数据结构、开发更模块化的设计以及简化复杂的业务逻辑。

将庞大的 COBOL 代码库转换为另一种编程语言可能非常耗时。开发团队可以采用自动化方式——包括人工智能驱动的代码转换或代码翻译工具——来帮助节省时间,并最大限度地减少所需的现代化工作量。

现代化 COBOL 系统的技巧

现代化项目往往是庞大而艰巨的任务。以下是一些让前路更顺畅的技巧:

  • 评估与规划

  • 从小处着手

  • 逐步扩展

  • 测试和记录

评估与规划

评估 COBOL 代码库是关键的第一步,旨在检查代码状态及其复杂性,确定现代化能产生显著影响的领域,并决定最佳方法。然后,团队必须制定一份概述现代化流程的计划,包括范围和时间表。

从小处着手

从小处着手有助于管理现代化工作的风险。例如,公司可以首先处理简单的优化或重构任务,或开始封装或迁移次要业务功能。这样既能保持关键组件的运行,又能最大限度地减少停机时间,并限制出现的任何问题所造成的影响。

逐步扩展

组织随后可以扩展到 COBOL 系统中更关键的模块,运用从先前迭代中汲取的经验教训。这使他们能够以稳定且可持续的步伐实现旧版应用程序的现代化,并为他们处理更复杂的转型积累必要的经验。

测试和记录

必须进行彻底的测试,以验证功能和特性,并确保现代化后的系统仍按预期工作。此外,任何变更都必须记录在案,无论是新代码或配置、API 定义还是 DevOps 工作流。

AI 学院

在大型机和 AI 之后会出现什么?

在本期 AI Academy 中,Christian Jacobi 解释了大型机对于企业 IT 的重要性,以及它们如何通过新的整合和增强来巩固自身在现代 IT 中的重要作用。

AI 助力 COBOL 现代化

人工智能可以增强 COBOL 现代化过程。特别是生成式 AI 工具,由在 COBOL 等编程语言上经过训练或微调的大语言模型 (LLM) 驱动,使它们能够分析大型机代码。

然而,AI 并没有消除对大型机系统的需求——反而进一步增加了这种需求。AI 虽能加速 COBOL 现代化、弥合因 COBOL 开发人员退休造成的技能缺口,但大型机作为展现可靠性、可扩展性和事务弹性的平台,依然至关重要。在进行现代化时所做出的战略选择,可以决定流程的顺利程度以及项目的成功程度。

以下是 AI 可以帮助完成的一些现代化任务:

  • 代码理解与解释

  • 代码生成与重构

  • 代码转换与优化

  • 测试生成与代码文档

代码理解与解释

例如,Swimm 的应用程序理解平台将静态分析与大语言模型相结合,提取业务规则,并识别 COBOL 用户界面中每个元素的依赖关系和变量流。与此同时,IBM watsonx Code Assistant for Z 使用 AI 智能体来理解大型机代码和技术文档,并生成自然语言解释。

代码生成与重构

一些 AI 支持的应用程序具有聊天机器人界面,可根据自然语言提示生成新代码。其他则融入 IDE(集成开发环境)中,提供实时的内联代码建议。IBM watsonx Code Assistant for Z 更进一步,可自动将 COBOL 应用程序重构为模块化的业务服务。

代码转换与优化

多智能体系统,例如 Persistent Systems 开发的系统,使用多个 AI 智能体将 COBOL 代码转换为 Java 等现代编程语言。一个编码器智能体执行转换,而一个审查器智能体检查转换后的代码中是否有错误或优化与精炼的机会。

测试生成与代码文档

人工智能驱动的工具可以自动生成测试,以比较新代码与原始 COBOL 代码的语义等效性。它们还可以生成内联注释,记录某些代码片段的功能。 

与任何 AI 应用程序一样,团队仍必须保持谨慎,验证输出的准确性,并对任何生成的代码或建议的修复与变更进行测试。

Techsplainers | 播客

收听:“什么是 COBOL 现代化?”

关注 Techsplainers:Spotify 和 Apple Podcasts

作者

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

相关解决方案
IBM zSystems 大型机服务器和软件

IBM zSystems 是现代 z/Architecture 硬件系列,可运行 z/OS、Linux、z/VSE、z/TPF、z/VM 和 zSystems 软件。

深入了解 Z
企业业务服务器解决方案

专为处理任务关键型工作负载而构建,同时保持整个 IT 基础架构的安全性、可靠性和控制力。

探索解决方案
大型机现代化改造服务

与 IBM 合作对大型机应用程序进行现代化改造,加快数字化转型。

大型机服务
采取后续步骤

释放 IBM® Z 和 Telum 的强大能量,保护数据、优化性能,并推动实时 AI 洞察。利用专为速度、可扩展性和安全性而设计的行业领先大型机解决方案和处理器来构建企业的未来。

  1. 深入了解 IBM Z 的功能
  2. 探索适用于 AI 加速的 Telum