I did think this was a clean way to do it when I saw that one posting.
Until then I didn't even know this was an option. It also is very close
to how the WAS server works for java apps. There is an environment
setting for the was instance that defines the library list. Thanks for
the example code as that was what was missing from the IBM link.
-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [
mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Shane_Cessna@xxxxxxx
Sent: Thursday, June 07, 2007 11:27 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Library list control and net.data and RPG CGI apps
Mike,
The way I've done it is in the Apace HTTP server configuration for each
application...like so:
<Location /cgi-test/ewo*>
AuthName "EWOS Login"
AuthType Basic
UserID %%CLIENT%%
PasswdFile %%SYSTEM%%
Require valid-user
SetEnv QIBM_CGI_LIBRARY_LIST "SMTP;NALCUSTOM;CCSDTA;"
</Location>
Shane Cessna
Senior iSeries Programmer
North American Lighting, Inc.
217.465.6600 x7776
"Mike Cunningham" <mcunning@xxxxxxx>
Sent by: web400-bounces@xxxxxxxxxxxx
06/07/2007 10:00 AM
Please respond to
Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
To
"Web Enabling the AS400 / iSeries" <web400@xxxxxxxxxxxx>
cc
Subject
[WEB400] Library list control and net.data and RPG CGI apps
For those of you who are using net.data and/or RPG CGI how do you
control the library lists the Apache jobs have from a perspective of
production vs development apps? So far we have used the ADDLIBLE command
in the CGI app to be sure the correct libraries are in the list. This
technique is not the best as a production user could run an app that
adds PRODUCTION to the library list and then the same apache job could
run a development app that adds DEVELOPMENT to the library list. The
production user then submits a request and DEVELOPMENT is at the top of
the list and that apps calls/opens objects in DEVELOPMENT.
I know we need to change how we do this, just looking for the best
option.
One person here thinks the best option is to be sure that the first
thing all net.data or CGI apps do is the ADDLIBLE and then before ending
do a RMVLIBLE for any libraries added. That would work until one of
these apps failed and never did the RMVLIBLE.
Another idea was to use CHGLIBL at the start of each app to set the list
to what that job needs. Could be a maintenance issue if that library
lists needs changed.
The first two both have the problem of someone moving an app from
development to production and forgetting to change the *LIBLE commands
to the right values.
Third idea was to replicate the base IBM QHTTPSRV subsystem under a new
name and setup the JOBD in the base IBM subsystem to use production and
the replicated one to use development.
Forth idea was to still have one subsystem and create new instances with
one listening on 80/443 that would use production and the second
listening on 81/444 and use development but since both these instances
would use the same JOBD they would have the same initial library list so
we are not even sure of this would fix the problem.
Then ran across these other alternate suggestions...
http://209.85.165.104/search?q=cache:CzyDHudipZYJ:www.mcpressonline.com/
mc%3F128%40%40.6aea2555!SearchMark%3D.6aea2555+RPG+CGI+LIBRARY+LISTS&hl=
en&strip=1
Has anyone found the best-of-breed technique for dealing with this
issue?
As an Amazon Associate we earn from qualifying purchases.