高效率、低风险地实现核心银行应用程序的现代化
Java 与 COBOL 相结合,可以保留 IBM zSystems 和分布式世界的优点
法兰克福城市天际线

Atruvia AG 为德国的合作银行提供银行即服务解决方案和应用程序开发服务。超过 800 家银行依赖 Atruvia 的 agree21 核心银行流程和其他应用程序,以及该公司遍布全国的 30,000 多台 ATM 和自助服务终端网络。

客户银行拥有约 8100 万个客户账户,会产生大量的交易,这就需要一个功能强大、弹性强、安全性高的 IT 基础设施。Atruvia 通过四个数据中心的 8 个 IBM® z15® 系统实现了上述目标,这些系统每年处理 800 亿笔核心银行交易,高峰时每秒可处理 12,000 笔交易。IBM Information Management System (IMS) 用于管理交易,数据存储在 IBM Db2® for z/OS® 数据库中。

在分布式方面,客户参与应用程序采用 Java® 实现,既可以采用经典方式,也可以采用微服务方式,托管在 Red Hat® OpenShift® 容器平台上的 x86 Linux® 系统上。大约 1,200 个微服务支持销售平台和其他流程,这些流程通过专有的 API 层使用核心银行服务。

过去,Atruvia 在前端使用 Java/HTML5 实现核心业务交易,在后端使用纯 Java 和 IMS COBOL 连接中层。由于许多 COBOL 程序员即将退休,而银行客户又希望快速提供新的全渠道服务,Atruvia 的高管们决定采用一种创造性的方法来实现应用程序现代化,既能保持 IMS 的安全性和性能,又能提供常用编程语言的优势。

他们的解决方案不是高风险且成本高昂的“直接迁移”策略,而是有选择地进行原地重构。他们将最新版本的 Java 引入基于 IBM zSystems® 平台的现有 IMS/COBOL 运行时,以实现应用程序的渐进式现代化。

Atruvia 高级企业架构师 Pascal Meyer 解释说:“我们的核心银行应用程序一直在不断发展。对于没有理由全面重新实施的要求,我们希望将 Java 引入 IMS COBOL 环境。我们的一个主要目标是以新一代开发人员更熟悉的方式提供我们的银行应用程序。”

支持 Java 的交易

 

Atruvia 在 IBM zSystems 上使用 Java 开发 IMS 的功能,使 85% 的核心银行交易实现了 Java 化

增强了性能

 

使用 IBM zSystems 托管一些数据密集型分布式 Java 应用程序,可将性能提高 3 倍

提高生产力

 

Java 与 IMS 中的 COBOL 相结合,可以提高应用程序开发人员的工作效率

我们认为 IBM zSystems 上的 Java 是为客户带来竞争优势的关键技术。 Pascal Meyer 高级企业架构师 Atruvia AG

将 Java 与 COBOL 一起添加到 IMS 还可以降低应用程序的复杂性。Atruvia 的经典基础架构使得每个组件都必须包含“补偿”逻辑,以确保在发生错误或中断时,分布在不同组件上的操作可以回滚到最后的一致状态。将 Java 代码引入 IMS 环境将使额外的逻辑变得多余,从而降低复杂性,减少成本和延误。

Atruvia 团队负责人兼 IT 架构师 Thomas Bauer 补充道:“在应用架构方面,Java 为使用更广泛的框架和协议提供了可能性。例如,RESTful 网络服务在 Java 中比在 COBOL 中更自然,而且某些在纯 COBOL 环境中难以实现的功能在 Java 中可以作为预构建工件使用。我们希望通过部署现代化、可重复使用的软件组件来缩短产品上市时间,同时通过启用 Java 来保护我们在现有业务逻辑方面的投资。”

随着 Java 作为 Atruvia 的战略平台,该组织热衷于在分布式平台和 IBM zSystems 平台上提高代码可移植性,以性价比最高的平台为准。这种方法还可以简化向云计算的过渡。由于 OpenShift 在所有平台上运行,Atruvia 可以在合理的情况下将工作负载迁移到云端。

此外,在 IBM zSystems 上使用 Java 以及 COBOL,将使开发人员能够以无缝、低风险的方式丰富核心银行功能,用 Java 代替 COBOL 子程序,而无需重写大型程序。分布式环境中的软件架构师可以更轻松地直接从 IMS 应用程序调用核心交易服务。

“从长远来看,我们的目标是让 Java 构建块可以在任何位置运行,从而提高平台无关性,”Meyer 说,“除了降低架构复杂性外,在 IMS 内部混合使用 COBOL 和 Java 还能让我们构建与现有组件紧密集成的新应用程序组件。通过这种方式,我们可以获得现代混合应用程序的优势,即缩短上市时间、提高灵活性和简化开发,而不会失去 IMS 的性能优势,因为它在核心银行交易中非常重要。”

为创造性应用程序现代化奠定基础

Atruvia 人员与 IBM Systems 开发人员在一个多年项目中密切合作,在 IMS 生产环境中优化 Java 结构的通用运行时(在通用运行时普遍可用之前)。基于 IBM Semeru Runtime Certified Edition for z/OS(版本 11),通用运行时现已成为最新版本 IMS 中的标准配置。IBM 和 Atruvia 都在致力于支持最新的 Java 版本。

通用运行时允许 31 位 COBOL 应用程序与 64 位 Java 应用程序进行通信,从而使 Atruvia 能够向 64 位的未来迈进。借助 Java 和 COBOL 在 IMS 内的互操作性,该公司可以在不影响性能或可靠性的情况下实现核心银行应用程序的现代化并恢复活力。

实际上,Atruvia 重点关注 IBM zSystems 平台上的两个 Java 目标。首先,开发人员正在为传统的 IMS 处理和批处理工作负载构建混合 Java-COBOL 应用程序,以便调用 IBM MQ for z/OS,并通过 Java 数据库连接 (JDBC) 与 IBM Db2 for z/OS 连接。其次,开发人员在适当的时候将原生 Java 代码从分布式环境迁移到 IBM zSystems。

Meyer 说道:“过去,我们的许多批处理工作都分布在 IBM zSystem 和分布式环境的多个平台上,我们需要协调不同的调度程序。这种方法还需要数据交换和/或数据共享。如今,通过直接在 IBM zSystems 上执行 Java 作业,我们只需要一个调度程序,因此复杂性较低。由于不需要移动或转换数据,而且 Java 代码就在数据旁边,而不需要通过网络访问数据,因此我们还能实现更高的性能。”

Atruvia 还在构建一套通用 Java 服务,可作为 API 提供给在其分布式环境中运行的前端应用程序的开发人员。例如,开发人员可以使用 API 调用客户支票账户的当前余额,以便在移动应用程序中显示。将 Java 添加到 IBM zSystems 平台可以更轻松地基于现有功能提供新服务。

Meyer 表示:“分布式环境的开发人员不会知道他们是在调用 Java 服务还是在调用 IMS 原始事务。一切都将以同样简单一致的方式访问,从而更快速更简单地构建新的前端应用程序,调用 IBM zSystems 上强大的底层事务。这为我们的银行客户提供了支持,因为他们希望通过网络、手机和未来可能出现的任何新渠道,向其员工和客户提供创新服务。”

IMS 中的 Java 还为 Atruvia 提供迁移旧 COBOL 代码的选项,但是开发人员可以选择这样做,例如在构建新业务逻辑时。“没有仅仅为了现代化而进行现代化的压力,”Bauer 解释说,“我们继续重视 COBOL 和 IMS 的后端性能和稳健性,并继续将这些技术插入到分布式系统上运行的图形前端中。”

通过这种方式,运行 IMS 的 IBM zSystems 平台继续作为业务逻辑的焦点。它直接馈送到各种渠道以使用该逻辑,例如提款机应用程序、ATM 系统、面向客户的 Web 应用程序和移动应用程序。

运行 IMS 的 IBM zSystems 平台仍然是我们的战略选择,因为它是我们所知的最安全可靠的平台,可为我们的核心银行系统提供卓越性能。借助 Java in IMS,我们鱼和熊掌兼得。 Pascal Meyer 高级企业架构师 Atruvia AG
加快速度、简化流程、提升可持续性

由于 IBM 和 Atruvia 之间的开创性合作,Java 现在已成为 IBM zSystems 工具箱中成熟的生产就绪型组件。这显著改善了 IMS 环境,保留传统的性能和稳健性,同时使用更广泛可用和可持续的编程技能加快开发速度。它还允许开发人员以低风险、高效的方式丰富现有的核心银行功能。

Meyer 说:“我们认为,IBM zSystems 上的 Java 是为我们的客户带来竞争优势的关键技术。由于开发和重用现有组件更加容易,它使我们能够以更高的速度和更低的成本提供新的功能,从而为我们的银行客户提供支持,帮助他们更快地将新服务推向市场。”

事实上,Atruvia 大约 85% 的核心银行 IMS 交易已经由 Java 实现 – 每天约 4 亿笔 Java 交易,峰值吞吐量达到每秒 12,000 笔交易。借助 12 个 IMS 系统(每处理器秒百万条指令数 (MIPS) 约为 200)为这些业务关键型交易提供支持。

通过降低应用环境的复杂性,IMS 中的 Java 提高了端到端业务交易的效率和性能。以前,企业批处理是由多个平台处理的。现在,通过将 COBOL 和 Java 结合起来,所有处理过程,无论使用哪种语言,都可以简单地集成到一个批处理步骤中。

此外,Atruvia 开发人员可以轻松地将 Java 代码移植到分布式环境和 IBM zSystems 环境中,以性价比最高的平台为准。例如,Atruvia 通过将一些分布式 Java 工作负载托管到 IBM zSystems 平台来减少延迟。“毕竟,最好的 I/O 就是没有 I/O,”Meyer 打趣道。他报告说,对于一些数据密集型应用程序进行托管,而不是通过网络运行,性能可以提高三倍。显然,大规模迁移到云并不是实现应用程序现代化的唯一途径。

此外,对于将 Java 工作负载从通用处理器 (GP) 迁移到 IBM Z Integrated Information Processors (zIIPs),还存在经济激励,因为后者的许可费用较低。尽管 MIPS 需要增加(因为 Java 比 COBOL 消耗更多资源),但总体成本降低了。

利用丰富的 Java 库,程序员在使用压缩和解压数据等常用功能时就无需编写自定义代码,从而也提高了效率。同样,Atruvia 可以将第三方 Java 软件集成到其 IBM zSystems 环境中,从而有可能完全避免内部开发。随着新的基于硬件的加密、压缩或网络功能在平台上可用,适用于 IBM zSystems 的 Java 将使应用程序能够透明地访问新功能。

Meyer 说道:“作为为 800 多家银行和数千万最终用户提供核心银行系统的提供商,我们不能在性能和可靠性上妥协,也不能在开发实践中引入风险。运行 IMS 的 IBM zSystems 平台仍然是我们的战略选择,因为它是我们所知的最安全、最可靠的平台,而且它为我们的核心银行系统提供了卓越的性能。在 IMS 中使用 Java,我们鱼和熊掌兼得。”

Atruvia AG 徽标
关于 Atruvia AG

Atruvia 公司(链接位于 ibm.com 外部)由 Fudicia IT AG 和 GAD eG 于 2015 年合并而成,是德国 820 家合作银行的数字化合作伙伴。其银行业 IT 解决方案和服务范围包括数据中心运营、agree21 银行即服务流程、应用程序开发和支持。Atruvia 的行政总部设在卡尔斯鲁厄和明斯特,在慕尼黑、法兰克福和柏林设有分支机构,拥有近 8,400 名员工,2020 年集团销售额约为 17.7 亿欧元。

采取下一步行动

如需详细了解本案例中介绍的 IBM 解决方案,请联系您的 IBM 代表或 IBM 业务合作伙伴。

查看更多案例研究 联系 IBM Garanti BBVA

加速分析,提供银行业洞察

阅读成功案例
卡塔尔内政部

查询处理速度快,成本低

阅读成功案例
Bankart,Procesiranje plačilnih instrumentov d.o.o.

通过合作实现创新

阅读成功案例
法律

© Copyright IBM Corporation 2022。IBM Corporation, Hybrid Cloud, New Orchard Road, Armonk, NY 10504

2022 年 5 月在美国制作。

IBM、IBM 徽标、ibm.com、Db2、IBM zSystems、z/OS 和 z14 是 International Business Machines Corp. 在全球许多司法辖区的注册商标。其他产品和服务名称可能是 IBM 或其他公司的商标。以下网站上的“Copyright and trademark information”部分中包含了 IBM 商标的最新列表:ibm.com/legal/copyright-trademark

Java 及所有基于 Java 的商标和徽标都是 Oracle 和/或其附属公司的商标或注册商标。

Red Hat® 和 OpenShift® 是 Red Hat, Inc. 或其子公司在美国和其他国家/地区的商标或注册商标。

本文档为自最初公布日期起的最新版本,IBM 可能随时对其进行更改。IBM 并不一定在开展业务的所有国家或地区提供所有产品或服务。

文中引用的性能数据和客户示例仅作演示说明之用。实际性能结果可能因具体配置和操作条件而异。本文档中的信息均“按原样”提供,不涉及任何明示或暗示的保证,包括适销性、特定用途适用性的任何保证,以及不侵权的任何保证或条件。IBM 产品根据其提供时所依据的协议条款和条件获得保证。