Thanks for that update, Scott - particularly the point about IBM maintaining backward compatibility - existing programs won't break. From your video I gather that Ian indicated that it's a pretty big deal for IBM to "open" it's I/O architecture.
I wondered about possible similarities with SPECIAL file handlers, but if I/O handlers are defined external to programs, it sounds more like "triggers" or "exit points". Some time ago I was interested in using a SPECIAL file for a utility I had in mind, but was discouraged that the "file" or "record" name (I don't remember which) was not passed as a parameter. Open I/O sounds a lot more promising.
Regarding the 5250 data stream, it has always been difficult to capture & parse. It sounds like Open I/O may be a lot easier and more flexible.
----- Original Message ----
From: Scott Klement <midrange-l@xxxxxxxxxxxxxxxx>
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Sent: Tue, October 20, 2009 5:48:36 PM
Subject: Re: IBM i "Open I/O" Architecture
To the best of my knowledge, Mr. Jarman did not give out copies of his
slides to anyone at the conference.
I would've had better coverage myself, except that he kept droning on
about things that were irrelevant to my life and I was running out of
tape in my camcorder... I didn't know the point at which he was going
to suddenly jump into Open I/O... if I had known, I would've done a much
better job capturing it.
Ian actually didn't spend much time on it (to my frustration), so I
don't know how useful his slides would be to you, anyway.
Like all RPG enhancements, you can count on the fact that it won't break
any backward compatibility. Your existing files will continue to work
the way they always have.
The enhancement basically lets you write "handlers" that are routines
that get run when a setll/chainread/write/update/delete is done to a
file. It's very similar to the existing SPECIAL file support, except
that it will externally defined files, and can use ILE concepts (i.e.
call procedures in a service program) in addition to calling a program.
The expectation is that people will use this support to write code that
interfaces RPG with modern devices like browsers, iPhones (and other
phones), etc, and that it'll be usable as an ordinary file object from
RPG, so no special knowledge is needed to call it.
Personally, I visualize it much like the Windows support for printer
drivers. If you make a printer and want it to be used from Windows, you
write software (a driver) that contains the code to interface between
Windows GDI and the language the printer uses. Therefore, all programs
can write to GDI, and take advantage of your printer.
RPG Open I/O gives that capability to RPG programs. It provides support
wherein you you can write a "driver" (if you follow me) that will be
invoked when using record i/o operations. So an RPG programmer can take
advantage of your particular device (or I/O method of some sort) just by
interacting with it as a regular file.
This mailing list archive is Copyright 1997-2020 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