6

我们目前有一个用 COBOL 编写的大型关键业务应用程序,在 OpenVMS(Integrity/Itanium)上运行。

几个月过去了,关于安腾架构寿命的猜测越来越多。当然,没有什么是公开的,但是像这样这样的文章描绘了一幅令人担忧的画面。虽然我找不到任何官方支持这一点,但在我们公司的走廊里,甚至还有 HP 抛弃 OpenVMS 和 HP COBOL 随之而来的抱怨。

我无法相信我们是孤独的。

在我看来,有几个选择:

  1. 使用CHARON-VAXCHARON-AXP等产品模拟一些旧硬件并在其上运行应用程序。在我看来,优点是该过程应该相对轻松,尤其是在使用 64 位 (AXP) 选项的情况下。潜在的缺点是性能下降(尽管这应该被越来越快的硬件所抵消);
  2. 将基于 HP COBOL 的应用程序移植到更现代的 COBOL 方言,例如Visual COBOL。那么,优点在于移植工作量相对较低(仍然是 COBOL)以及可以在 Unix 或 Windows 平台上运行应用程序这一事实。缺点是虽然您正在移植 COBOL,但移植到不同操作系统的事实可能会使事情变得棘手(尤其是如果存在特定于 OpenVMS 的依赖项);
  3. 自动将 COBOL 翻译成更现代的语言,如 Java。这有一个明显的好处,即一举将一个人从所有遗留问题中解放出来:硬件支持、操作系统支持,尤其是寻找管理员和程序员。除了这是一项艰巨的工作之外,一个明显的缺点是最终会使用非惯用的 Java(或最终选择的任何目标语言)。可以说,随着时间的推移,这是可以改善的。
  4. 从头开始重写(当然,使用现代技术)。做过这件事的人都知道这是多么昂贵和耗时。我只是将它包括在内以使列表完整:)

请注意,不依赖于专有 DBMS;该数据库是基于 ISAM 文件的。

所以......我的问题是:

当他们选择的平台是 OpenVMS 和 COBOL 时,其他面临安腾即将过时的人如何保持业务连续性?

更新:

我们已经从当地惠普代表那里得到官方保证,至少在 2022 年之前将支持 Integrity/Itanium/OpenVMS 。我想这意味着整个问题与平台无关,而与语言(COBOL)有关。

4

3 回答 3

1

这项工作的主要问题将是特定于 OpenVMS 的代码部分。在 OpenVMS 上开发的大多数应用程序通常使用不容易移植到另一个平台的例程和过程。与其担心特定的语言兼容性,我最初会关注应用程序使用的运行时例程和命令过程。

另一种方法可能是继续使用当前应用程序,同时开发新应用程序或修改商业应用程序以满足您的需求。虽然 Itanium 的长期地位存在问题,但历史表明 OpenVMS 将在未来一段时间内保持可行。今天仍然有 VAX 机器用于关键业务应用程序。OpenVMS 及其硬件稳定的事实是其长寿的主要原因。

于 2012-05-22T16:13:37.657 回答
0

看起来 COBOL 是让您担心的主要依赖项。我不明白这张图片中的 Itanium+OpenVMS 只是一个平台。

你绝对不是一个人在 OpenVMS 上运行关键任务的东西。HP 站点有 OpenVMS 路线图(Alpha 和 Integrity),目前支持到 2015 年。Oracle 最近似乎试图在不同领域利用它的 SUN 资产。

在任何情况下,如果您的担忧很大(当然我们都担心 COMPAQ,然后是 HP,vax>>alpha>>Itanium 过去的过渡),是时候解开对 COBOL 的依赖了。

所以我现在会考虑绘制从 COBOL 迁移到更便携的语言选择的迁移路径(例如,没有平台扩展的 C/C++ ANSII)。考虑到甲骨文的活动,Java 可能不是最友好的选择。重写,多么不愉快,将更加进步,并且可能会简化整个过程。越早开始,越早完成。

此外,除了模拟器之外,还有很多二手硬件。具有讽刺意味的是,我刚刚认识的一家公司正在逐步采用 Integrity 平台来取代关键任务的 Alpha——我猜,这是“企业测试要求”……

什么都不做也是一种选择,尽管显然风险更大:OpenVMS 平台已被证明是可靠的,因此,另一种选择是,寻找可靠的第三方支持公司可能会延长您未来的硬件应急能力。

于 2012-05-24T19:57:08.403 回答
0

今年夏天的滚动路线图让移植 OpenVMS 看起来像是一个绝妙的主意。

鉴于世界上有多少 COBOL,在可预见的未来,找到支持 COBOL 的人将不是问题。如上所述,其他平台上有 COBOL 编译器。问题在于您的应用程序使用的 OpenVMS 系统服务调用和 DEC 语言扩展。您没有提及数据的存储位置,因此最坏的情况是您的 COBOL 使用 RMS。有一家公司在 Linux 和 Unix 上提供许多 OpenVMS 系统服务的实现。在移植到另一个操作系统时不需要替换这些服务可以降低复杂性。查看 Sector7.com。

于 2013-09-24T04:29:15.207 回答