21
Sat, Dec
3 New Articles

Still Waiting for Unity?

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

As IBM readies Unity for the Windows 95/NT beta release, a question needs to be raised by Client Access professionals: What’s in it for me? No serious look at Client Access/400 could be complete without a critique of Unity.

A couple of years ago, rumors started filtering down that Rochester was working on a new front-end for the AS/400. The idea, according to the rumors, was to eliminate the old non-programmable terminal interface entirely and to build up a single elegant GUI for all OS/400 tasks. This project, according to rumors, even had a code name: Project Unity.

In the meantime, a lot of us who have been waiting for the Client Access Win95/NT client have been in a quandary. Was Unity going to be a part of Client Access Win95/NT client? If so, the beta code we were being fed by IBM seemed pretty anemic. For instance, last issue we reviewed the System Object Access (SOA) module of the Client Access Win95 client. SOA is an interesting product. It provides a GUI for the operational tasks of the AS/400. But—when you dig beneath the surface—SOA is not much more than a screen-scraper. Was this what Project Unity was all about?

Well, now it seems that Unity does officially exist at Rochester, and the project is finally coming to Client Access Win95/NT client beta. Many of the questions that have nagged us are being answered. IBM has even put screen camera captures on its Web site to show us how Unity works.

So what does Unity look like? How is it different than the current GUIs in Client Access Win95/NT client beta? All of these are interesting questions that—in a very real sense—highlight the problems that all of us face as we develop real AS/400 Client Access applications. Let’s look at Project Unity from this perspective—what will Unity teach us about moving applications to a real Client Access environment.

Unity’s Explorer Interface


The first thing you’ll notice about Unity is the Win95 Explorer metaphor. (See Figure 1: Unity Profile Manager.) That is, Unity starts out with a two-paneled representation of AS/400 services displayed in a hierarchy. As you click on the icons within the hierarchy, you are led deeper into the structure of OS/400. For instance, in Figure 1 there are eight sets of services listed under the icon representing a Boston AS/400: Database, File Systems, Jobs, Messages, Output, Printers, System, and Users. If you click on the System icon, you’re led to a second hierarchy: Alerts, Authorization Lists, Hardware Inventory, Problems, Software Inventory, and System Policies. Click System Policies and you continue your journey.

On the surface, this hierarchy may appear to be no more than a new analogy for old AS/400 branching menus. But this isn’t the case at all. A menu is really more akin to an HTML page of URLs than an Explorer hierarchy; the links within a menu have no inherent structure, and can in fact be self-referencing. However, a Win95 Explorer hierarchy provides a single, structured representation of every service available to Unity, and represents everything within that structure as an object that can be manipulated.

If you stop to think about this difference in approaches, the organizational task that faced the developers of Unity is exactly the same task we Client Access programmers face when we’re moving from menu-based systems to the Windows 95 Client Access paradigm. The task is more than screen-scraping the menus: it’s providing object-like organization in logical hierarchies. This means that we’ve got to analyze and organize our project’s applications into logical groups from the get-go, instead of tacking them onto a menu-like drop-box of available options.

How new is this approach? Is it the right approach? Does this represent a new standard around which we should be rallying, or merely one more “standard” that isn’t standard at all?

If you remember Windows 3.1 and NT 3.5, the only place where this kind of hierarchical structure previously existed was in the File Manager. Maybe that’s why IBM took so much time before releasing Unity, perhaps there was uncertainty about the direction NT was going to lead the GUI. Now that it appears that NT 4.0 will be using the Windows 95 GUI, it seems a sure bet that the Explorer paradigm will succeed as a standard, and that Rochester’s development efforts will continue to integrate OS/400 functions in a unified manner. For those of us who develop Client Access applications, emulating the Explorer interface will now become one of the first lessons we should learn.

But there’s a larger lesson for developers too. IBM integrated its design of Unity to fully complement the Windows 95 platform. It didn’t try to re-invent the wheel, or try to reimagine the “ideal” interface. It used Win32 OCXs to create the design and developed the OCXs along the way. By doing this, Client Access becomes a real extension of the client’s desktop, not an attachment of some foreign OS. This, of course, has always been the problem with AS/400 connectivity products in the past: things on the AS/400 worked differently than on a PC client. Consequently, when we as developers tried to integrate PCs with the AS/400, we always seem to get it backwards. That is, we always tried to make the user’s desktop look and feel like an AS/400 terminal. Now it appears IBM is giving us a product that gets this relationship right: it integrates the AS/400 to the desktop, and not the other way around. It’s about time, and with the new APIs and OCXs that Unity will be providing, it shows us that it really can be done with some elegance.

Program Granularity and Tight Control Over Function

Within Unity, IBM has also reformulated how an AS/400 application should interact with the client. In previous incarnations of GUIs for the AS/400, including SOA,


the user was provided with a display frame or window into which parameters could be typed. Then, when the OK button was pressed, the parameters were passed onto OS/400 through a remote procedure call, and OS/400 itself sent back any messages that were generated. This made life simpler for OS/400 communications management because the complete requirements for any particular OS function were passed along with each submission. Unfortunately, however, this also made programming within the GUI extremely cumbersome. There was little opportunity to provide context-sensitive editing within a panel, and the panels themselves—by necessity—tended to hold a lot more information than could be easily handled in the event-driven model. This was especially true in the pure screen-scraping implementations, there wasn’t much granularity in the applications, and they worked exactly like their NPT command counterparts—they tended act like dumb terminals with pretty faces.

Unity’s modular implementation, by comparison, seems much more tightly integrated with OS/400. For instance, the Change a User panel (shown in Figure 2) develops a logical progression of steps towards the goal of maintaining the profile of the user. Functionally, this panel provides a parallel component to the old OS/400 command CHGUSRPRF (shown in Figure 3). However, the Unity implementation seems to provide inherent logic in the organization of the command’s subfunctions (such as Groups, Personal, Security, Jobs, and Networks), and each click of an associated button provides a tighter control over the process of changing the user profile.

Rochester orchestrated this new level of granularity by creating new APIs for OS/400. This is probably a major reason for the delay in Unity’s release; new APIs require extensive testing. The results are dramatic. There is no question that the representation of functions to the operator is much simpler, better organized, and more easily managed in Unity. From this perspective alone, the increased ease of use from Unity may have been worth the wait. And for developers who are contemplating a similar conversion of their own custom OS/400 commands, Unity provides a good model from which a lot can be learned.

Is Unity Worth It?

How significant will Unity prove to be? The more you work with the Unity GUI, the more you realize how your previous vision of the AS/400 has been colored by NPT commands. Unity doesn’t seem like new coat of paint over the same old architecture, but a real change in the way we relate to OS/400. A good example of this sort of change can be seen in Unity’s System Policies icon.

Every AS/400 site on the planet has a policy for backing up the system. The policies vary, but the OS/400 commands are usually the same: SAVOBJ, SAVLIB, etc. Various iterations of these commands become the glue that preserves our systems in an emergency and guarantees we still have a job the next day if the system inadvertently crashes. Generally, these backup policies are not set in stone, but are orchestrated through custom menus or through OS/400’s Operator Assistant.

Of course, no IS manager in his or her right mind would turn over the process of archiving the AS/400 to a novice operator. The commands are somewhat complex and, without proper supervision or documentation, the chances of a novice completing a useful archive are, regrettably, remote.

By comparison, Unity’s GUI implementation of a backup policy provides equivalent functionality and a much easier interface. With the System Policies object, the Backup Policy is one available option. When activated, the Backup Policy provides a list of multiple backup practices, displayed as object icons in a window. (See Figure 4.) In this


example, there’s a daily backup policy, a weekly policy, and a monthly policy. By double- clicking on one of these policies, the rules of a particular backup policy can be quickly modified. (See Figure 5.)

Within this configuration, group parameters are organized in a logical fashion in tabs along the top of the window. These tabs include the What, Where, and When parameters, as well as general Global parameters. Individual parameters within a particular group are also “framed.” For instance, in Figure 5 there’s a frame called “Select data to save” that surrounds the selections that the configuration controls.

What have we really gained from this orderly presentation of a backup policy? First of all, we’ve received an encapsulation of our backup process that is easy to access, quick to modify, relatively intuitive to comprehend, and functionally equivalent to the various confusing and complicated OS/400 commands that previously graced our AS/400 operations menus. Secondly, Unity’s paradigm implements the policy in a way that is easy to communicate to our staff, makes training a new SYSOPR easier, and can free the more experienced operators to perform other duties. In other words, by integrating the AS/400’s user interface into the client’s GUI, we’ve eliminated a tremendous overhead of user training and expertise, and provided more robust tools in the process.

When will Unity be ready?

Parts of Unity are currently available. The remainder of the features will be available next year. If you’re really interested in how it’s going to affect your site, you should check out IBM’s Web site for Unity at: http://as400.rochester.ibm.com/products/unity/homepg.htm How much functionality will Unity have? IBM has said it will provide new functions to Unity over various releases, at the same time replacing GUI functions previously supported by SOA and other utilities. Of course, this means more waiting for Unity, but from all appearances, it looks like Rochester is going to teach us a lot about building Client Access applications in the process.


Still_Waiting_for_Unity-05-00.jpg 450x393

Figure 1: Unity’s Profile Manager Figure 2: Unity’s Change a User Panel


Still_Waiting_for_Unity-05-01.jpg 450x341

Still_Waiting_for_Unity-06-00.jpg 450x316

Figure 3: Displaying OS/400 Change User Profile (CHGUSRPRF) Command Figure 4: Unity’s Backup Policy Options


Still_Waiting_for_Unity-06-01.jpg 450x188

Still_Waiting_for_Unity-07-00.jpg 450x408

Figure 5: Modifying a Backup Policy


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: