24
Tue, Dec
0 New Articles

Practical RDi: The Remote Systems View and the Object Table View

Programming - Other
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Rational Developer for i (RDi) has many powerful views, and the view you choose depends on how you use the tool.

Rational Developer for i (RDi), IBM's integrated development environment (IDE) for the IBM i, provides advanced development capabilities that easily surpass those we grew up with in the green-screen days of SEU and SDA. Yes, I can still write code using those tools, but RDi makes it so much easier. To me, just having color-coded source with more than 80 characters and 24 lines is enough to move off the green-screen. Unfortunately, the shift from green-screen to graphical can be jarring. And to their credit, IBM continues to make the RDi experience as familiar and comfortable as possible, and the Object Table View is one of the ways they've done that.

Making RDi Your Own

I have used RDi since it was known as WebSphere Development Studio client, or WDSc (IBM does seem to love mixed-case abbreviations). RDi is a powerful tool, and the fact that it's built on the Eclipse platform means that it's also very flexible and you can configure it as you need to best match your working style. In the past, I've written about how I lay out the IDE; here's a quick view:


Practical RDi: The Remote Systems View and the Object Table View - Figure 1 

Figure 1: A 30,000-foot view of my Rational editing perspective

I know you can't see a lot of detail in Figure 1, but that's okay. It's really just meant to show how my work area is laid out. RDi inherits the concept of a "perspective" from Eclipse; this is my editing perspective. Generally speaking, I have a very large editing area (with two independent windows), a navigation area on the right, and a status area on the bottom. Although it looks quite a bit different than the stock editing perspective provided by IBM (called the Remote Systems View) at first glance, it's mostly just a rearranged version. I'm not going to spend a lot of time on the perspective; I want to move directly to the navigation pane.

The Explorer Views

Notice that I refer to "views" plural in this section. That's because I want to demonstrate the relationship between the Remote Systems View and the Package Explorer View that it greatly resembles. Remember, Eclipse began life as an IDE written in Java, so its accent, if you will, is always going to be somewhat Java-centric. This is nowhere more apparent than when you compare the Java-oriented Package Explorer View and the IBM i version, the Remote Systems View.

Actually, that's one of the really cool things about RDi: I can use it to develop hybrid Java-ILE applications. Way back in the previous millennium, I wrote a product called CPYSPLFPDF. It's still in use today, even though much (but not all!) of its functionality has since been superseded by features in the base IBM i operating system. Anyway, I originally wrote it as a proof of concept for combining ILE with open-source Java; the ILE part of the product handles all the spooled file management, while the Java portion uses an open-source package called Etymon PJ/PJX to generate the PDF file. And in RDi, I can edit both. Let me start with the Java side:

Practical RDi: The Remote Systems View and the Object Table View - Figure 2 

Figure 2: The Java-based Package Explorer View is tied directly to Java's hierarchies.

The Package Explorer shown in Figure 2 allows you to drill through your Java environment. Since Java is very hierarchical in nature, that typically means folders within folders and lots of drilling in. This is definitely not what we usually think of in the IBM i world of libraries and objects, but it's the norm in most other environments, whether they be Windows or UNIX. RDi has to deal with another hierarchical system on the IBM i: the Integrated File System or IFS. Since the IFS supports the many levels of nested subfolders that characterize a hierarchical system, it also requires a tree view. Because of that, any part of RDi that was going to allow access to the IFS had to be designed with a tree as its primary structure. Here's my IFS:


Practical RDi: The Remote Systems View and the Object Table View - Figure 3 

Figure 3: Here we see the highest level of the IFS of my machine.

You'll see regular folders, and you may also notice QSYS.LIB, which is the folder that contains all the traditional QSYS objects. But the tree is required because of the folder nature of the IFS, which is like any Windows or Linux file system. For example, here's the Remote System View of my machine as I dig into an ancient set of ASFTomcat directories.

Practical RDi: The Remote Systems View and the Object Table View - Figure 4

Figure 4: This is how the Remote System View handles the hierarchical nature of the non-QSYS part of the machine.

I picked this one because it has a pretty deeply nested set of folders, as you can see. The only UI element that fits this structure is a tree (and even then it's not exactly elegant). But it gets even more clunky when we have to dig into the QSYS libraries.

IDEs Try to Be All Things to All Users

While programmers can ignore the dual nature of the system, IDEs such as RDi don't have that luxury, especially the part of the tool that allows you to navigate the server. It comes down to the interface; the only comprehensive way to show a nested folder structure is with a tree. However, trees and QSYS don't really work well together.

Practical RDi: The Remote Systems View and the Object Table View - Figure 5 

Figure 5: The Remote Systems View tries to bridge the gap between QSYS and folders.

The Remote Systems View provides access to all of your traditional QSYS objects, but does it in a hierarchical format by using a tree view. In Figure 5, the member CSP000 in file QMODSRC in library PBDCSPDEV is highlighted. To get there, I expanded the PBDCSPDEV filter, and then I expanded the QMODSRC file.

This can take some getting used to. It's really not something that's specific to or invented by RDi; you'll see a very similar thing if you use WRKLNK to try and access your QSYS objects. Normally, we only think of using WRKLNK to look at the IFS, but in truth WRKLNK views the entire IBM i disk as a set of hierarchical folders. It's just that the entire world of libraries and objects that we green-screen developers are so used to are sort of shoehorned into this structure, all in a single folder called QSYS.LIB. To access a QSYS library via WRKLNK, you just have to use the magical IFS pathname, which looks something like this:

Practical RDi: The Remote Systems View and the Object Table View - Figure 6 

Figure 6: The IFS pathname for a QSYS object is a bit intimidating.

As you can see from Figure 6, the IFS pathname is long and not particularly intuitive. Without too much detail, the gist is that the path is broken down into three or four chunks separated by slashes. The first chunk, QSYS.LIB, specifies the QSYS object space, the second chunk specifies the actual library, the third represents the object itself (and its type), and the optional fourth chunk is the member name, used only for source files (and occasionally database files). Oh, and note that the second chunk is not used If the object actually resides in QSYS! Anyway, hit Enter and you'll see a screen similar to the one in Figure 7.

Practical RDi: The Remote Systems View and the Object Table View - Figure 7 

Figure 7. This is what a source member looks like in the world of WRKLNK.

All of this is just to explain why the Remote Systems View looks the way it does. It's simply not something that we green-screen programmers are used to, any more than we're experts at the IFS. The only reason I'm a little more comfortable than some is because I spent a lot of time writing Java code, and that requires the IFS frame of mind. But IBM understands that green-screen programmers are more familiar with the QSYS world, and that's why they created the Object Table View.

RDi's Object Table View

I'll close this article with an introduction to the Object Table View. It's easy to get to the Object Table View from the Remote Systems View, as I show in Figure 8.

Practical RDi: The Remote Systems View and the Object Table View - Figure 8 

Figure 8: Right-click on a source file and select Show in Table to see the members in a PDM-like table.

Right-click on the object whose children you wish to see. Figure 8 shows me right-clicking on the QMODSRC source file. That brings up a context-sensitive menu (as right-clicks do throughout RDi). From that menu, select Show in Table and the table will magically appear! Where does it appear? Well, that depends. By default, it shows up in that short, wide stack at the bottom of RDi, which unfortunately isn't particularly useful, but the good news is that you can move it (or even tear it off entirely), and RDi will remember your last choice the next time you show it in a table. Here's what the view looks like when it has enough room to stretch out:

Practical RDi: The Remote Systems View and the Object Table View - Figure 9 

Figure 9: The Object Table View looks a lot more familiar to PDM experts.

Yeah, now that's got a little PDM in it, right? Anyway, that's for the next article where we will dive deeply into this view: how to configure it and how to use it. And then finally we’ll get into the new PDM perspective that ties it all together. For now, make sure you're familiar with the Remote Systems View; as midrange developers we need to spend more and more time outside of the QSYS world, and the Remote Systems View is how we do it.

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: