× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I used C because other parts that I was working on would have been written
in C so wrote it all in C. Should have used RPG but it can be fun to play
in C.

On Tue, Jan 25, 2022 at 3:01 PM Jay Vaughn <jeffersonvaughn@xxxxxxxxx>
wrote:

Alan, I worked at shops where the devs only knew how to (or really just
told to) serve up stored procs with huge parm lists.
The cross platform teams naturally wanted json objects to consume.
Your boss needs to retire.

Why C?

I recently HAD to write a C pgm so it could run in PASE and make calls to
native RPG pgms. This was to satisfy a Unix fork/exec design.
I mean C IS system agnostic (and that’s a plus) but RPG is so much
“better” to write in on the ibm i in my opinion.

Jay

On Jan 25, 2022, at 9:54 AM, Alan Campin <alan0307d@xxxxxxxxx> wrote:

My plan (Already done once in C) is to write a single RPG program. The
developer from the PC side sends a POST with a string containing a string
and a version along with the JSON. the program extracts the string and
the
JSON. the JSON or XML or whatever is written to a file in an temporary
IFS
folder. The ID string is looked up in a database and translated to a
Service Program, Library and Procedure and that Service Program is
dynamically loaded and call made to the procedure.

This is basically my Trigger Mediator but instead of registering the
program with the database, you register the single program with Apache.

The interface is identical on each service program and JSON or XML or
whatever is read from and written to stream file.

Waiting for approval. My boss wants to have stored procedures with huge
parameters which I am opposed to but I think the IT director wants REST,
I
believe, so we will see.

On Mon, Jan 24, 2022 at 5:01 PM Jay Vaughn <jeffersonvaughn@xxxxxxxxx>
wrote:

John,

From my experience, and maybe things have changed but... IWS requires
*PCML. That trickles down to the coding in RPG programming.
It is an unnecessary piece in my opinion, but is meant to help alleviate
the complexity of the parm passing to the webservice pgms.

I'd rather work directly with the contents of the request... And that
can
all be handled in a single "landing" program that then feeds native
children pgms
a simple json request parm that any less experienced IBM i dev can
handle,
as long as they can at least learn to work with the JSON.
From what I've seen in ILEastic, the programmer needs to be well
acquainted
with http methodology. And keeping with the theme of
challenged programmers, that will be difficult to get them to work with.

Apache is free and fast. It is simple to deploy an http instance with a
single program call.
Throw in the "landing program" and you can quickly have your old school
devs writing webservice pgms.

Here is how easy it is to deploy the server...
https://github.com/jeffersonvaughn/ibmi-create-apache-http-server.git

Jay



On Mon, Jan 24, 2022 at 3:43 PM John Yeung <gallium.arsenide@xxxxxxxxx>
wrote:

On Sun, Jan 23, 2022 at 9:14 PM Jay Vaughn <jeffersonvaughn@xxxxxxxxx>
wrote:

Using an Apache server instance works well and is very fast.
Very simple to setup and effective using it for REST architecture,
especially in those shops with old school rpg programmers.

Help your staff out by writing a simple “landing” program that
offloads
the request from the server then looks up an appropriate native rpg pgm
to
call passing it two parms. 1) in = request json 2) out = response
json.

Your team can write simple rpg pgms that accept this request parm,
parse
it with sql json function, then produce the response packing it back up
with sql json functions.

Your devs never have to interface with any http stuff at all. They
just
need to learn how to work with json. And between data-into, YAJL, sql,
they will get by just fine. My suggestion is to use the sql functions.

I would choose this over IWS over ILEAstic any day.

I know basically nothing about Apache, IWS, or ILEastic, so I'm
neither a fan nor detractor of any of those.

But, given that IWS and ILEastic seem to have gone out of their way to
allow you to sidestep Apache, clearly some people thought they could
provide significant value over using Apache, particularly for RPG
programmers.

So what, in your opinion, makes Apache so much better than the other
two? Is it easier to write the "simple landing program" against Apache
versus against IWS or ILEastic? Or are you saying that (Apache + your
helper interface) is so much better than (IWS + no helper interface)
which in turn is better than (ILEastic + no helper interface)?

John Y.
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2024 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.