21
Sat, Dec
3 New Articles

Welcome to the New RDi-SOA

Web Languages
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

With the release of Version 7.5 of RDi-SOA, IBM provides the first real vision of the future of IBM i development.

 

With Something Old

and Something New

They Borrowed the Best

And Turned It Blue

 

I realize "first real vision of the future" may ring hollow in some of the more jaded ears in our community, what with all the Strategic Directions and Development Roadmaps over the years, but RDi-SOA Version 7.5 is truly unique in the annals of IBM i development. In fact, along with the 5250 and the integrated database, RDi-SOA may be another first in business application programming in general: in this case, the first tool that provides end-to-end support for developing every possible type of application architecture, from green-screen to full thick client.

The Whole Is Greater Than the Sum of the Parts

And believe me, the parts ain't bad. You may perhaps have read one or two things I've written about WebSphere Development Studio Client (WDSC) over the years, or perhaps more recently some of my experiences with Enterprise Generation Language (EGL). There have been the inevitable rough spots with those tools--and RDi-SOA is not immune to those sorts of problems--but generally, my response has been pretty positive. And over the years, the majority of you who have taken the plunge have agreed with me. For example, very few who have given WDSC an honest try have gone back to Source Entry Utility (SEU) and Programming Development Manager (PDM). There have been some, and anyway I'm not saying anything negative about those who haven't got either the time or incentive to learn the new tools; my point is more that when you are ready to move to new technologies, IBM has provided the tools you need to get there.

 

Not only that, the IBM tool builders have managed to do two things at once, a feat they seem to often find themselves forced into when dealing with our beloved but somewhat schizophrenic platform. In this case, they've managed to, in one release, provide both a better way to do one of the oldest things in the book, and at the same time provide the most revolutionary and cutting-edge tool available in today's programming environment. And that's quite a feat.

 

So which to tell you about first, eh?  I think I'll start with the Something Old part of the program.

 

Finally, Let's Replace SDA Already!

 

After a whole lot of work and no small amount of prodding from the user community, IBM has delivered the Screen Designer. Unfortunately, it's still a technology preview, and they haven't yet done anything to replace the infamous Report Layout Utility (RLU, whose acronym is also said by those who love to hate it to stand for Really Lousy Utility). But as a technology preview, it's in pretty good shape. In fact, as far as I can tell, the only area that really needs work is the testing feature, not the pure editing portion. The editor is in really good shape. Let me show you.

 

120808PlutaFigure1.png
Figure 1: This is the WYSIWYG screen editor. (Click images to enlarge.)

 

The WYSIWYG screen editor is very good. I could actually spend an entire article simply going over the Screen Designer, and to be accurate, I wrote a pretty extensive article back in May of last year when the Designer was part of the Advanced Edition of WDSC. To be honest, not a lot has changed since then, but the product does warrant a serious look now, especially for editing display files.

 

What I like is the context-sensitive configuration pages for keywords. SDA did the best it could to provide a menu-driven interface for entering DDS keywords, but it's nothing like the Properties page concept in Screen Designer.

 

120808PlutaFigure2.png
Figure 2: Entering a keyword such as CHECK is much more intuitive with Screen Designer.

As you can see in Figure 2, Screen Designer takes full advantage of the graphical interface. It lays out all the keywords in a nice alphabetical list on the left, and then as you add each keyword, a special page shows up on the right allowing you to enter the parameters for that keyword. In this case, the CHECK keyword has a whole set of possibilities. Not only is each option enumerated, but putting your cursor over one brings up a tooltip with a brief description of the option's behavior.

So anyway, that's an example of the way that the new release of RDi-SOA caters to our existing legacy technologies. Green-screen programmers fret not; you have not been forgotten! And remember, this particular part of the tool is also available in the less-expensive RDi tooling, which is competitively priced with Application Development ToolSet (ADTS), which is what you have to purchase to get SEU and PDM.

 

On to the Future!

 

But it's not a better green-screen development mousetrap that has me excited. No, the really cool stuff is in the EGL tooling, specifically in the EGL Rich UI technology. I can't overstate the potential of EGL Rich UI. If you haven't worked with it yet, you really need to get a copy and play with it, because it's almost impossible to explain in words or even pictures what this technology does. I will, however, give it my best shot!

 

If you've read my articles about EGL over the last year or two, you'll know that the basic premise of the language is to remove plumbing. EGL is all about encapsulating the parts of technology that you don't need to worry about and integrating them directly into the language. In that way, EGL is very much like RPG and its implicit connection to the DB2 database, except that EGL does this same sort of encapsulation for the entire world of programming and especially Web application programming.

 

For example, the thin client feature of EGL uses JavaServer Faces as its foundation. However, the tool is also acutely aware of the EGL syntax, allowing programmers to write code and drag and drop EGL structures (called Records) onto a WYSIWYG designer, much the same way that SDA understands databases and lets you drop database fields onto the screen, except that EGL lets you drop an array of records onto the screen, and it automatically builds a formatted table--complete with column headings! I wish I could do that with a subfile, but I digress....

 

EGL Rich UI goes a level beyond that. You're probably familiar with terms like AJAX and Web 2.0. Another term that's actually a bit more specific but not quite as popular is Rich Internet Application, or RIA. RIAs are the Web applications that actually act like desktop applications, responding to individual keystrokes (traditional thin-client applications respond a page at a time, more like 5250 programs). The first RIA was probably Microsoft's Outlook for the Web, and indeed the underlying technology of that product, the XMLHttpRequest, is what gave rise to AJAX and Web 2.0 in the first place. The only alternative is to use one of the thick client wannabes such as Silverlight or Flex, in which you download what is essentially a player and then send it huge macros. With AJAX, all the rendering code is in the browser and so is already on the client; you don't have to worry about your user having the latest version of the Silverlight runtime.

 

However, the state of the art of development tools has lagged significantly behind the technology itself. Most AJAX programming is done by hand, and while some frameworks exist to make your job easier, EGL Rich UI is the first true development environment for generating RIAs. That's because with EGL Rich UI, you don't have to code the JavaScript. You write your code in standard EGL syntax, and the tool does all the generation work for you. Here's an example:

 

120808PlutaFigure3.png
Figure 3: This is an EGL Rich UI application, complete with Google Map.

 

The application in Figure 3 is an example of the kind of thing you can quickly write with EGL Rich UI. It's a graphical front-end to RPG business logic running on the i. The entire client was less than 200 lines of code, most of which looked like this:

 

      ui Box { columns = 2, children = [ appBox, debugBox ] };

      appBox Box {

            columns = 1,

            children = [ promptBox, errorBox, orderBox ] };

      debugBox Box { visibility = "hidden" };

     

      // Prompt box - prompt for order number  

      promptBox Box = new Box { children = [

            new TextLabel { text = "Order Number: ",

                  paddingRight = 10 },

            orderField,

            new Button { text = "Read", onClick ::= readOrder },

            new TextLabel { text = "Debug: ", paddingLeft = 40 },

            debugCB

      ]};

      orderField TextField {};

      debugCB CheckBox { onClick ::= toggleDebug };

 

The majority of the code is DDS-like code that lays out the screen. The paradigm for EGL Rich UI is boxes within boxes, which then translates to HTML tables. However, all that work is done for you. And more importantly, it's done using Cascading Style Sheet (CSS) classes rather than embedded formatting, which then allows you to easily modify the look and feel by simply editing a style sheet.

 

The application above even has its own built-in debugging to show the generated code. Since with Web 2.0 the HTML is generated on the fly, it's difficult to see the actual code; this is true of many frameworks. EGL Rich UI, however, makes it very easy to create a standard debugging "widget" and include that widget wherever needed.

 

It should be noted that the current version of EGL Rich UI is best debugged using an external tool, specifically the Firefox browser with the Firebug debugger installed. When I write about the tool in more technical detail, I'll address this particular issue, but at this time you can write code that causes errors that can only really be identified using this tool. That's one of the reasons I wrote my debugging widget. It's not the debugging that sets RDi-SOA ahead of everything else, though; it's the Design view.

 

120808PlutaFigure4.png
Figure 4: The WYSIWG designer is the only one of its kind.

 

The Design mode in the EGL Rich UI editor is as far as I know the first of its kind. While it obviously takes its cues from the other WYSIWYG editors in the Eclipse/Rational tool line, it is unique in the fact that it allows developers to visualize not only the actual GUI but also the underlying source code. Because the code is EGL, the tooling has the benefit of using a common syntax, regardless of the targeted browser.

 

There is one other tool that I know of, WaveMaker, that has similar functionality. That tool is built on top of the Dojo framework and looks to be pretty slick for what it does. However, WaveMaker by definition has a very narrow focus: writing and maintaining the Dojo part of an application. What it lacks is the breadth of the RDi-SOA tooling.

 

And That's What Is Really Exciting

 

With the release of RDi-SOA 7.5, IBM closes the circuit. I can now develop an entire multi-tier application in a single workbench. I can use the RDi tools to build the RPG business logic, then use the base EGL tooling to create a Web service to expose that code, and then finally write an EGL Rich UI application to display it in a browser. My little order inquiry application is probably 600 lines of code all told, and more importantly I don't have to know a single thing about HTML or Java or JavaScript or even XML. All the plumbing is done for me, and about the only thing I need to concentrate on is learning how to do CSS. And really, that part of it is probably best left to the folks who do the corporate Web site anyway; they're probably able to give you a standard CSS that you can use to set fonts and colors and all those goodies.

 

Of course, if you don't have a corporate Web site group (or if, as in many shops, you are that group), then you'll need to learn CSS anyway. But let me at least give you a cool visual that really sums up the something old/something new nature of RDi-SOA:

 

120808PlutaFigure5.png
Figure 5: How cool is being able to run an RIA side by side with editing your display file?

 

Figure 5 shows the epitome of a fully integrated environment. I can not only create a rich client that can consume my Web service, but also create a green-screen application that can call that same business logic. No other tool has the same appreciation of the unique characteristics of the IBM i.

What Am I Unhappy About?

I don't like to write lists of negatives, even as a simple balance to a positive article. I've done it in the past only to find the negatives quoted out of context. I hate that.

But given the rather positive tone of this article, I'm going to take the chance to point out a few negatives. My first negative is actually not an RDi-SOA issue; rather, it has to do with its little cousin, RDi. I just don't like the fact that the Data Perspective is limited to the much more expensive RDi-SOA package. These days, everybody and their brother is telling RPG programmers to get with the times and use SQL. Well, that's kind of hard when you don't have a decent SQL tool. To give someone the wonderful capabilities of RDi as an RPG development environment and then tell them they have to use STRSQL for their database management is...uncivilized.

 

Second, I am no big fan of "technology previews." Granted we've grown used to them, whether it's games that don't work right without patches or operating systems that need a couple of service packs or cumulative PTFs. But that still doesn't mean I have to like them. I suppose it's better than releasing them as production-ready before their time, but how many previews does it take to get to a real release?

 

That being said, I actually agree that this isn't a production tool yet. There are some things in the EGL Rich UI release that will definitely need tweaking. Let me be clear: the underlying conceptual framework of EGL and of Rich UI in particular is as groundbreaking as anything you're going to see in the IT world. But there are areas where the tool needs work. The visual editor for JavaScript is astounding in its audacity, but it's in need of some serious performance improvements. And this is a personal position, but in my opinion, reliance on a third-party software product, even one as accepted as Firebug, is a tough pill to swallow in an integrated tool, especially one with a big price tag.

I have some technical complaints as well; what's new technology without some nitpicks, eh? I hope to address those in a more technical column. However, none of these are insurmountable issues, and the positives greatly outweigh the negatives.

Final Word

This is a little bit of a teaser, actually. The application you see in a couple of the figures in this article will be featured in a book Coming Real Soon Now, written by yours truly. In it, I'll show in detail the steps required to create business logic in RPG on the IBM i and then that logic as a Web service using EGL and then consume it using EGL Rich UI. All of it will be done in a single integrated RDi-SOA 7.5 workbench, and I believe it will really make you rethink your ideas on what can be done with the i--and more importantly, what you and indeed any IBM i developer can do. EGL Rich UI promises to put RIA programming within your reach, and I think IBM will deliver on that promise.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: