RPG (iSeries) Модернизация с использованием JTOpen - что возможно?
В ближайшем будущем мы будем внедрять решение для модернизации наших приложений iSeries, написанных в виде RPG-программ, с некоторыми хранимыми процедурами, и наш предпочтительный способ - использовать самое последнее и лучшее из того, что Java может предложить в этой области.
Начиная с поиска в Google и проверки других вопросов здесь, на STOVFlow, JTOpen, кажется, является библиотекой / набором инструментов defacto, которая работала для большинства, и я был рад видеть, что Tomcat работает на коробке I-серии без каких-либо проблем.
Имея это в качестве фона, я думаю о следующем как арка соль высокого уровня
- Установите IBM JRE и используйте возможности JTOpen для вызова программ RPG, а в некоторых случаях напрямую вызывайте хранимые процедуры, работающие в DB2
- Пусть Tomcat разместит современное веб-приложение, построенное с использованием Grails и других сред (Camel, Smooks), чтобы обеспечить уровень логики приложения, который заполнил бы любые посредники, преобразования, необходимые для того, чтобы старая функциональность была предложена пользователю из браузера.
Вопросы-
- Если кто-либо из вас участвовал в таком упражнении, пожалуйста, поделитесь подводными камнями с этим подходом
- Есть ли значительное снижение производительности в отношении времени отклика для конечного пользователя?
- Было бы лучше, если бы кто-то представлял код JT400 как веб-сервисы и запускал веб-приложение на другом компьютере, в целом потребляя эти веб-сервисы?
3 ответа
Будьте очень осторожны с вызовом RPG из Java, потому что RPG не является поточно-ориентированным без каких-либо изменений.
Когда я был в COMMON, лучшим продуктом, который я чувствовал на рынке, был Profound UI. Есть несколько других от различных поставщиков. Большинство из этих продуктов не используют Java. Я на I имеет тенденцию быть медленным. (Есть вещи, которые можно сделать, чтобы сделать это быстрее, но native всегда быстрее.) Вы заплатите цену за эти продукты, но только представьте, сколько времени вам потребуется, чтобы сделать это самостоятельно. За вышесказанное меня цитировали в диапазоне 20+ тысяч долларов. Но, как и все цены на продукты, меняются в зависимости от системы
Чтобы напрямую ответить на ваши вопросы:
- Я проводил исследования по модернизации, как позволяет время, продуктов еще не было (в то время, когда я смотрел), чтобы использовать их для того, для чего мы хотели их использовать (до COMMON 2011). Теперь похоже, что это может сработать.
- Это действительно зависит от вашей системы. У более новой системы будет меньше проблем, чем у более старой системы. Сеть всегда будет медленнее, чем зеленый экран. Людям, попавшим в руки, не понравится. Руководители и молодые люди будут любить это.
- Ваша медленная точка работает бизнес-логики. Не имеет значения, с какого сервера приходит HTML.
Я обнаружил, что для всех практических целей AS/400 ведет себя как окно AIX, видимое из кода Java, и вы должны использовать jt400 (jtOpen) для взаимодействия с конкретными функциями AS/400, такими как очереди данных, файлы и т. Д. Это работает довольно хорошо, но медлительность вызова JVM заставляет Java-решения работать долго.
Также обратите внимание, что QTEMP обычно недоступен как механизм для сохранения состояния из-за природы предварительно запущенных заданий.
Под V6R1 Java 6 доступна и работает довольно хорошо в издании "новой технологии". Затем вы можете запускать практически все решения на базе Java, включая веб-серверы, такие как Jetty. Обратите внимание, что Java по умолчанию использует кодовую страницу 819 при прямом доступе к файлам IFS. Клиенты Windows, использующие AS/400 в качестве сетевого диска, используют совместимую кодовую страницу.