RPG (iSeries) Модернизация с использованием JTOpen - что возможно? - PullRequest
4 голосов
/ 17 сентября 2011

В ближайшем будущем мы будем внедрять решение для модернизации наших приложений iSeries, написанных в виде программ RPG, с некоторыми хранимыми процедурами, и наш предпочтительный способ - использовать самые последние и лучшие из того, что Java может предложить в этом пространстве.

Начиная с поиска в Google и проверки других вопросов здесь на STOVFlow, JTOpen, кажется, является библиотекой / набором инструментов defacto, которая работала для большинства, и я был рад видеть, что Tomcat работает на коробке I-серии без каких-либо проблем.

Имея это в качестве фона, я думаю о следующем как о высокоуровневой архитектуре sol

  1. Установите IBM JRE и используйте возможности JTOpen для вызова программ RPG, а в некоторых случаях напрямую вызывайтехранимые процедуры, работающие в DB2
  2. . У Tomcat должно быть современное веб-приложение, построенное с использованием Grails и других сред (Camel, Smooks), чтобы обеспечить уровень логики приложения, который заполнил бы любые посредники, преобразования, необходимые для того, чтобы старая функциональность былапредлагается пользователю из браузера

Вопросы-

  1. Если кто-либо из вас принимал участие в таком упражнении, пожалуйста, поделитесь подводными камнями с этим подходом
  2. Есть ли значительное снижение производительности в отношении времени отклика для конечного пользователя?
  3. Было бы лучше, если бы некоторые представляли код JT400 в качестве веб-служб и запускали веб-приложение на другом компьютере, потребляя в целомэти веб-сервисы?

Ответы [ 3 ]

2 голосов
/ 30 октября 2011

Будьте очень осторожны с вызовом RPG из Java, потому что RPG не безопасен для потоков без некоторых изменений.

1 голос
/ 28 сентября 2011

Я обнаружил, что для всех практических целей AS / 400 ведет себя как окно AIX, видимое из кода Java, и вы должны использовать jt400 (jtOpen) для связи с конкретными функциями AS / 400, такими как очереди данных, файлы и т. Д. Это работает довольно хорошо, но медлительность вызова JVM заставляет Java-решения работать долго.

Также обратите внимание, что QTEMP, как правило, недоступен как механизм для сохранения состояния из-за характера предварительно запущенных заданий.

Под V6R1 Java 6 доступна и работает довольно хорошо в издании "новой технологии". Затем вы можете запускать практически все решения на основе Java, включая веб-серверы, такие как Jetty. Обратите внимание, что Java по умолчанию использует кодовую страницу 819 при прямом доступе к файлам IFS. Клиенты Windows, использующие AS / 400 в качестве сетевого диска, используют совместимую кодовую страницу.

1 голос
/ 19 сентября 2011

Когда я был в COMMON, лучшим продуктом, который я чувствовал на рынке, был Глубокий интерфейс . Есть несколько других от различных поставщиков. Большинство этих продуктов не используют Java. Я на I имеет тенденцию быть медленным. (Есть вещи, которые можно сделать, чтобы сделать это быстрее, но native всегда быстрее.) Вы заплатите цену за эти продукты, но только представьте, сколько времени вам потребуется, чтобы сделать это самостоятельно. За вышесказанное меня цитировали в диапазоне 20 + тысяч долларов. Но, как и все продукты, цены на которые сильно меняются в зависимости от системы.

Чтобы прямо ответить на ваши вопросы:

  1. Я проводил исследования по модернизации, как позволяет время, продуктов еще не было (в то время, когда я смотрел), чтобы использовать их для того, для чего мы хотели их использовать (до COMMON 2011). Теперь похоже, что это может сработать.
  2. Это действительно зависит от вашей системы. У более новой системы будет меньше проблем, чем у более старой системы. Сеть всегда будет медленнее, чем зеленый экран. Людям, попавшим в руки, не понравится. Руководители и молодые люди будут любить его.
  3. Ваша медленная точка работает на бизнес-логике. Не имеет значения, с какого сервера приходит HTML.
...