Maxed Out

Because the System i can run at redline speed all day long . . .

November 29, 2007

V6R1 Program Conversions Much Simpler Than CISC-to-RISC

In order to move to V6R1 of i5/OS in 2008 and use existing applications, customers will need to run a required program conversion process that appears to be fairly straightforward. Many applications, for example, will automatically convert in less than a second. With V6R1, IBM hasn't even announced a shipping date other than early 2008, so what gives with all this advance notice? How hard is this program conversion process going to be, anyway? I turned to IBM's Paul Godtland, who has spearheaded much of the program conversion work at IBM, and Ian Jarman, who is the System i product manager.

Why?

"The main point of the program conversion in V6R1 is to allow us to upgrade software," Godtland said. "We have a unique ability with the machine interface architecture to be able to replace the implementations of programs and yet have them behave the same way because they are still running the same MI operations. So we reached a point where several key aspects of the system could be improved from integrity to performance and also offer new functions."

What To Do

"The biggest thing to do in preparation is that we have PTFs that provide a tool called Analyze Object Conversion, and we'd really like customers to run that ahead of time. It'll turn out, by far, that most programs can be converted without issue, but some older programs from which creation data has been removed won't be able to convert," Godtland explained.

The main point behind the Analyze Object Conversion tool is to give customers time to prepare by identifying any applications that don't have creation data -- a.k.a. "observability" -- and, of course, the time to get it.

"If they have the source, they'll just have to recompile, and if they don't have the source for a program without creation data, they'll need to contact the vendor to get a more recent version," Godtland said.

"Any programs that were created targeting V5R1 or later have sufficient creation data for conversion. So we're talking about programs older than that or any program where the creation data was explicitly removed," he added.

Without Creation Data, You Can't Convert

Most applications will have creation data. "There are programs that were originally compiled on System 38 that will convert for V6R1 just fine," Godtland said. "Someone has to explicitly remove creation data."

If customers moved to V3R6, they had to have had program creation data. "So really, what we're asking is, 'Did someone get the program creation data [back then] and then at some time in the future remove it,'" Jarman said.

Pesky Solution Providers

"Certainly a software provider could have created a new version and then chosen to remove creation data before they shipped it," Godtland said. "But it's less likely that will be [the case] with more recent applications."

Either way, preparation is the key. By using the Analyze Object Conversion tool, customers will know exactly which applications they'll need to have creation data for or which applications they might need to replace. To help with the process, IBM has a Redpaper Draft titled "i5/OS Program Conversion: Getting ready for i5/OS V6R1." Plus, IBM has a dedicated tab to program conversion on its i5/OS V6R1 Preview page.

"By acting now, by downloading the redbook, by understanding the output of the tool, customers can be very confident of their plans moving to V6R1, whenever that may be," Jarman said.

Is It Really That Hard?

"In the past, when we introduced a new operating system, often it was at the same time we introduced a new hardware system that required the new operating system. In this case, that's not the case. The last time we did something like this was in the mid-90s, and people described that process as CISC-to-RISC. At that time, you were doing a hardware upgrade at the same time. So it's very different indeed. Today, as we're introducing POWER6, you don't need to change the operating system -- you can still run V5R4 -- so the hardware is independent of the conversion," Jarman said.

"We're giving all this information well in advance, and because there's no critical date, because it's not tied to hardware, there's no forced march to move to the new release, so people are in a great position to get the facts, understand the issue, and have the time to do the planning that they need," he added.

Even though IBM is offering lots of advance warning and preparation materials, it doesn't mean that program conversion is necessarily going to be particularly difficult for most customers. IBM's just doing a good job of communicating. Of course, for some customers with older applications that are still in use and don't have creation data, the conversion could get immensely more difficult if the solution provider no longer exists or a new version is expensive.

Still Better Than Alternatives

"If people think, 'Why do we have to do this on the System i and i5/OS?', it's worth considering the alternative on other platforms -- because on other platforms, binary compatibility is unusual. If you look over the long term, people have been forced to compile, rewrite, and re-optimize applications for themselves, so we're delivering on one of the key long-term benefits of the System i in the first place," Jarman noted. "If this weren't on the System i, we'd be having a discussion of doing the next round of recompilations -- and that's what we've avoided over the years by having this technology independence on the System i."

Posted by cmaxcer at November 29, 2007 9:18 AM

Comments

"... it's worth considering the alternative on other platforms -- because on other platforms, binary compatibility is unusual. ... so we're delivering on one of the key long-term benefits of the System i in the first place," Jarman noted ..."

respectfully, this reads as IBM double talk to me. Nothing breaks from release to release on the System i because nothing much is improved in the OS.

The system still has the same 16meg space limitations from 1980 and the S/38. Why? Because code might break if pointer size is increased from 16 to 64 bytes.

For similar reasons, the system is stuck with the 10 character object name limit and single byte ebcdic encoding of character data.

Bob Cozzi pointed out recently that the adoption rate of RPG procedures and service programs is in the 30% range. If ILE was improved with reflection type capabilities, programmers would not have to learn the many details of procedure binding and worry about signature violations. Which would increase the use of ILE.

-Steve

Posted by: at November 29, 2007 12:12 PM

While I wish we didn't have the 10 char limit, I think you are crying out on a point that can be worked around and isn't a show stopper. Being able to work around small limitations is what separates objective programmers from others.

An unstable operating system that requires server farms to make up for its instability is a show stopper IMO. It requires you to hire an entire new sector of personnel just to maintain hardware.

Concerning the 16MB limit; I think limitations in memory space have caused more efficient programs to be created. Software developers get sloppy with their memory use the more we're given (I am guilty on this point). Giving us a terabyte space to use for things like XML variables is asking for trouble IMO.

The limited adoption of ILE is a sign of professional negligence in RPG programmers and not necessarily a reflection of IBM. With that said, I also think IBM didn't nip it in the bud as much as it could have and instead allowed the monolithic practices to continue. The acceptance we _have_ seen can be accredited to the very small variety of RPG open source projects out there, the various RPG trade shows the declare ILE as a "must have", and obviously trade rags like this one -- not much accredation can go to IBM for that, which is sad.

Posted by: Aaron Bartell at December 4, 2007 6:13 AM

I'm a 1 man IT department - maintenance, new apps,backups,string E-net cables, install/maintain PC's(hardware also),telephone system programming. I still have lots of S/36 code, all new apps are RPG IV but not ILE; just started to try RSE. Running a 2-3 year old Iseries @V5R3; have 5/4 in house..My point; stability, reliability, ease of migration, ease of managing works for little ol' me in my little corner of the world..gimme that and someone else can worry about needing more than 10 char names and 16 meg addressing and herding (server farms)

Posted by: Dennis a/k/a AS400Guy at December 4, 2007 7:05 PM

I went through the CISC/RISC conversation and it was REAL rough. It took about a half an hour to convert all the programs -- but you didn't have to. If they weren't converted, they just automatically converted the first time they were loaded, which took about 5 seconds, which is about the average client server/net response time, isn't it? Oh, this nasty old 'legacy' system! Desktop programs are just now getting down to 1-5 second load times. The AS400/i-series, etc, has been doing that for 25 years.

In 2001 I was at a client site and they were staring at a VB 5 to VB 6 conversation. The estimate for that was a six month project. Let me see: 30 minutes (w/about 3 minutes of manual work) versus a 6 month project; which one would I choose??

And don't get me started about GUI!!

Posted by: chuck at December 6, 2007 4:30 PM

"...In 2001 I was at a client site and they were staring at a VB 5 to VB 6 conversation. The estimate for that was a six month project. Let me see: 30 minutes (w/about 3 minutes of manual work) versus a 6 month project; which one would I choose?? ..."

why did the client have to convert to VB6? No doubt the VB5 compiler still works in Vista. My guess is they converted for the excellent integration with COM that VB6 provided. And a few years later they converted to VB.NET to have at the improvements it offered.

ILE would be more functional if it had the reflection features that VB6 and VB.NET provide. With reflection, the programmer does not have to bother with binding directories, binding source, signature violations, and procedure prototypes.

-Steve

Posted by: Steve Richter at December 7, 2007 6:29 AM

In case there is interest, reflection as I use the term is the ability of an executable to reflect back information that describes the functions of the executable.

ILE service programs have some relection capabilities. There are system APIs which will list the modules and exports of a srvpgm. What is missing is detailed information of each exported procedure. If a service program could reflect the arguments of a procedure there would be no need for RPG programmers to declare procedure prototypes and /copy include those prototypes into their source code. Instead the programmer could simply specify ( reference ) the service programs the program uses. ( Similar to how a VB6 programmer references COM objects. )

Another technical detail that illustrates how much IBM has neglected the system i5 pertains to the "associated space" feature of the system.

Programs, service programs, data areas, etc ( any object ) can have 16meg space objects associated with them. When you move a program from one library to another, the associated spaces are moved also. Same when you save or restore the program.

A 3rd party software vendor could actually add the reflection feature I am describing to service programs. Just store the procedure prototypes in the associated space. Then use the excellent precompiler support of ILE to automatically include the prototypes in the compiled source.

The problem is the ILE APIs used to read and write service program associated spaces are crippled to the point of being useless. Scrap that idea! Abandon ship. Learn .NET. ;)

-Steve

Posted by: Steve Richter at December 7, 2007 7:46 AM

Post a comment




Remember Me?

(you may use HTML tags for style)

Chris Maxcer
August 2008
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Blog Policy

Our blogs are editorial content of System iNetwork. We welcome your comments and opinions and encourage lively debate on the issues, and we reserve the right to edit all postings for clarity, length, civility of tone, and appropriateness to the topic under discussion. Comments consisting of product or job solicitations and other spam, profanity, and extreme rudeness will be deleted. We also reserve the right to publish excerpts from the blogs in our e-mail newsletters and print magazine.

ProVIP Sponsors