Is the call coming in over the Internet or over a private network or VPN connection ?

First and foremost that's a consideration for potential exposures.

Also how much volume ? (CPU exposure and rate limiting needed to be considered)

Since you're using node you can:
-Write your own REST service with:
Node (Can use the node toolkit which uses XMLSERVICE)
RPG (ILEAstic or CGI)
Python
Java

-Use IWS to expose RPG calls as REST

If on an internal/secure network you could use:
-Mapepire, but your interactions would be using Web Sockets, plus it's still pretty new. (limited to CL commands and SQL I believe)
-Connect to XMLSERVICE over http, odbc or SSH
-Connect directly via ODBC.

If external:
-Are you able to llimit the IP addresses hitting the app ?
-Do you have an external firewall with rate limiting ? (Cloudflare or something similar)

For you if Node is your thing, creating the service in Node may be the best option.

If each call is truly a few milliseconds, you can probably make the call and just wait for the response sending back the PF outfile results.

Hope this helps.

Regards,
Richard Schoen
Web: http://www.richardschoen.net
Email: richard@xxxxxxxxxxxxxxxxx

----------------------------------------------------------------------

message: 1
date: Wed, 6 May 2026 12:01:29 +0200
from: Luca Giammattei <luca.giammattei@xxxxxxxxx>
subject: Call a rpg program from a node script running on an external
windows or linux server

Hi everyone, I may soon find myself in the situation in question: a web app running on a Linux or Windows server needs to access data on the Power Server.
Obviously, this involves structured information based on a well-defined and consolidated calculation in a business logic managed by three RPG programs that have been doing their job effectively for 20 years. The only change was made about twenty years ago, and a parameter was added to the programs that simply creates an PF-DTA object as an output file with this data to be later managed.
So, back to the point: what's the best way to allow a Node.js script running on a Linux (or Windows) server to connect with a specific user to a Power Server on IBM i 7.3 or 7.5 and make a call pgm1(parm1); wait a few milliseconds for the execution time and then retrieve a database file? Has anyone had similar experiences? Perhaps encapsulate the pgm in an SQL function?
Thanks in advance to anyone who can share their experiences.



This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.