RPG Ports from AS/400 to Linux? 38
Spacemonkey
asks: "So, IBM has finally ported Linux to run on their veritable plethora of hardware. Sounds like a real solid commitment to OSS, right? Well, the devil's in the details, however. After spending several hours searching on the Internet, I could not find one single implementation of the RPG ? environment on Linux. So IBM really wants to run Linux on their machines, but what if you want to run your AS/400 applications within the Linux space instead of OS400?"
"So now come the other questions, fast and furious:
- Is it possible to run the RPG environment within Linux?
- Can it be done on x86 hardware?
- Are there any legal restrictions on doing the port?
- If it has been done, where's the beef?
Yes it is possible (Score:5, Informative)
Re:Yes it is possible (Score:4, Interesting)
Re:Yes it is possible (Score:1)
What version of RPG did it convert (RPGII, RPGIII,
RPGIV-ILE)? Probably RPGII since it had the
smallest feature-set.
Do you have an example RPG program that was
converted and its associated output? I'd love
to see it.
Terry
Re:Yes it is possible (Score:1, Funny)
More reliable? (Score:1)
Re:Yes it is possible (Score:1)
Overrides, UPSI, LDA and externally defined files are only some of the things you lost going to Linux. Did I mention losing the integrated DB/2 database?
OS400 commands follow a reasonable naming convention; it's not burdened with the randomly named legacy set that the various Linuces/Unices have accreted over the years. That makes OS400 easier to learn and use than Linux.
The remark about more reliable and proprietary is simply a troll and I shan't rise to the bait. A posting i
Re:Yes it is possible (Score:2, Interesting)
In fact the database port would probably be easiest using java/jdbc, I would imagine you could write the code to do this within a week.
On the shell front, I think it would be a neat but pointless thing to port QCMD to Linux, instead of starting bash you would start QCMD
Re:Yes it is possible (Score:1, Informative)
A new tool called RIO (RPG Into Objects) converts RPG source to Java classes or C++ programs and includes a set of support classes that simulates functionality specific to RPG in an object riented
(OO) kind of way. This makes learning Java or C++ easier and lets programmers retain their business logic. RIO helps you more easily enable your legacy applications for WebSphere development, e-business, or the latest technologies and rogramming techniques. You can get more information on RIO at
http://www.asc-iseries.com/rio.htm .
SOL? (Score:2)
On the other hand, IBM may port it over one of these days. Until then you're probably stuck either:
1: Not running linux on your ISeries/AS400
2: Running linux LPAR'ed next to OS400
3: Getting real and just buying a seperate Linux box to run those Linux apps (which is, I know all too well, not always a viable choice for political or financial reasons)
Alternately you could re-develop everything using any of the variously popular programming languages available on the Unix/Linux platform: Perl, Python, C, C++, ObjectiveC, Java, Lisp, Scheme, Dylan, Prolog, Cobol, Smalltalk, Fortran, Ruby, Rebol, PHP,
does RPG assume a DB ? assume 400 HW objects? (Score:1)
it is tried to a DB?
(substitute PostgreSQL, InterBase, etc.)
tied to the 400 (OS or Hardware) and (Database or Objects)
It has ACLs on everthing, right?
Is it one of those data dictionary OSes (pick)?
Re:SOL? (Score:5, Informative)
YES, NO, MAYBE (Score:2, Informative)
These software packages are "complete" OS envoriments, running under windows or unix.
-or-
Look at Lansa...
Designed in the AS/400 world, look is CLish. But can deploy into client/server -- win/400, win/sql, web/400, web/sql.
Will IBM support RPG under Lunix? My guess is no. RPG and the supported CL would all have to be supported (see above) then why not as/400 cobol, c,
If you are wanting to leave the 400. Look at the above. If you are wanting to mix Linux into a as/400 shop: LPAR and use the best in both worlds.
Re:YES, NO, MAYBE (Score:2)
Re:YES, NO, MAYBE (Score:3, Insightful)
This is an RPG/400 compiler for Unices including Linux, based on much older Unibol versions (read: mature and reliable!).
Also, have a look at http://www.well.com/~jax/rcfb/as400.html - links all about Open Source and the AS/400.
PASE (Score:1)
Nethack on AS/400 (Score:4, Funny)
soviet percussive maintenance (Score:2)
Re:Nethack on AS/400 (Score:1)
Why run RPG? (Score:2, Insightful)
If you are going to make the change from OS/400 to Linux, convert your programs to C or even COBOL as suggested earlier. Or continue running it under OS/400. OS/400 is a fine OS regardless of it not being Linux.
If you want/need to change to Linux it is for a reason, and that reason is almost surely to be written in C, so make a full change.
It seems silly to me to change OSes and want to run the exact same programs that (should) run fine under OS/400. Maybe if you could explain WHY you need to change, suggestions would be a little easier.
Vertical
Re:Why run RPG? (Score:3, Insightful)
Except massive amounts of code that have been tested for bugs in the region of hundreds of thousands or more manhours.
--
Evan
Re:Why run RPG? (Score:1)
Re:Why run RPG? (Score:2)
Eh, that's where you get into the the reasons why people stick with big *nix and their associated systems - they are stable as hell, and defined to the nth degree. When you reimplement on a new system, you go to the several bookshelves of complete documentation on *every* detail. When you're done with the implementation, it runs everything perfectly. That's why Ada, Cobol and friends are in use.
--
Evan
Aahhh. The memories. (Score:1)
The soothing glow of the green screen with the login prompt permanently burned into the screen.
The reassuring, desk rattling thud of the keyboard solenoid.
The green bar spewing as the 3000 line report prints one line per page.
The massive template worksheets and counting tiny squares for hours on end.
Those were the days......
Whoa!
Whoa!
Whoa!
Bad trip! Did someone slip a lid into my coffee??
IBM Rochester would have fits (Score:1)
Google provides some good links for RPG to COBOL [yahoo.com] and JAVA [yahoo.com]. There is also the option of Baby/ISeries [calsw.com]. The GNU RPG [nacs.net] compiler has been a bit of a disappointment.
My personal preference would be for a convertor to take RPG/COBOL/CL/DDS and spit out either JAVA or C and SQL. Actually I wouldn't mind doing this but I'm not going to do it on my own time, hint
Yes there IS an RPG compiler for Linux (Score:2, Informative)
RPG non-native compilers (Score:1)
If I remember my AS/400 coding (Score:2)
Could it be done? probably. The AS/400 O/S was implemented as part machine language and part PL/1. There was no CPU in the conventional (read PC) sense in a AS/400, more like a software (microcode) emulation. It might even be possible to run native code binary programs without recompiling. When we upgraded from the S/38 to the AS/400 we only recompiled our code.
The biggest thing would be to emulate the archetecture. For example how screens are handled. Since the AS/400 is a batch proceessing system. It would send data and forms to a controller unit (read node) you would then interact with the controller unit (not the main machine) with a dubmb terminal. Then when you pressed submit it would send all the data back to the main unit for processing. Doing something like file trasfer seems simple until you try to do a program like kermit. There is no such thing as a interrupt on a AS/400.
There were some things I liked about the AS/400 model. Queues for instance (both job and print) you could see what was ready to go, what was running, you could pause, start, resort,move things around very easily. You had lots of control over what was happening. Print queues would tell you what kind of paper needed to be in a certain printer for a print that was ready to go. You could do things like 'print all my taxforms first'
Would it be worth it? depend on what you are doing. If you just want to translate RPG/400 code to somthing more to your likeing, that might be worth it. To totally emualate a RPG/400 & AS/400 in linux would take IBM to do it right.