Hi Alan,
And they now run AIX native binary OS on the same metal guts as they
do the the i5/OS, right? (As a non-AIX or Linux guy, me) And AIX and
Linux already have source and binaries that can render graphics on an
ASCII "dumb terminal", right?
Err..  Yes, basically.  Personally, I don't think of an X terminal as a 
"dumb terminal", rather I think of a dumb terminal as being a pure ASCII 
terminal (i.e. no graphics)
But, yes, you're right...  an X terminal just displays what another 
system sends to it to be displayed.  The actual code that runs the 
software is on a server.
Would they have "C-type libraries" on the AIX that support such
rendering of graphics output to those terminals?
Yes, they do.  In fact, those same "C-type libraries" can be run on 
i5/OS under PASE.  Java uses them to render it's GUI screens.  IBM 
always tells you to use VNC to view the output -- but technically in 
that case, they're using the X11 protocol (the one that X Terminals use) 
to send the graphics to a VNC Server running on the same system, and 
then running VNC's protocol to send it over the network.   A bit 
convoluted if you ask me -- but that's just the way IBM tells you to use it.
It's perfectly possible (easy, in fact) to set up an X desktop on your 
PC and have Java (or PASE programs) write their output directly via the 
X protocol.
In fact, I have Cygwin X (a free, open source, X server for Windows) 
running on my PC.  I'm able to run graphical programs on my iSeries 270 
in PASE, and they output their displays to my PC.  You can't tell the 
difference between the Windows programs and the ones running on i5/OS, 
they all interact together on the same display.  To someone who doesn't 
know better, they all look like "Windows programs".   In my mind, it 
works 1000 times better than VNC.
Java programs running natively on i5/OS have the same capability... they 
can run on the '400 and write to the display on my PC.
RPG, C, COBOL, CL... none of these have that capability.  Since the 
actual X11 rendering libraries run in PASE, it's not easy to make them 
work, either.  I'd have to write a C program, compile it to an AIX 
binary, then communicate with it via sockets (or similar) to tell it 
which APIs to call from my RPG program.  Not easy by any stretch.
Of course, I could call the Java routines directly from RPG using RPG's 
support for calling Java methods -- I've been thinking about doing that, 
but haven't tried it yet.  The overhead of Java always frustrates me.
Could someone build one to throughput to some graphics output or
output/input device, like Export Ventures?
Export Ventures has already done so...  they've ported the X11 stuff to 
pure native i5/OS (no need for PASE), but last I heard, there weren't 
too many people using it.
To me, one of the strengths of our platform is integration.  The tools 
need to be deeply integrated.  A complex set of APIs that's not 
integrated into a language is okay, but it's throwing away some of the 
advatnages of the system. I'd like them to be deeply integrated.. RPG 
needs to know that it's working with X11, and needs to make it as easy 
as possible to do so. WDSC needs the facility to design GUI screens 
displayed via X11. The technology is certainly there, it's just not all 
integrated together and easy for us to use.
Same thing with HTML interfaces.  IBM could make a screen designer in 
WDSC that makes it easy to lay out a screen, and knows about input and 
output fields that will come from a program.  They could give RPG the 
ability to easily display those screens.  Right now the closest thing we 
have is CGIDEV2 -- which is very good, but not as integrated.  You still 
have to design the HTML separately, then go back and modify it to have 
the sections and variables, then call extra APIs to get the input, etc. 
 Plus the extra work of creating your own session keys, storing session 
variables, etc. Tell IBM you want this stuff, they tell you to use 
WebSphere or PHP or something like that. "Use the right tool for the job."
As an Amazon Associate we earn from qualifying purchases.