我们有一个用 Informix 4GL 编写的大型本土 ERP 系统。
目前,我们在旧的 Sun 硬件、Solaris 8 以及 4GL 和 Informix 的十年前版本上运行。
我们需要继续前进,一个选择显然是获取最新版本的 4GL 和 Informix,安装在新硬件(可能是 Linux/Intel)上。
但是我相信有将 4GL 程序迁移到其他开发平台的选项。有没有人有这方面的经验?如果是这样,是什么平台,进展如何,利弊是什么?
在 Linux 上迁移到 I4GL 7.50 几乎是轻而易举的事。如果您有 10 年前的 I4GL 版本,您可能使用的是 7.30 而不是 7.31 或更高版本。在这种情况下,您可能需要注意 I4GL 运行时库中 C 函数的“重命名”。如果您使用 C 代码,则需要确保所有此类文件都使用头文件“fglsys.h”。除此之外,它应该是加载、编译、运行。
I4GL 7.50 为 SOA 添加了一些(基本的)支持。您可以将 I4GL 函数发布为 Web 服务,并且可以让 I4GL 程序订阅 Web 服务。
如果您想保留 I4GL 代码但转到不同的界面,主要选择是:
前两个是商业的;最后是开源。
如果您想不使用 I4GL 代码,那么世界就是您的选择 - 数据库和访问它的工具有无数种选择。
从评论中,我相信您使用的是 I4GL 7.30 - 1998 年发布。如果您使用的是常规 p 代码(没有自定义运行程序),那么升级应该是“重新编译并运行”操作。如果您使用了自定义运行程序,那么您需要检查您的 C 代码以确保您#include "fglsys.h"
在文件顶部附近有 '(但您可以自动执行添加它的操作)。
有各种 Java 自动翻译工具——一个是由一家名为 Artinsoft 的公司提供的,另一个是 IBM 的 EGL。说“有问题”就足够了。
我有偏见,但多年来我们一直与 IBM 合作帮助 Informix DB 公司从 4GL 迁移。如果您还没有听说过 GeneXus,请查看。就在今天,我们为 Informix 小组做了一个演示,我们在其中设计了“商店”数据库(仅作为演示),GeneXus 自动为 Web 生成了大约 30 多个屏幕,并显示它在 Android 和 iPhone 上工作,用了更短的时间一小时。这肯定需要数周或一个月的时间才能手工完成。