4

我们将在不久的将来实施一种解决方案,以使我们编写为带有一些存储过程的 RPG 程序的 iSeries 应用程序现代化,我们首选的方法是利用 Java 在这个领域提供的最新和最伟大的功能。

通过谷歌搜索和检查 STOVFlow 上的其他问题,JTOpen 似乎是事实上的库/工具集,对大多数人都有效,我很高兴看到 Tomcat 在 I 系列机器上运行而没有任何问题。

以此为背景,我将以下内容视为高级溶胶拱门

  1. 安装 IBM JRE 并使用 JTOpen 的功能来调用 RPG 程序,在某些情况下直接调用运行在 DB2 上的存储过程
  2. 让 Tomcat 托管一个使用 Grails 和其他框架(Camel、Smooks)构建的现代 Web 应用程序,以提供一个应用程序逻辑层,该层将填充从浏览器向用户提供旧功能所需的任何中介和转换

问题-

  1. 如果你们中的任何人参与过这样的练习,请分享这种方法的陷阱
  2. 最终用户的响应时间是否有显着的性能下降?
  3. 对于某些人来说,将 JT400 代码公开为 Web 服务并在完全使用这些 Web 服务的不同机器上运行 Web 应用程序会更好吗?
4

3 回答 3

2

从 Java 调用 RPG 时要非常小心,因为RPG 在没有一些更改的情况下不是线程安全的。

于 2011-10-30T08:24:09.413 回答
1

当我在 COMMON 时,我觉得市场上最好的产品是Profound UI。还有来自不同供应商的其他几个。这些产品中的大多数不使用 Java。i 上的 Java 往往很慢。(可以做一些事情来让它更快,但原生总是更快。)你会为这些产品付出代价,但想象一下你自己要花多少时间来做这件事。对于上述情况,我的报价在 20+ 千美元范围内。但像所有 i 产品一样,价格因系统而异。

直接回答您的问题:

  1. 在时间允许的情况下,我一直在对现代化进行研究,产品还没有(在我看的时候)用于我们想要使用它的目的(在 COMMON 2011 之前)。现在看起来它可能会起作用。
  2. 这实际上取决于您的系统。较新的系统比旧系统的问题要少。网络总是比绿屏慢。人们不会喜欢它。高管和年轻人会喜欢它。
  3. 您的慢点是运行业务逻辑。HTML来自哪个服务器并不重要。
于 2011-09-19T14:16:19.060 回答
1

我发现对于所有实际目的而言,AS/400 的行为就像从 Java 代码中看到的 AIX 盒子,您必须使用 jt400 (jtOpen) 与 AS/400 的特定功能(如数据队列、文件等)进行通信。这很有效好吧,但是调用 JVM 的缓慢会迫使基于 Java 的解决方案长期运行。

另请注意,由于预启动作业的性质,QTEMP 通常不能用作保持状态的机制。

在 V6R1 下,Java 6 可用,并且在“新技术”版本中运行良好。然后,您可以运行几乎所有基于 Java 的解决方案,包括其中的 Jetty 等 Web 服务器。请注意,直接访问 IFS 文件时,Java 默认使用代码页 819。使用 AS/400 作为网络驱动器的 Windows 客户机使用兼容的代码页。

于 2011-09-28T10:59:05.690 回答