迁移COBOL代码

nav*_*100 5 cobol flowchart

我有一个任务将COBOL代码转换为.NET.有可用的转换器吗?我试图在高级别了解COBOL代码.我无法理解COBOL代码.有流程图生成器吗?我感谢任何帮助.

谢谢..

Nea*_*alB 10

将软件系统从一种语言或操作环境迁移到另一种语言或操作环境总是一项挑战 以下是一些需要考虑的事项:

  • 由于快速修复和问题解决方案的悠久历史,遗留代码往往结构不佳.当试图扭曲你的头脑时,这确实提高了信噪比.
  • 转换代码导致进一步"解构"以补偿源和目标实现平台之间的不匹配.当您从结构不良的基础(遗留系统)开始时,最终结果可能完全无法理解.
  • 遗留架构和/或业务流程的文档通常已经过时,因为它比无用的更糟糕,实际上可能会产生误导.
  • COBOL代码的复杂性几乎总是低估.
  • 许多"功能"将被发布到转换后的系统中,这些功能最初是为了补偿一次"无法完成"的事情(由于记忆较小,计算机速度较慢等).其中许多可能现在都不是问题,你真的不想要它们.
  • 没有明显或直接的方法将遗留的流程驱动系统重构为等效的面向对象系统(至少不是以有意义的方式).

已经有成功的项目将COBOL直接迁移到Java中.见纳卡.然而,最终的结果只是它的母亲(或另一个COBOL程序员)可以喜欢的东西,请参阅此讨论

一般来说,我会怀疑任何产品或工具声称将COBOL遗留系统转换为除了另一个版本的COBOL(例如COBOL.net)以外的任何东西.为此,您仍然最终得到了一个基本上是COBOL系统的东西.如果这种方法可以接受,那么您可能需要查看Micro Focus的这份白皮书.

恕我直言,您更换COBOL的最佳选择是重新设计您的系统.如果你发现了一颗银弹从你所在的地方到达你想去的地方 - 写一本书,成为一名顾问并赚取数百万美元.

很抱歉提供了这样一个否定的答案,但是如果你正在使用除了一个简单的遗留系统之外的任何东西,问题将是解决的微不足道的问题.

注意:不要打扰现有系统的流程图.尝试处理过程输入/输出和程序以编程数据转换和流程.您需要在此处了解业务功能,而不是具体的实现.


小智 7

Micro Focus和Fujitsu都拥有可与.NET配合使用的COBOL产品.Micro Focus允许您下载产品试用版,而Fujitsu NetCOBOL网站上有许多文章和案例研究.

Micro Focus http://www.microfocus.com/products/micro-focus-developer/micro-focus-cobol/windows-and-net/micro-focus-visual-cobol.aspx

富士通 http://www.netcobol.com/products/Fujitsu-NetCOBOL-for-.NET/overview


Dea*_*ing 2

这不是一件容易的事。COBOL 关于数据类型的基本思想与面向对象的 .NET 框架不能很好地映射(例如,在 COBOL 中,所有数据类型都以固定大小的缓冲区表示),特别是组和数组的工作方式不能映射以及 .NET 类。

我相信 COBOL 编译器实际上可以编译 .NET 字节码,但它们有自己的运行时库来管理所有这些。也许值得考虑其中一个编译器,并将遗留代码保留在 COBOL 中。

除此之外,逐行翻译可能是不可能的。查看更高级别的代码并一次翻译代码块(例如,在过程级别或什至更高级别)。