There are many worthy professionals, both iSeries- and Microsoft-oriented, who have developed skills and gathered experiences that qualify them to deliver production-quality solutions and data management to their users. There is a general impression, however, that the iSeries is somehow old and out-of-date, and PCs are somehow new and up-to-date. True, the two platforms are different in many respects, but in some of those respects, the iSeries and iSeries professionals enjoy a technology and experience advantage.
I've Been Asking Around
While going around the country teaching iSeries client/server and Microsoft programming languages to iSeries professionals, I've come across some interesting points of view regarding the relative merits of iSeries and Microsoft environments. At the beginning of one seminar, I was going around the room, asking attendees about their programming backgrounds so as to tailor the seminar for the group at hand. While talking to one iSeries programmer, I asked, "Are you an RPG programmer?"
"I used to be," she replied. I asked her what she meant, and she indicated she had wholly embraced the world of Windows programming languages and techniques to provide computer processing and data to those in her company and had abandoned the iSeries' native application languages.
I didn't think about her response much at the time, but later it occurred to me that her employer had traded in an accomplished iSeries/400 professional for a Visual Basic rookie. Under this restriction that she had placed on herself, she was now faced with the task of providing the same level of programming expertise to her users while having access to only a fraction of the tools and techniques she had acquired on the iSeries. The iSeries was still going to store her company's data in a normalized relational form, but she was now restricted to using such Windows-centric data manipulation techniques as ODBC, ADO, and SQL to build production-level business applications over her iSeries/400 database. Well, that's a pretty tough row to hoe.
Her employer would have been better served had she retained her iSeries programming skills and, with an open mind, added new Windows programming tools and techniques to obtain the best of both worlds. In this way, each application development project could be addressed with the most appropriate and flexible solutions possible. The iSeries languages are best for data access and manipulation; the Windows languages are best for data presentation and collecting user input.
A Typical iSeries/400 Task and the Windows Equivalent
For example, consider a standard application found within most companies--customer inquiry (customer information, sales history, and payment information). Typically, the database design encountered by this type of application consists of 15 to 25 physical and logical files. Data access is usually done through single-record chain by key(s) or multiple-record groups read by key(s). Simple and efficient.
To the experienced iSeries programmer, this is a piece of cake. Just get the customer number and start collecting the appropriate database records by key--Chains, Set Lower Limit, Read Equal, and the like. Put the fields into a set of display screens, and call it a day.
Imagine, then, doing the same thing without your trusty iSeries database capabilities (physical and logical files, selects/omits, multi-part non-contiguous keys, etc.) and your finely honed RPG skills. Imagine creating a production-quality database with MS Access and developing an equivalent customer inquiry application with, say, Java. You would be doing very well indeed if you were able to create the Java inquiry application such that it's as good and fast as its RPG equivalent. Now, imagine creating a Java application that updates a number of Access database files--something like Order Entry, for instance. Getting pretty sticky, huh? Lots of database objects, recordsets, and large SQL statements. Now, set it all to music by imagining 150 users all getting at the same database at the same time.
A Costly Case in Point
Recently, I was asked to help out an old customer of mine, a small manufacturing company with a one-person computer department. They had gotten themselves painted into a corner because of some very flawed advice they received about their company's AS/400. They had hired a fresh, new computer college graduate who didn't have a clue about the iSeries/400. She told the folks within the company that the iSeries was obsolete; you can't get parts for it anymore, nor can you find anyone who remembers how to work on it. After a $250,000 overhaul of their hardware and software systems, the college grad is gone, leaving a hodgepodge of computer systems behind, half-finished at best and never-going-to-be-finished at worst. Through it all, the company's iSeries has been running rock solid, performing the daily chores that they never could get another package to handle--and without an IPL since May 2002.
Where the iSeries/400 Professional Is Advanced
In some areas of this business, I feel the iSeries/400 professional's skills are superior to those of the Windows professional.
Data Design
iSeries programmers clearly have an edge over their Windows counterparts in most areas of database design and data handling. The vast majority of Windows programmers I've encountered have very little knowledge of database access and management techniques that have come as standard equipment on iSeries programmers for years. Things that come immediately to mind are relational database design, referential integrity, commitment control, journaling, triggers, and constraints. In the Windows world, you usually have to get a specialist to build and maintain an iSeries-like database for you, using a PC database system like Oracle.
Software Design for Business
iSeries professionals also take the lead in software design for general and custom business applications. Maybe this is so because iSeries pros have been at it so long and have seen more things that can go wrong and have dealt with them in one way or another at some point. For example, the iSeries professional is used to editing user input for a variety of experience-inspired irregularities. The Windows programmer will often edit input as if operating in the "good part of town."
Management of a Computer Installation
The iSeries professional takes the lead again, perhaps because of having to face EDP audits for decades. iSeries pros generally are better at ensuring security, handling data and disaster recovery, and maintaining maximum uptime. And they're usually more experienced in the practical aspects of running a computer organization. iSeries pros are better at getting the most from the budgeted computer dollar without causing the user undue inconvenience. He or she is wise in the ways of actual data and program-problem-solving costs and takes into account things like dealing with huge data files.
Where the Windows Professional Is Advanced
The good folks who are working in the Windows programming and management environments have their strengths, as well. In some areas, their skills are superior to those of the iSeries professional.
User Interfaces
Generally, Windows programmers are better at displaying information and collecting user input. They have a great many graphic tools at their disposal, and they present the user with a well-laid-out presentation of screens and wizards to collect user input. In some cases, the additional graphic tools available to the Windows programmer will lead to superior understanding of the application design. For example, Windows programmers will put a check box on a form to represent a yes-or-no selection and a set of option/radio buttons on a form to represent a choose-one-of-several situation. Therefore, they must understand the differences regarding application design.
Frequently, designers of iSeries screens, even though iSeries screens are text-based, could take a page from a good Windows application. The Windows screens are small and easy to understand. iSeries screens are often large and too busy. Windows apps prompt the user for input in small, logical groups of related information. iSeries screens throw everything at you at once, and intuitive user interaction is lost.
Design of Non-Business Applications
Windows pros are better at designing non-business applications than iSeries pros. A Java or C++ programmer will perform all of the design steps much more faithfully than an iSeries programmer, with a better grasp of modularity, maintainability, and code reuse. All too frequently, the iSeries pro will "just start coding."
Acceptance of New Technologies
Windows professionals are often more flexible, open-minded, and willing to accept new technologies than their iSeries counterparts. iSeries programmers seem to be reluctant to dive into and fully embrace such contemporary technologies as OOP, abstract data types, or data serialization.
What Could the iSeries Professional Learn About Windows Programming?
To become a more valuable and employable iSeries professional, there are some steps you might consider taking:
- Learn to speak the Windows programmer's language. For example, a file is called a table, a record is called a row, and a field is called a column.
- Learn OOP. For the procedure-oriented programmer, learning OOP can present a challenge. Many have tried to learn OOP from books and have been frustrated. A much more successful approach would be to take a real college course in Java or C# and allow time for the assimilation of OOP concepts and practices to take place.
- Become familiar with two-tier client/server programming tools like ADO, ODBC, and SQL.
- Understand the three-tier client/server programming model and how it could be implemented on the iSeries and the PC.
Really, any efforts you make to understand and make use of Windows data, programming, and management techniques will be of value to you and your organization. Bear in mind, however, that just because it's new doesn't mean it's better. It could very well be that the iSeries is already offering a superior solution.
In short, the Windows programmer is better at "the science" of computing; the iSeries professional is better at "the business" of computing. Ultimately, I think each could benefit from learning about the other.
Chris Peters has 26 years of experience in the IBM midrange and PC platforms. Chris is president of Evergreen Interactive Systems, a software development firm and creators of the iSeries/400 Report Downloader. Chris is the author of The OS/400 and Microsoft Office 2000 Integration Handbook, The AS/400 TCP/IP Handbook, AS/400 Client/Server Programming with Visual Basic, and Peer Networking on the AS/400 (MC Press). He is also a nationally recognized seminar instructor. Chris can be reached at
LATEST COMMENTS
MC Press Online