Guest blog post, content by Brad Suther, looksoftware Consultant
Originally published: January 28, 2014 Link to original blog: RPG All Grown Up
Learn more about how to Modernize & mobilize using Open Standards while leveraging your enterprise systems and existing skill sets at our upcoming Able-One webinar! Register
By Brad Suther, looksoftware Consultant:
It’s about 4:20 on a sunny Saturday afternoon and I’m blogging today from a comfortable spot in a little joint called Suther Home Wine Closet (motto: “Stiff Food/Hot Drinks”). The service strikes me as slow until you factor in that it’s self-serve.
Anyway, the lovely weather reminded me of a recent customer site visit where I mentioned that we’re not restricted to 6 character field names like we are in RPG. One of the developers laughed (in my mind his laugh was “maniacal” -- but I might be shading that) and said “Man, it has been a long time since you wrote any RPG.” And, you know what? He’s right.
So I did what any sensible person would do -- absolutely nothing. I waited until my boss told me that I’ll be expected to code some RPG in the new year and only then did I decide I’d refresh myself on the language.
Why would Vas threaten me like that? Obviously, he’s a tyrant, bent on my destruction. It turns out he’s not threatening me so much as he’s preparing me for our introduction of Open Display Files (ODF). ODF is an exciting new technology that, in my mind, bridges the gap between our development environment and the RPG/DDS capabilities of openlook.
openlook enables RPG developers to write applications for web, smartphones, tablets and rich windows apps directly, bypassing the need to use Java, PHP, or any other language. It's all done in RPG. It enables RPG programmers to utilize RPG Open Access (OA) to push XML documents out the pipe instead of the typical 5250 data stream. XML output bypasses many of the restrictions of DDS. Need to write out all the records to a subfile instead of just a page worth? XML can do that. Need to manipulate the list of Counties based on the State Code selected? XML can do that. Need to make columns of data appear or disappear in a subfile? Done. You can manipulate any property of any graphical control from right within the RPG.
I’ve always had high hopes for openlook… but I’ve also sensed a gap existed between RPG and graphical developers. I can almost hear the question: “Sure, I can use RPG to manipulate the graphical object model… but why would I want to?” Well, ODF, by bridging the gap between those two worlds, helps answer that question.
What is ODF? Briefly, it allows a developer (in the newlook IDE) to grab fields from files from the iSeries and drag them onto forms associated to controls. Need a drop-down of State Codes? Drag it, drop it, hit “Go”. Here’s the kicker… the form pushes out its own DDS. Yeah. That.
As if that weren’t enough. ODF uses that DDS in skeleton RPG programs that it creates right in the IDE. Generate, compile, run… right from within the IDE. The tool piggybacks onto openlook so that the DDS generated actually creates XML documents. As you may know, openlook allows you to push out the XML in conjunction and interspersed with typical 5250 data streams right into our client handler. Mix, match… grow with your requirements.
Now I see the whole picture! Use your RPG skills. But do it from within the IDE. Create a form, drag fields onto it, generate DDS (then XML), generate RPG, and modify that RPG to enhance and control the graphical object model. Do it all from the perspective of the IDE… not sitting over in SEU on the iSeries wondering what to do with this new found power. Do it all from within the IDE where the object model is represented and testable. Code, test, debug all from a single perspective. Genius!
Where does one start when one hasn’t actively coded a language for too, too long? In my estimation there’s no place better to start than looking for a Complete Idiot’s Guide. Now, please don’t make the mistake I made with my mother once… telling her we had to go to the bookstore to get her a copy of “A Complete Idiot’s Guide to Emailing”, or some such. It was only upon reading the book title that she realized I wasn’t referring to her as a complete idiot. What kind of child does she think I am? For the record, I blame her.
Anyway… what did I learn about the RPG of today? Well, it’s finally the real deal. The free form nature of the latest version reminds me of any other scripted language I’ve encountered. This is surely by design. I sense IBM wants to grow the language to be recognizable by even the generation of coders raised on JavaScript. Embedded SQL? Done. Descriptive variable naming? Done. No more need for “CUSTID”. Instead we can use “Customer_Account_Number”. Nice.
I know I’m not fully schooled in the ins and outs of latter day RPG. But, I feel like I have more in common with the latest generation of the language than I did spending (too many) years coding RPG II and III. More importantly, I have my books. And I still have friends coding in the wild. And I have customers willing to lend me a hand. RPG coders are a friendly lot, by nature. I intend to utilize those resources as needed. I’ll get by.
In the meantime, don’t let your skills go under appreciated. IBM has taken RPG into the 21stcentury in a big way. And companies like looksoftware are bringing out tools like Open Display Files that let RPG coders manipulate graphical applications using tried, tested, and true programming techniques.
Interesting times ahead…
Learn more about how to Modernize & mobilize using Open Standards while leveraging yoru enterprise systems and existing skill sets at our upcoming webinar!