The iSeries blog - A Search400.com blog

The iSeries blog:

 

A Search400.com blog


The latest iSeries opinions on systems management, programming, Web development, recovery, security and more.

EGL Cafe open: Are you ready for a new language?

Over a year after IBM’s new Enterprise Generation Language (EGL) was launched, and following IBM’s own iSeries EGL tutorial publication, the EGL Cafe has opened. The site launch occurred after IBM’s Rational Software Developer Conference (RSDC) last week in Orlando, Fla.

New to the blogosphere (but not to i), Joe Pluta has launched his own EGL and i blog on the site. Pluta’s June 11, 2008, entry expounds the potential of EGL to help i developers everywhere:

By combining a procedural syntax with the concept of hiding complexity, EGL does what i developers have been asking for: it gives them a clean, consistent way to write web applications where they can concentrate on the business logic rather than the plumbing. In many ways, EGL is the spiritual successor to the 5250. While it far surpasses the 5250 in rich user experience, in many ways it’s as easy, if not easier, to use than the old green screen SDA. Combine that with a carefully crafted and deceptively simple CALL Interface, and EGL does for the web what display files did for the green screen.

And it’s clear that Pluta has been on board the EGL bandwagon for some time. In April 2008 he published a lengthy article explaining the niche the new programming language fills: Developing EGL Applications for the System i. In his EGL and i blog, Pluta explained that he intends to help i users learn how to work with this new language while taking advantage of their years of business logic experience.

… i shops already have business logic — logic that they’ve spent years (even decades!) developing — and the best initial use of EGL in those shops is exposing that logic, either directly as browser-based web applications or — moving to the true SOA approach — as web services that can be consumed by other internal and external clients. Then, they can combine that newly enabled business logic with all the rich application features of EGL to create new integrated applications they never dreamed of.

And my goal will be to explain how to do that quickly and productively.

If you’re saying, “Hold on a second? What’s EGL again?” You might find the video interview with EGL language architect Tim Wilson helpful.

But, if you’ve been paying attention to this new language, let us know. Leave your comments about your feelings, insights, or opinions about EGL. If you have experience using EGL on i, consider submittng a Tip!

On the INITIALIZE statement

The iSeries COBOL programmer explains how to use the INITIALIZE statement for the System i. This is an add-on to an earlier post that had some errors in it, but the new post has corrected them to explain the importance of the function on the platform.

As an example, the post looks at fields within working storage, describing how the INITIALIZE field is meant to reset all of them to either zero if they’re numerical fields, or a space if they’re character fields.

Managing System i application memory can be tricky

The way that RPG handles files on the System i requires intricate knowledge of how RPG works in order to make sure that references to a certain record field point where they should.

iDevelop has a good post outlining how pointing to the first of a sequence of fields in a record might be a risky venture. It explains that the data should be defined within a data structure in RPG to ensure “contiguous storage.” Check it out.

Working with the Integrated File System (IFS)

Check out the “Odds and Ends” column on IT Jungle looking at different issues in dealing with the Integrated File System (IFS).

RPG’s backward compatibility a mixed bag

RPG expert Paul Tuohy says the longtime programming language — whose history dates back to the days of punchcards — is anything but ancient and insists that IBM won’t let it die off.

But there are problems, he said. One of them is backward compatibility. What? Being able to run an RPG program from 30 years ago on today’s System i machine without having to recompile is a problem? Well, yes. Because it works, people are slow to adopt change, and are therefore not taking advantage of the new developments IBM has done with RPG.

Tuohy added that newer technologies like Java should be working in concert with RPG on the System i, not as a replacement. Tuohy suggests using Java to tweak the interface but keeping RPG to handle all the business logic, which he said it’s so good at.

A little history lesson on punch cards and RPG

Jon Paris over at iDevelop, a blog of the IBM Systems Magazine Web site, gives a little history lesson regarding RPG and punch cards.

The impetus was a little back-and-forth at a recent Common user group event that had Paris thinking that a lot of people in IT don’t know the background and history of the technology that they’re using. Paris goes into some detail about how RPG today reflects the use of punch cards in the past (for example, in the use of the word “zone” in RPG). He also makes an interesting calculation regarding punch cards and digital music files. Check it out.

Websydian announces CA Plex web development tool

Programmers will have new model-based development options when Websydian Web Developer+, the web client for CA Plex, becomes available in December, says co-developer ADC Austin.

According to ADC Austin, this “new development tool enables CA Plex development shops to make direct HTML deployment of existing applications without development, as well as deployment of new applications in a standard J2EE Web server environment.”

Websydian Web Developer+ is currently in a limited beta phase, but will become generally available in December through Websydian, ADC Austin and a network of Websydian and CA partners.

RPG isn’t the only System i language

The System i Network has a good column about how there are other languages that the System i can support. It doesn’t have to be all about RPG.

Why is that important? Not a lot of colleges out there are teaching RPG, that’s why. If you want to lure younger people to the benefits of the System i, the notion that you have to know RPG to run it isn’t helping.

Back to the future

I remember very distinctly, the day I was told about a new technology that would someday be commonplace. It was a perfect weather day in northern Alabama, 70 degrees and not a cloud in the sky.

This “new technology” was a common database and the most efficient language on every platform that every system automatically understood and could execute. I was standing outside of a building in Madison catching a cigarette, and to say the least, I was skeptical.

Our PC tech was a big burly guy who “sort of” knew what he was doing. I never said anything, but whenever he got over his head, the big boss would meet me outside in the smoking area and get the solution to the problem from me, so as not to embarrass him. His father was an old timer with the company and could probably have had some political pull if we had embarrassed him, so we did what we could to keep the peace.

Back when I smoked, I made the trek outside a few times a day. This particular day, Mr. Old Timer was outside sitting on the steps in the shade reading a trade magazine. It had an article that was all about the future of the Internet. Mr. Old Timer took great pride in attempting to one-up me any chance he got. He was preaching to me about how the path to the future would lead to every single operating system in the world running a single programming language.

He boasted about the author who knew everything there was to know about IT and how we “kids” knew nothing. The author stated very clearly that this new language would be the most efficient language on every machine in the world.

I spent my 10 minutes listening to him spout about how every machine and operating system in the world was so much better than anything IBM had, and how much of a dog OS/400 was. I laughed, smiled and flicked my cigarette butt about 30 feet and right into the ashtray as I pulled open the door to go inside without saying a word.

Now, I said all that to say this: Back when I started programming, almost all programs were interpreted. Internal program data was clear-formatted text with tags to identify what the data was and how to use it. We entered a basic program as text file and saved it to tape. Then we ran it using the interpreter and the tape drive. We built these wonderful tags that we used to identify program data read from an external file so that we didn’t have to store the data in the program because we didn’t have much memory. We had a limitation of 8K for any runtime module including loading of the source.

Some of us were lucky enough to have a 32K expansion interface where we could store most of the data file information.

Later, when we had disk drives and much more memory, we could write real programs and actually compile them into an executable. We stored data in packed formats to save disk space and compiled our programs so they ran fast. What a world it became. Machines kept getting bigger and faster and those of us who knew how to save space and write compact code with small databases were kings. Then came the hardware revolutions. Memory got cheaper and disk space was almost thrown away. Why pack your data and compress out blanks? Disk space is cheap…

Now look where we are. Not much is compiled and compiling really doesn’t do much for efficiency. It’s not unusual to have programs that are larger than my first fixed disk drive, all 2 megabytes, partitioned into multiple drives, of course.

Now, when we want to store data and transmit it across platforms, it goes into an XML document, which is… our original text file with tags identifying the data and its use. The language is usually some form of Java, JavaScript, VB Script, Perl or something that has to be compiled because it is actually platform specific (efficient).

I guess the guy knew what he was talking about because certainly there is only one operating system, Windoze, and only one computer language today, Java. Go figure. I guess when they say “what goes around, comes around” they aren’t kidding.

Of course, I wouldn’t know. I’m just a flunky programmer.