Extending existing RPG investment to other platforms

Any IBM i topic that does not fit in another forum
Post Reply
Posts: 1
Joined: Fri Sep 09, 2022 9:08 am

Extending existing RPG investment to other platforms

Post by Sbouell »

We have a significant investment in existing RPG programs that encapsulate a lot of business rules/logic. We are looking for a way to extend our RPG programs and making them available to other solutions. For the purpose of discussion, let use a rating engine as an example.

We would like to invoke the existing RPG rating engine program when a web facing solution requests a rate.

We currently have a solution in place where a middleware component receives the web API JSON and re-formats the data passing it as parameters to the RPG program. The RPG rating program calculates the rate and then returns the rate details via a parameter back to the middleware component. That component then reformats the result set received into JSON and provides that as the response to the calling web API. This integration pattern has been in place since 2006 and has been reliable and fast.

However, we are now looking to make more legacy RPG programs available to the web. We have been asked to revisit this integration pattern to validate if a better way to execute exists. Appreciate any insights.
Note our IBM box is running on V7R1M0 of the O/S.
Posts: 181
Joined: Wed Jul 28, 2021 8:18 pm

Re: Extending existing RPG investment to other platforms

Post by jonboy49 »

Well my first suggestion would be to upgrade your OS level. Stuck at V7.1 you are going to have issues with the levels of encryption you can offer to your clients. Also moving up to a supported release (V7.1 has been off full service for a while now) will open you up to more possibilities like node.js, Python, etc.

You don't mention what middleware you are using, but it is now a highly competitive field with offerings from all the major vendors plus some specialist companies like Eradani.

You could of course simplify and slim down the middleware layer by re-engineering some of the RPG code to accept the JSON directly and to respond with JSON rather than conventional parameters with a view to making the whole thing more "callable from anywhere". Maybe you have already done that and the whole thing is just a series of Service Program calls - but if no that is another area to study.

Just thinking out loud ...
Post Reply