There is a long story behind all of this, some of it told in a couple of 
IMHO articles, which, if you are having trouble sleeping some night, 
starts here:
http://imho.midrange.com/2007/06/08/system-i-evolution-part-1/
The original system that we were involved with was a product called CIMS 
which had a before-its-time menuing system called ACS (Application 
Control System).  The menuing system was developed on the S/34 and 
migrated and enhanced over the years. Each menu was a subfile of menu 
items, each of which was individually defined and pointed to a program 
technical definition (also individually defined).  The sweet part of 
this structure was that the program technical definition would set 
things like the library list and program options (switches).  Then the 
menu items would reference these program technical definitions and the 
menu items could control things like whether the program could only look 
at data vs a full CRUD.  In that way you could have multiple menu items 
running the same program but operating very differently.  The menus 
themselves were assigned to groups and as users were added to the groups 
those menus and the items on them would become available.  Further, a 
specific user could be assigned to menu items so the user would have 
both the specific items and the groups menu items available.  It made 
for a very flexible, easy to manage system.
When we discussed how we could move the 5250 based applications to the 
"web world" our first challenge was to design the same, flexible, 
menuing system for the web.  But, since we didn't have source code to 
the original RPG programs we knew we would have a lengthy development 
cycle and would only be moving a few key applications at a time to the 
web while the users would still be running, by and large, 5250 
applications.  The problem here was coming up with a "unified" approach 
so that the users would have one login to the web based menuing system 
and yet could still run the 5250 applications "seamlessly": Without 
jumping from a 5250 emulation session back to the browser.  I already 
was involved with tn5250j so I developed this servlet based application 
that would serve up 5250 sessions.  The user would log in once, then we 
would launch the 5250 session "under the covers" so that the user could 
just chose the menu item and run it.  Some menu items would launch a 
Java servlet based application, some would launch an RPG-CGI based web 
application (Nathan Andelin wrote that piece) and some would still run a 
5250 application.  The users were presented with one menuing system and 
were insulated from all the "back end" stuff.  It was pretty slick.
web5250 was not used in the final cut because of some of the issues I 
have already raised about it.  We used tn5250j as an applet, which had 
it's own downside, but the users were insulated from the details.  They 
really couldn't tell the difference between web5250 or the applet anyway 
and the menuing system launched all of them pretty seamlessly.
So that is the basics of the solution. The web based menuing system was 
using a proprietary framework so I couldn't release it open source 
(although I'd love to recreate it in Java and make it available some day).
Again, as soon as I can, I'll package up the source and make it 
available (we are making Christmas cookies at the moment so it may be a 
few hours before I can get back to it).
Pete
Aaron Bartell wrote:
I have a customer that something like this would be perfect for.  They 
have been struggling through CGIDEV2 for awhile and going "back to the 
basics" of green screen type programming while still getting a browser 
presence would probably fit the ticket perfectly.  I would have to make 
some changes first like not having them start on the OS400 login page 
and instead allow them to run programs under a generic profile until 
they were ready to sign in, but I don't think that would be too hard.  I 
would also play with the css some to give it a more "web 2.0" look (to 
please the insurance agents that would be using it).  There are only 
about 50 to 60 users that would be using this 5250 web application on a 
spankin new 520 with 4GB of memory - would be interesting to see if the 
load was too much if ran under Tomcat.
Pete, did the menu system you created have similar needs to the approach 
I described?
Aaron Bartell
http://mowyourlawn.com
Pete Helgren wrote:
  
I haven't tried to "scale" it.  It would probably be similar to having 
tn5250j on the desktop with many sessions open.  Haven't looked into the 
internals of 5250j to see if there are limits.  Probably should take a 
look at the "expense" of each connection.  I only have to deal with one 
object in tn5250j, the 5250 protocol bean, all of the other stuff I am 
insulated from so it might take some digging to unpack all of the issues.
Much of this was written early on in the AEE development cycle Nathan.  
We eventually settled on using the tn5250j applet because it was more 
stable and complete.  I saw Joe's post about PSC and I wonder if 
something very similar to web5250 could be written in RPG.  It would 
probably be something worth investigating.  The biggest issues I had 
were with function keys that triggered browser functions, rather than 
the 5250 functions but I was a complete noob with Java, Javascript and 
css (which could be helpful) so there are probably better approaches I 
could take now.  I need to blow the dust off of this I guess.  I haven't 
had much interest in the project although I get a connection or two 
under the Demo userid every week.
Pete
  
    
  
As an Amazon Associate we earn from qualifying purchases.