× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



heh heh... maybe the World will come to us? Wouldn't it be grand if XML was a part of RPG?

If we ask for it, will it happen do you suppose?

I mean, surely your experience can't be unique, only early. Whom among us will not be faced with your tasks before another two years pass?



Larry Ducie wrote:
Hi Booth,
<snip>
I am curious Larry. I believe I understand your comments, but I do not
understand where you are going with the discussion.
</snip>
I'm not sure either. :-) OK. Let me give you an idea of where I'm coming from: For many years I coded in RPG400. To me the whole computing world existed
within QSYS.LIB. Apart from the odd need for documents stored within QDLS
for FTPing to remote sites, there was simply nothing else. By 2001 I was a
senior programmer for the central development team at JBA. I was doing all
kinds of clever stuff and I totally loved it. I was the master of my little
world.
Then... I left the ivory tower at JBA to get some "real world" experience at a user
site. Here I cross-trained to RPG IV - I wasn't taught ILE because somebody
at the company did something really bad with *NEW activation groups and ILE
was banned! Nevertheless, I totally enjoyed working in RPG IV - it was like
RPG Max.
Now, about mid 2003 we had a requirement to interface with a new warehouse
management system. This system was to run on a web application server, using
an Oracle database running on a Sun Solaris machine. The requirement
stipulated that all communications was to be via XML. I was co-opted onto
the team because I was deemed "the most technically minded" and I was sent
off to generate XML composition/decomposition software. Cool right??? Well
yeah, it was - but RPG just wasn't the right tool for this particular job.
I'm not saying RPG can't hack it because it clearly can. I'm saying that I
had to start from zero knowledge about stream files and I had to develop
fully functional code to work with XML. That meant that I really needed to
use software that conformed to some kind of accepted standard. Our
department wouldn't stump up any money so that meant one route - open
source. As you can imagine, any google of open source XML software gives you
about 1,000,000 java sites to each RPG site. So, most of my initial efforts
was spent trying to understand XML and parsers by writing java code on my
PC. It was only once I had got to grips with this whole "other world" that I
was in a position to tackle the job of translating what I had learned "on my
travels" back in QSYS.LIB. I couldn't simply port my java code onto the
iSeries. I did do this - the solution used java and xslt. It worked like a
charm, but was a little slow (due to the fact that I was told any java code
must be called from RPG!!!). But, as it turned out the other programmers did
not understand any of it so I had to find a solution in RPG. Bizarrely, this
involved using full ILE - I learned it in my own time and got the IBM ILE
RPG Certification at my own expense. This gave me the backing to tell my
managers that I simply had to use ILE to get this solution working. They
caved-in and allowed it.
Thankfully the world consists of generous people like Scott Klement, Jon
Paris, Bob Cozzi, Joe Pluta, Barbara Morris, and many, many others. I found
this list and clung to it like a life raft for months. My efforts were made
much easier because the way stream files are handled on the iSeries is the
very same unix system interface functions I had read in the many books I
purchased when researching XML. To my utter astonishment the iSeries is MUCH
MORE than QSYS.LIB. I found a whole arena within the iSeries which was
comfortingly familair - the root file system and QSHELL. Suddenly, I could
read notes meant for java developers running code on a unix machine and,
with a little tweaking, get similar results on the iSeries.
Anyway, my point... I feel that RPG is an extremely powerful programming tool. But sometimes I
feel its very power limits the developers that work with it (me included).
It wasn't until I ventured outside RPG that I fully realised how much it did
for me! That is a double-edged sword. Within RPG it doesn't matter, as it
never had before. Outside RPG I was exposed because I didn't really fully
understand how I did what I did. The F-spec is a perfect symbol of this -
the one-line database panacea. It is a fantastic tool, but I understand
nothing about any RDBMS by using it. Working within RPG this doesn't matter,
but when I venture outside RPG it really, really does. So, I suppose talk of
another F-spec solution for something which is extremely complex and diverse
gives me the jitters - it makes me feel like I'm getting put back into my
RPG box. This is felt even more when there are tools on the iSeries already
available. :-)
So, this discussion is probably not going anywhere. I just think we
sometimes need to look outside RPG for solutions. Doing so provides us with
other views of the programing world, and also teaches us to appreciate the
power of RPG. I am no longer a RPG programmer - I am a very proud iSeries
programmer. RPG is one very important tool in my toolbox. But I now have
more than just a hammer. :-)
Cheers Larry Ducie


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.