IBM has been notable in its support for the Linux operating system and open-source software in general, so the lack of the package would be ridiculous. But is it right for your shop? That depends.
When the IBMers determined that their AS/400 midrange line required a facelift if it was to survive in the new world of GUI-based servers, they turned first to the most obvious part: the interface. We old-timers are quite satisfied using the green-screen command line. It was and still is productive and bulletproof. Unfortunately, many newcomers to the platform find it cumbersome compared to their preferred point-and-click interfaces. I don't want to start any flame wars between the two camps. We old-timers know that our command line is superior, so arguing is pointless. But I digress.
IBM's solution to making the management interface sexier was the Operations Navigator product. The idea behind Operations Navigator was to make Windows administrators feel more comfortable managing i5 systems by giving them a familiar GUI. And a major side benefit is the elimination of one of the main criticisms leveled by Windows-centric admins (its "antiquated interface") to brand the IBM i (aka AS/400, iSeries, System i) "legacy" and irrelevant. Fast-forward to today, and the IBM i Navigator product has matured into an extremely powerful management and development tool that even hard-core command-line aficionados like me can embrace.
As powerful as the product is, I find that it has one major flaw: it is Windows-only. As one who uses Linux almost exclusively (I use Apple OS X for my photography processing needs), I find the need to have a Windows machine available to access and manage my i5 annoying. It was therefore exciting to me when I learned that IBM had created System i Access for Linux. I was eager to take it for a test drive so that I can answer the question: "Is IBM i Access for Linux right for your shop?"
Installation
IBM i Access for Linux can be obtained from the product website. It comes in RPM format, suitable for distributions such as Red Hat Enterprise Linux or CentOS, and installs easily. On my CentOS laptop, I issued this command:
sudo yum localinstall iSeriesAccess-7.1.0-1.0.i386.rpm
This command not only installs the package, but also automatically downloads and installs any missing dependent packages. In my case, I needed the X11 components, including the libXp and openmotif22 packages. In short order, the software was installed and ready for use.
Initial Impressions of the 5250 Emulator
In general, RPM packages for Linux include a script that adds menu options into the desktop environment at the end of software installation. From what I could determine, IBM's packaging omits this script so adding launch icons is a manual process. That's ugly. Since I wanted to begin my exploration of the product with the 5250 emulator, I started manually by issuing this command:
/opt/ibm/iSeriesAccess/bin/ibm5250
At that point, I was greeted by the connection window shown below.
Figure 1: Connect to the 5250 Emulator session.
Filling in the blanks and clicking OK brings up a standard 5250 session shown below, logged in with the user credentials entered earlier.
Figure 2: You're connected via System i Access for Linux!
Earlier, I said that the lack of desktop integration was ugly. I don't know how well it comes across in your browser, but if you look closely at the images, you'll note that they, too, are ugly. The font is a basic X11 font, not one of the pretty anti-aliased fonts used by modern desktop managers. This is due to the use of the lightweight openmotif window manager (installed as a package dependency) instead of relying on the desktop manager that may be on the workstation on which the software is running. Compare the System i Access for Linux 5250 screen above to the tn5250j (a Java-based emulator) 5250 screen below. The aesthetic differences are obvious.
Figure 3: Compare this tn5250j screen to the screen in Figure 2.
Anyone who has ever used an IBM ServRAID CD or the IBM HMC will recognize the "look" since apparently IBM uses the same openmotif window manager for those as well. Looks aren't everything, though, and the emulator functions pretty much as expected—certainly as well as the emulator included with the Windows version. You can set the preferences for the emulator using this command:
/opt/ibm/iSeriesAccess/bin/setup5250
ODBC Connectivity
Advanced Windows users are generally familiar with Open Database Connectivity (ODBC). ODBC is a creation of Microsoft that provides a standardized API to database managers from disparate vendors. On Windows, one creates "Data Sources" from the control panel and then connects to them via applications such as Microsoft Access. All of the major DBM vendors support the standard and provide the necessary drivers that need to be loaded on the client system. IBM is no exception with its DB2 database on the IBM i.
While primarily a Windows phenomenon, ODBC connectivity can be used in Linux as well. For Red Hat-based systems, that functionality is added via the unixODBC packages and can be configured by editing the /etc/odbcinst.ini and /etc/odbc.ini files. The former file is used to describe the ODBC drivers on the system, and the latter holds the Data Source Name information. The installation of System i Access for Linux adds the necessary i5-specific drivers. Configuration of these files is beyond the scope of this article, but there is ample documentation provided in the RPMs to make the task rather painless.
Once the ODBC connectivity is properly configured the IBM i database can be accessed by LibreOffice Base or OpenOffice Base (open-source equivalents of Microsoft Access), by the Perl and PHP languages, and by any other languages or applications that provide access to data sources.
Other Utilities
Besides the emulator and ODBC connectivity, System i/IBM i Access for Linux provides a number of other interesting utility programs that provide the following functionality:
- CWBCOPWR - Change advanced communications settings
- Use this command to change the advanced communications settings of the System i Access for Linux product.
- CWBMEDIC - Service information collection tool
- Use this command to gather service information for IBM.
- CWBNLTBL - Download conversion tables
- Use this command from a console prompt to download conversion tables.
- CWBPING - Test the connection to the server
- Use this command from a console prompt to determine if an IBM i connection can be successfully established, or to help determine the cause of a connection failure.
- CWBRUNSQL - Run batch SQL commands and procedures using an ODBC DSN
- Use this command to run batch SQL commands and procedures using an ODBC DSN.
- CWBTRC - Trace System i Access for Linux
- Use this command from a console prompt to configure tracing.
- RMTCMD - Run a System i batch/CL command
- Use this command from a console prompt to run a single System i command or a group of System i commands.
- RMTODBC - Run a System i batch/CL command using the ODBC driver
- Use this command from a console prompt to run a single System i command or a group of System i commands.
I cut and pasted that list directly from the IBM i 7.1 Information Center site so that the hyperlinks are accurate, should you wish to investigate them further.
The Verdict
Is IBM i Access for Linux right for your shop? My answer: it depends.
To be honest, I would find using the emulator product for anything but occasional use totally unsatisfying. The fonts take me back to my early days of X11 graphics, so there is some nostalgia associated with it. But I fear that extended use would be at best a distraction and at worst a headache generator causing me to waste time attempting to tweak the openmotif package to add better fonts. That's not a good use of my time. There are both free and commercial alternative emulators available that provide a much better user experience. If you already have Java installed on your workstation, then I highly recommend the wonderful TN5250J package. It looks and works great and has been my primary emulator for a long time. Should you not wish to add Java to your system, then I'd point you to the tn5250 5250 telnet client package, which is included with most distributions. It not only provides 5250 emulation, but can also create emulated printers for use by your system. So if all you want is 5250 emulation, then I'd avoid the IBM i Access for Linux package and go with an alternative.
On the other hand, if you need to access your i5 database from a Linux-based server, and you aren't going to hit the database using the Java JDBC driver, then IBM i Access for Linux is a requirement. In a prior life, I created a system that integrated an Asterisk-based phone system running Perl scripts, a Linux-hosted web service created using the Struts Java Servlet framework, a Linux-hosted Oracle database, and an i5 database and application. None of this would have been possible without the ODBC driver and RMTCMD utility provided by the System i Access for Linux product. Fortunately, if you don't need the emulator, then IBM provides the IBM i for Linux package sans 5250 emulation. This has the advantage of a smaller download and the elimination of the graphical dependencies that come with the full product.
Am I thrilled with IBM i Access for Linux? Let's just say that I'm glad that the IBM i folks recognize the necessity of providing it, given the popularity of Linux web servers. And after all, IBM has been notable in its support for the Linux operating system and open-source software in general, so the lack of the package would be ridiculous. But for me to be really thrilled with the product would require it to be the equivalent of the System i Navigator for Windows product, allowing me to reclaim the disk space currently used by the virtualized Windows guest I maintain just for Navigator. I'm not holding my breath for that to ever occur.
LATEST COMMENTS
MC Press Online