Ask any AS400 programmer, iSeries Developer or IBM i Nerd and they will all tell you that good old “Client Access” is a pain in the arse!
Client Access was introduced back in the hazy 1990s on the old AS400 for DOS Computers, it was marginly revamped for the launch of the iSeries some years later. Premillenium saw Client Access being focussed more on Windows computers and now a decade later, it’s finally being totally rewritten for the modern world of IBM i systems and connecting from any platform you like — “Yes” its all written in JAVA so we will finally have a mobile solution to connecting to our IBM i Server from anywhere at anytime.
I’ve been running the technology preview for the last 6 months and overall am very impressed.
It’s pretty solid and the main 5250 green-screen emulator is a big improvement over the old green screen emulator.
You can grab a copy here – link deleted as the software is now out of beta and available here
and then just unzip to somewhere on your PC and click IBM i Access – Run this!
You can create a link to your own IBM i Server by clicking SYSTEM CONFIGURATION and then adding a link to your machines DNS name (or TCP/IP address). Then you are good to go.
IBM i Access Client Solutions: Accessing IBM i has never been easier
A simple and flexible way to connect to IBM i
IBM® i Access Client Solutions provides a platform-independent interface that consolidates the most commonly used tasks for managing your IBM i system into one simplified location. Many businesses are already taking advantage of its simplicity and flexibility.
A technology preview of the new IBM i Access Client Solutions product has been available since July 2012. Getting connected to IBM i has never been easier. Hundreds of businesses have already downloaded this product (at no additional cost) and are taking advantage of its simplicity, flexibility and portability.
IBM i Access Client Solutions is the newest member of the IBM i Access family of products. It consolidates the most commonly used tasks for managing your IBM i system into one simplified location. The features of IBM i Access Client Solutions include:
The Data Transfer feature provides the capability to transfer data to and from your IBM DB2® for i database using the most common spreadsheet file formats. The Console Consolidation feature provides the capability to consolidate the configuration for various system management consoles and the ability to launch a browser to them from one convenient location.
Figure 1 displays the main panel for IBM i Access Client Solutions. From this panel, you can select a system and then the function that you would like to use.
Like its sibling products, IBM i Access for Windows and IBM i Access for Linux, IBM i Access Client Solutions runs on a PC and connects to IBM i. However, as it is Java™ based, it runs on most operating systems that support Java including Linux®, Mac OS, Microsoft® Windows®, IBM AIX®, IBM i, and so on.
Figure 2 shows the Data Transfer panel when running IBM i Access Client Solutions on a Mac OS client. This panel is displayed when selectingData Transfer from the main IBM i Access Client Solutions panel.
“But,” you ask “what about mobile devices?” Keep reading, I’ll get to that in a minute.
IBM i Access Client Solutions uses the same IBM i host servers as the other IBM i Access Family products and requires the same IBM i Access Family license (XW1) in order to use the 5250 emulation and data transfer features. IBM i Access Client Solutions has a prerequisite of Java 6 or later.
Enough preliminaries, let’s get to the really interesting topics. The first highlight for this product is the simplicity for how it deploys. Have you ever experienced a failed installation on your PC that turned an otherwise good day into a bad one? Maybe it would be easier to count who has not experienced that. It’s happened to me enough that I still get apprehensive about performing installations on my PC. Do I really want to allow this program to take full control of my PC and change whatever it wants? Will I be spending the next several hours recovering from a failed installation? Will my PC ever be the same?
IBM i Access Client Solutions does not have an installation program. You no longer have to worry about which system settings changed, which system files were overlaid, or spending the rest of your day recovering from a failed installation. You will know exactly what it did and where because it is packaged in a .zip archive file. There are a variety of utilities that can be used to extract the archive file. All you have to do is decide which one you want to use and then decide where you want to extract it.
For example, the Java Archive Tool is one such utility. Using the Java Archive Tool, the command to extract the contents of the IBM i Access Client Solutions .zip archive file would be: jar xvf IBMiAccess_v1r1.zip. This will extract the contents of the .zip archive file to the current directory. That is all that is required. At this point, you are ready to use IBM i Access Client Solutions.
The second highlight of this product is the flexibility in how it can be set up. You have several choices for where you decide to extract the product. Initially you will want to extract it on your local PC to familiarize yourself with the product and its features. If you are an administrator that supports several users, you do not have to put this product on every desktop for each of your users. The product can exist on a remote network drive and can be run on one or more PCs. So, you need to consider installing this product on your network in a single location that can be accessed by all users. This gives you one location to maintain for all users when applying future updates. The first time you start the product from a remote / network location, the performance might be a little slower than normal (depending on your network), but subsequent starts are optimized to be faster.
Another option available is the ability to put a copy of the Java Runtime Environment (JRE) in the same directory as one of the provided platform-specific binaries (see the Getting Started document provided with the product for more details). Now, when the corresponding platform-specific binary for IBM i Access Client Solutions is used to start the product, the JRE you copied to that directory will be used to start the product. This is one way that gives you specific control over which version of Java will be used to run the product. If you were to do this in combination with a single version of the product on your network, you would have one location to update for both the product and the JRE for all your users. Note that accessing the JRE from your network instead of locally on your PC might affect performance during product startup. You’ll have to determine the tradeoffs between startup performance and maintenance costs. The point is, you now have the flexibility to decide what is best for your business.
You also have some flexibility with where the configuration exists. The configuration consists of items such as system names, consoles, user preferences, and so on. By default, the configuration will be created and stored on each user’s local PC. That will likely be the configuration used by most people. As an administrator, you might decide you want some of your users sharing a configuration. You now have that kind of flexibility too.
So here is a summary of the configuration possibilities so far:
Here’s one more idea: You’re not limited to your local PC and your network. The product and/or the configuration can be on portable media such as a USB drive. I won’t bother updating the above combinations; you get the idea.
The packaging and flexibility of this product allow for several other possibilities for how you use and deploy this product. Inside the product .zip file, the entire runtime for this product is contained in a single executable .jar file, acsbundle.jar. Other files and binaries are also provided, but in reality, those other files are not absolutely required. The acsbundle.jar file is all that is needed to use the product. Inside acsbundle.jar is the AcsConfig.properties file, which determines the location of the configuration. This makes it fairly easy for administrators to specify the location of the configuration and then distribute the product as a single .jar file.
For example, some administrators may want to use a Java Web Start solution. The Java Web Start solution provides a way to easily deploy, update, and start an application. Using a web server, an administrator can repackage the acsbundle.jar file into a Java Web Start package and provide their users with a URL to it. When the URL is accessed, Java Web Start automatically downloads the product (if necessary) and then runs it on the local PC. After it has been downloaded, Java Web Start caches the product locally for the next time the URL is accessed. If the administrator ever updates the package, Java Web Start detects the change and downloads the current copy before starting the application. If this sounds like an appealing option for your business, more information can be found at Java Web Start.
Okay, so what about mobile devices? Mobile devices present a challenge when trying to come up with a single solution across multiple platforms as most do not support a fully functional Java 2 Platform Standard Edition (J2SE) runtime environment and some do not support Java at all (for example, iPad). This makes it impossible for the existing version of IBM i Access Client Solutions to run directly on mobile devices. However, if there is an application available for your mobile device that supports Secure Shell (SSH) or Virtual Network Computing (VNC), you might be able to use your mobile device for display and run the product on the IBM i. As the product would actually be running on the IBM i and only using the mobile device for display, some features of the product that require interaction with the desktop (for example, launching a browser) might not work. So, with minor limitations, running on your mobile device might be possible.
As a proof of concept, we have done some preliminary testing with an iPad using two different applications. This first example uses an SSH connection from an iPad to IBM i. A summary of what we did is as follows:
1. Enable X11Forwarding for SSHD on IBM i
Hint: Make sure that you update the sshd_config file and not the ssh_config file.
To make sure that you have IBM i configured correctly, you need to try using an SSH connection from your desktop to IBM i before trying your mobile device.
For example: ssh –X userid@hostname
2. Load an SSH application (we used iSSH by Zingersoft) onto your iPad.
3. Connect to IBM i using an SSH connection.
Hint: After getting connected, use the printenv command to print the environment variables. If both the sides are configured correctly, theDISPLAY environment variable will be set.
4. From the SSH session, use the command-line options in the Getting Started document to start IBM i Access Client Solutions on IBM i.
java –jar acsbundle.jar
Or just run the 5250 emulator:
java –jar acsbundle.jar /plugin=5250 /system=lp13ut20
Figure 3 is a screen capture of IBM i Access Client Solutions running on IBM i and using the iPad as a display over an SSH connection.
This second example uses a VNC connection from an iPad to IBM i. This example uses an IBM i system name of lp13ut20 and a user name of bob. A summary of what we did is as follows:
2. Setup a VNC password on IBM i for your user ID. For this example, the user is bob.
MKDIR DIR('/home/bob/.vnc') QAPTL/VNCPASSWD USEHOME(*NO) PWDFILE('/home/bob/.vnc/passwd')
Note: You will be prompted to enter a password. This will be the password you will need when connecting from the mobile device.
3. Start the VNC server on IBM i. This example submits it as a batch job.
SBMJOB USER(bob) CMD(CALL PGM(QSYS/QP2SHELL)PARM(‘/QOpenSys/QIBM/ProdData/DeveloperTools/vnc/vncserver_java’ ‘:52’)) JOB(VNC_52_BOB)
Note: The 52 was randomly chosen for this example. It will be needed later when setting up the VNC client on the mobile device. The 52 will be the last two digits of the port number for the VNC server. VNC uses ports 59xx when communicating with client devices. So the actual port number for this example is 5952.
4. Before starting IBM i Access Client Solutions on IBM i, you will need to set the DISPLAY environment variable to the system name and port where the VNC server is running. The following steps were done on an IBM i system named lp13ut20 for the user bob.
addenvvar envvar(DISPLAY) value('lp13ut20:52') qsh cd <directory where acsbundle.jar exists> java –jar acsbundle.jar
5. Load a VNC application (we used Screens by Edovia) on to your iPad.
Configure the VNC session using the system name (lp13ut20), port number (5952) and the password you created in step 2.
6. You are now ready to connect to IBM i from your mobile device using a VNC application. If the configuration is correct, you will see the main GUI for IBM i Access Client Solutions on your mobile device.
Figure 4 is a screen capture of IBM i Access Client Solutions running on IBM i and using the iPad as a display over a VNC connection.
VNC connections are not encrypted by default. If you connect to an IBM i using VNC and you are not already within a secure private network, you need to consider using an SSH tunnel. Screens by Edovia supports SSH tunneling under the advanced settings.
As you can see from this second example, in order to use VNC, there are a few more configuration steps required on the IBM i side. However, after using the application Screens by Edovia on the iPad, we found the extra steps well worth it.
One item to note relative to Screens by Edovia: The F1-F12 function keys will only appear when the iPad is in landscape mode. But for the 5250 emulator, you have the option of enabling Hotspots, which make the function keys available at the touch of a finger.