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.

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.