IBM's "WebSphere or nothing" approach and suggesting that more people would
update more applications if IBM would support CGI (CGIDEV2 and other
options) within the tools to give people a lower cost of entry to the web
world.
The problem is that you've got RPG programmers who have been working in
RPG and CL and probably nothing else for 30 years, then suddenly they're
in a position where they need to show that they can efficiently make GUI
apps or they'll be looking at replacing the system with Windows.
So now what happens? Following the IBM party line, they have to basically
start over from scratch, learn Java and the other details like servlets,
XML, etc. The result is software that runs at a fraction of the speed,
has an ENORMOUS learning curve because they've got to learn at least one
completely new language, etc.
It's easier and cheaper to buy a package for Windows, and hire some
Windows programmers to maintain it. Doing it this way, the project will be
done quickly, and you won't have to wait for the learning curve since the
Windows programmers are used to GUI programming.
Of course the software may not fit the business needs as well as they
would if an iSeries programmer had done it... plus teh OS sucks :)
If IBM made it easy and intuitive for RPG people to write web apps,
WITHOUT having to buy separate software at additional expense, and without
expecting the customers to also do that they'd have a much better chance
of competing.
Of course, CGIDEV2 does that now, today. Unfortunately, IBM's support for
it isn't very good and comparitively few people even know that the option
is available to them.
As part of the piece I'd like to include some specific, and preferably
practical, suggestions as to enhancements that IBM could make.
I also don't like the way that CGIDEV2 is designed. It exports a lot of
functions that aren't related to CGIDEV2 that cause conflicts if you
happen to be using the same functions elsewhere. The 'ERRNO' subprocedure
is an example of that... A large percentage of my applications use the
various unix-type APIs, and none of them can be integrated with CGIDEV2
because CGIDEV2 exports a procedure called "ERRNO" that creates a
conflict.
Likewise, they've got definitions for the IFS APIs in the CGIDEV2 /copy
file. That conflicts with any app I already have that uses those. (And
they didn't even do a good job with the IFS API definitions... using
variables instead of constants, etc.)
Personally, I'd like every routine, constant, data structure, etc in
CGIDEV2 to contain the prefix "CGIDEV2_" i.e. instead of updHTMLvar(),
call it CGIDEV2_updHTMLvar(). If every bit of CGIDEV2 that's exported and
available from other programs has that prefix, there'll be no conflicts.
Also, don't use names like "HSPECS" "TEMPLATE", etc for the /copy members.
Use a meaningful name!!!
Also, there's absolutely no reason why QC2LE has to be in the binding
directory in the H specs when working with CGIDEV2, so why the heck is it
in the /copy member? Just because you needed that when compiling
CGISRVPGM2 doesn't mean that your callers need it! Not that it hurts
anything, mind you, it's just confusing to have unnecessary functions...
it confuses programmers into thinking it's necessary when it's not.
These flaws lead to other people creatig their own CGI service programs.
I know that Bob Cozzi and Brad Stone both have their own alternatives to
CGIDEV2. Personally, I do use CGIDEV2 but I have to have a srvpgm that
acts as a wrapper to avoid the name conflicts...
Since so many people do it differently, it'll never be "required knowledge
for RPG programmers". For example, you can reasonably expect that if you
hire an RPG programmer, he'll know how to use the CHAIN op-code. You
can't reasonably expect that he'll know CGIDEV2 because it's a separate
option, and because so many different alternatives exist.
That makes it seem like GUI apps in RPG are something of an afterthought,
once again making it different for RPG programmers to compete with
Windows, Java, Linux, etc programmers.
Not sure if what I'm saying is constructive or just a rant :) But hey, at
least it's food for thought...
As an Amazon Associate we earn from qualifying purchases.
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.