Upgrading RPG (iSeries) using JTOpen - what is possible?

In the near future we will be introducing a solution to upgrade our iSeries applications written as RPG programs with some stored procedures, and our preferred way is to use the latest and greatest of what Java has to offer in this space.

From finding and checking other questions here at STOVFlow, JTOpen seems to be a library / toolkit defactor that worked for most, and I was pleased to see that Tomcat works in the series box I am without any problems.

With this as background, I think of the following as a high-level arch

  • Install the IBM JRE and use the capabilities of JTOpen to invoke RPG programs, and in some cases directly call stored procedures that run in DB2
  • Tomcat has a modern web application built using Grails and other frameworks (Camel, Smooks) to provide a logical level of the application that would fill in any mediation, transformations necessary for the old functions to be offered to the user from the browser

Questions -

  • If any of you have participated in this exercise, please separate the pitfalls using this approach.
  • Is there a significant decrease in performance in terms of response time for the end user?
  • Would it be better if someone showed the JT400 code as web services and ran the web application on another machine, consuming these web services completely?
+4
source share
3 answers

Be very careful with calling RPGs from Java, because RPGs are not thread safe without any changes.

+2
source

When I was at COMMON, the best product I felt on the market was the Deep User Interface . There are several others from various suppliers. Most of these products do not use Java. Java on i is usually slow. (There are things you can do to make it faster, but native is always faster.) You will pay the price for these products, but imagine how long it will take you to do it yourself. For the above, I was listed in the range of $ 20 + thousand. But, like all i products, prices vary greatly depending on the system.

To answer your questions:

  • I do research on modernization as time permits, the products were not there yet (at the time I was looking) to use it for what we wanted to use for it (before COMMON 2011). Now it looks like this might work.
  • It really depends on your system. A newer system will have fewer problems than an older system. The Internet will always be slower than a green screen. People shaking hands will not like it. Leaders and young people will love this.
  • Your slow point triggers business logic. It doesn't matter which server the HTML comes from.
+1
source

I have found that for all practical purposes, AS / 400 behaves like an AIX field as seen from Java code, and you should use jt400 (jtOpen) to communicate with AS / 400, such as data queues, files, etc. This works very well, but the slow call of the JVM puts pressure on Java solutions for a long time.

Note also that QTEMP is generally not available as a state-saving mechanism due to the nature of the predefined tasks.

In V6R1, Java 6 is available and works very well in the new technology edition. Then you can run almost all Java-based solutions, including web servers like Jetty. Please note that Java uses code 819 by default when accessing IFS files directly. Windows clients using AS / 400 as a network drive use a compatible code page.

+1
source

All Articles