David Abramowitz
[i>Bob Cozzi wrote: Sure, it would be cool to have integrated CGI/Web built-in functions in RPG IV, but that would have been important in 1998, or 2002, or 2004, or 2006. In 2008 and beyond, it is sort of like adding pointer support to CL in 2006.[/i> There will be many responses to this article, so I may as well start off with mine. For many years, I have advocated developing a simpler native RPG way of working with web pages. This could be done with opcodes as opposed to APIs. Something like EXHTML might suffice. It would have to be accompanied by an SDA-like tool (perhaps as part of Eclipse?) for web page design. If MS can create Front Page express, I figure IBM can provide a tool that could interface better with the AS/400. Other opcodes should also be provided, the key (IMO) here is simplicity. Let the more complex functions be the reason to still use APIs. Dave
tim.johnston@hapco.com
Bob, how does an ordinary Joe like myself get the abiltiy to vote on these potential enhancements outside of COMMON?
C Bougher
Here\'s an idea. How about "freeing" the rest of the specs. In fact, take away all fixed column usage completely. Then I can use whatever editor I want and put my source in stream files on the ifs. This covers all classes except maybe 5
aikidaves
The RFC process could work, as long as IBM puts the right people in charge of it. (In other words, the ones that would recognize that my well-thought-out comments are more valuable than all the chaff submitted by people less erudite than myself. I\'m sure that we all feel the same way, of course.)
Guest.Visitor
Hi, How about an RFC requesting ideas for changes? I\'m sure IBM have quite a few ideas that we can \'vote\' on, but the guys in the RPG community who use RPG on a daily basis must have plenty of ideas that IBM haven\'t yet heard of. If there\'s an RFC for potential changes, then maybe IBM can get some more ideas before throwing the eventual possibilities open to discussion. Martin Gilbert.
J.deCoville
ASP.NET 2.0 is ten-times more effective than issuing CGI-API\'s or many of those other CGI-tools. Also JAVA sucks next to VB.NET in Visual Studio. WDSc 7.0 has a lot of improvements but the source load-up is bad PR for IBM. I also second the motion for RFC requesting Ideas for Changes. It is enormously empowering for the Developer Community but some folks in Editorial Boards have taken it into their heads that we don\'t understand enough to initiate and vote on changes. Or to evaluate IBM\'s changes. We are certainly qualified enough. When the higher-ups in the IBM or Technical Pubs circles decide that they have to decide for us, the I5xx community is doomed. --John
Guest.Visitor
David, Not sure why you keep asking for this when it\'s already been done by several System i tools vendors, including my company. Also, the main reason IBM hasn\'t provided EXHTML is because that addresses only a very small part of the problem of moving from green-screen to web. The major problem is having to entirely restructure green-screen code to work according to the CGI model, where programs drop in and out of jobs as they display pages.
Guest.Visitor
And what does \'effective\' mean in this context? We have many clients running CGI applications on the System i who get incredible performance, scalability, security and reliability. I can send you names. Plus, there are web development tools for System i that are just as powerful (and in many cases easier to use) than Visual Studio.
David Abramowitz
[i>fbloggs wrote: Not sure why you keep asking for this when it\'s already been done by several System i tools vendors, including my company.[/i> IMO you are missing the gist of the article. If vendors have provided enhancements to RPG IV to the point where a rudimentary ability to display, send, and receive data from web pages are a [b>native[/b> part of the language, then I am unaware of it. Dave
Guest.Visitor
Do you mean \'functions provided by IBM\' ? What\'s the difference between that and functions provided by vendors, which has been done. And, as I stated in my last post, it is highly unlikely for technical reasons that you will ever get what I suspect you really want- just changing EXFMT to some other opcode to magically handle web stuff.
R.Cozzi
I think what he\'s saying is that MS spends the hours trying to make their IDE work and be integrated with their language(s). IBM\'s WDSC RPG IV integration feels like a patch or an add-on/afterthought. Some of the "sp" versions of CGI RPG that are our there do a nearly great job of providing similar capabilities for RPG, but those vendors are not Microsoft and thus don\'t have the $$$ to spend. But as I alway say "better" is the enemy of "good". Things can always be "better than", but what we really need is "good enough". VB.DOS, VB.blank, VB.DDM, VB.OLE, VB.OLE2, VB.NET, VB.Vista Funny how some people say RPG IV is "old". It is only 10 years old and yet VB is how old?
Guest.Visitor
Bob, VB 1.0 was released in 1991 while VB 1.0 for DOS was released in 1992 for the QB crowd. I learned it in 1993 as VB 3.0. Tom.
David Abramowitz
[i>What\'s the difference between that and functions provided by vendors, which has been done.[/i> Welllll, for one thing, I don\'t have to prepare a cost justification paper. You may be right, in that it may never happen, but OTOH I\'ve seen some mighty interesting things happen that many people have said would never happen. Some times the only reason things don\'t happen, is that people keep on saying that they will never happen. If you keep on saying something over and over again, and if you say it very loud people will start believing you. e.g. For many years IBM would officially state that there would never be any AS/400 functionality that couldn\'t be accessed from a command line. Dave
Ralph Daugherty
Dave, I think IBM has supplied all they\'re going to supply in whatever Websphere ships with the system. And as any company looking to make more money they want people to pony up more for Websphere J2EE app server while not shortcutting their valuable vendor\'s products either. In addition Java open source software that are what other systems have as the equivalent, such as Sun\'s J2EE app server, are available as Java systems to run on the iseries. Same is true for PHP and other open source Apache modules. However, I believe you are right. No one ever talks about this or publically considers any of these issues in these forums, but if one is geared up for x number of 5250 sessions able to run, then the same number of resident CGI jobs would be able to run. There is direct equivalence in that. Yet what little actual architecture is ever discussed, and because it\'s so screwed up, it\'s almost a taboo subject, presumes the original HTTP assumptions of random viewing by anonymous sources, to be served in a timesharing fashion that leverages x CGI programs times average length of time between page requests. This is all fine and good for serving the masses with static data, but has no relevance whatsoever to a business application session. As we know regarding operating systems, this is even done with resident sessions and running jobs, where currently used sections of programs are mapped into memory while the remainder is cached to disk, at least those of us who remember when 4k slots from a job\'s program would be mapped into precious memory. Now software is engineered so poorly that it requires gigs of no longer precious memory to provide even worse response than we had with 4k slots and megahertz CPU\'s. But what do people like IBM care. They charge you for it. They take the easy way out on lowest common denominator cross platform software to keep their software development costs down and charge for massive amounts of memory and CPU to make it run almost as well as older software. What a racket. Anyway, that\'s all transparent to us. Whether small pages of memory of a shared program used by multiple people are currently in memory along with program variables for each session, or a behemoth JVM memory sucking black hole is in memory for each session, i5/OS(OS/400) has these sessions resident for an expected number of users. And let\'s face it. Also unstated and acted like it doesn\'t exist is that any or all of these 5250 sessions could be anywhere on the net. But go figure. Now we get to web access and all of a sudden people act like it\'s something entirely different. It isn\'t. You have a certain amount of people registered to log in and authorized to certain data. Why would these not be like 5250 resident sessions? Because they don\'t have to be? That\'s a direct space-time tradeoff in that time is taken to remove a program\'s environment and store it away to disk, and retrieve it the next time a web page request comes in from identifed connection, however identified (IP address, cookie data, etc.), this to free up space for a time slot for an access from another web user while the first page is being worked with by that user. But we have an operating system for that memory swapping stuff for resident sessions, so why is it different for processing CGI transactions? So IBM says in their doc, and I am not making this up, that more than four or five CGI jobs can take too much iseries resources, when we routinely have hundreds of jobs running on an iseries. That actually is more than ridiculous, it\'s ludicrous. So why can\'t RPG programs issue an EXFMT that is mapped on the fly to a 5250 session or to an HTTP connection, or to other sockets connections to desktop clients or other systems, and not "drop out" but stay resident until page returns or times out. What\'s different about business sessions like supply chain sessions with business partners than if they signed in on 5250 sessions? Nothing in terms of process. Now if this is already going on with some vendors or Websphere session stuff or whatever, fine, but basically web types say we\'re going to call the shots, we prefer SQL but if you really must do something, then just do it and go away. I see no reason why we shouldn\'t be calling the shots with our logic as we always have, in memory resident programs. It\'s just another client. IBM should be taking EXFMT and making it interface independent as on the fly mapping of the output buffer to appropriate syntax for the destination renderer, be it 5250, web browser, client with XUL, XML intersystem communications, etc. This information should be able to be determined by a standard iseries session naming standard. Websphere sessions would be an important part of that standard, just not the only part of it. rd
Steve.Kiferd
Very true, but I don’t think MS still supports older versions of VB and their push is toward .NET (C# if you please, VB is so grade school). While IBM still supports cough cough the S36 and S38 environments even on a System i5 running V5R4. This has led to complacency and the if it ain’t broke don’t fix it mentality. Until they roll the "legacy" hardware out the door and replace it with a MS solution running on a bunch of glorified PC\'s in a server farm.
DanielFlynn
I\'m still waiting for RPG to be enhanced to allow a call to a SQL stored procedure that returns a result set and be able to access the result set in the RPG, just like the result set from a SELECT statement. When will we ever see this enhancement.
Ralph Daugherty
To add to this, IBM LEAN layoffs (Layoff Every American Now, IBM\'ers say) are spurring lots of discussion this weekend. Only 1300 officially announced, but details from IBM\'ers on Cringely\'s web site running a story on this are not pretty. Most are saying Software is not expected to be impacted much. Global Services is being whacked. I posted here recently how they walked away from a fixed bid Texas contract with enough web this and that buzz hype to make just everybody happy. Unfortunately, the hype turned out not to work. Imagine that. I posted what I could find on it, turned out from the IBM\'ers comments it wouldn\'t have been that hard to find. There were plenty of them. Lots of focus on the layoffs, but in that story is IBM\'s desire to walk away from money losing contracts. They are sending the work to India to apparently either cut costs or either them or the customer cut bait. Or it could all be Cringely\'s imagination. Lots of inspired anonymous posters with inside stories of IBM who agree though. rd
Ralph Daugherty
They gave you a platform. You just used it. But if you wanted room to expand on, they have an opinion column to write up tirades like Joel used to do. :) If you want a conversion from free to fixed and vise versa, you and other like minded programmers can write an open source one. It\'s just text manipulation. ILE CL modules bind in with ILE RPG modules, and with C++ modules. No need for a separate program to perform some CL or C functions from within an RPG program. Modifications made in free in RPG fixed programs I agree is a readability and syntax problem, but free types prefer to just code the one new way. I stay with the same predominant style of the programs being worked on, perhaps with new modules in free, but the switching back and forth within a program or from program to program is not ideal, I agree. rd
avrahamn@coop.co.il
and maybe some of the IBM may adopt. Here I start some of my sggestions: 1. Divide RPG4 into 2 languages. FREE format is just not RPG any more. Why keep it the same name. give also a conversion tool to convert from free format to fix and vise versa. An alternative would be to allow the security manager to specify how programmers should program: Only fixed format; Only free format, or both. Now every programmer needs to learn 2 synatxes which makes it more difficult for newcomers to learn RPG. 2. Long overdo: break the wall between RPG and CL. Imagine using a command like CPYF with qcmdexc. it is cumbersome and hard to read. why not use CL commands in the same way as free format RPG. Why write a separate program just for one or 2 lines of code.
avrahamn@coop.co.il
Ralph Daugherty: "ILE CL modules bind in with ILE RPG modules, and with C++ modules. No need for a separate program to perform some CL or C functions from within an RPG program." In case of CPYF or RTVSYSVAL which are very common commands, it is hard to justify why RPG should make it complicate to use it and not use it in a more natural way. Imagine if to do a function like writing to a file, we should have been calling a separate program or module in a separate source, with parameters. Besides that, I would like to write my own commands, and I am doing it, it is very useful. But since it is complicated from an RPG Program to call a command, specially if the cammand has many parameters, therefore not to many programmers are creating their own comands. As from the application writer there is no difference if You have it in a separte module or in a separte Program. As far as to understand the code, You need to look up another source, that is the main point. Every RPG program has already a few IBM procedures in service programs, when You do dsppgm You could see its, but from the user programmer point, it is just one program (if the program has only one module), and that is what it makes it simple and clear. I would agree if IBM would give us a way how to write naturally CL commands from within RPG and behind the scenes IBM would create separate modules.
[size="1">Code[/size>
avrahamn@coop.co.il
Since the CL Command syntax gives named parameters isntead of just counting the positions. If the program with its parameters becomes complex, it becomes hard to use it. bu the CL syntax allows to have default falues for parmeters, and those prametes do not need to be specified, only if the default value needs to be changed. Imagine a program with 99 parameters. you need to count the spaces and pray that you did not make a mistake. what we hae now, in a ceratin way it is like in the stone age when we did not have an external described file and we counted positions of the file were the information is stored.
[size="1">Code[/size>
Ralph Daugherty
I think the answer to both your points are function front ends. This is a terrific area for community to be able to add function enhancements along lines you suggest, such as for example RPG functions which call CL modules but are front ended seamlessly in RPG. Same with smart handling of parms from which to create a more complex standard parm list. rd
Ralph Daugherty
I have so much work to do, and yet another very interesting Cringely column on IBM I can\'t help but read. The comments from IBM\'ers are so insightful. btw, embedded in one post was something pretty funny about the AS/400: The next harpoon was in the early 70s when over a billion was spent on the FS project - which was eventually killed. After FS, the company pretty much went into a shell and ran in a "maintenance and incremental updates" mode. In fact, in that time frame, the only products of significance that came out of IBM was the AS 400 systems (based somewhat on FS - rumor was Rochester never got the word that FS was killed) and SQL/DS-DB/2. http://www.pbs.org/cringely/pulpit/2007/pulpit_20070511_002058_comments.html
Please login to make comments.
User Rating: / 0
PoorBest 

   MC-STORE.COM