The user can install Android applications from their own locations rather than having to go to a virtual store. In this case, we downloaded the application from the same web server providing the VMCOLON Web services. Clicking on the file with the .apk extension starts the installation process (see Figure 4).
The Sign-On Screen
Following the installation step, the application can be started. The first screen of the VM:Manager Mobile application is the sign-on screen (see Figure 5). From here, the user enters his z/VM credentials. A log-in request is generated to the Web service, which then initiates a transaction to the z/VM Systems Management API where the user/password combination is verified and a profile is returned. This profile describes which functions the user is allowed to perform. Each of the web methods uses this profile to ensure the user is authorized to use it.
If the user’s credentials are verified, the mobile application will then kick off the product status function.
Note that the screen shots presented here show an early version of the prototype where the http protocol was used rather than https because the Android device we used didn’t accept self-signed certificates (except for establishing Virtual Private Network [VPN] connections). In practice, https with certificate authority signed certificates would be used to enable secure communications across public networks.
The product status activity involves executing a simple transaction that will return a list of all products supported by VM:Manager, whether the product is installed, and, if so, whether it’s available (see Figure 6). For those products that are available, a button is enabled that will allow the user to get further details. There’s a second button that will let the user recycle the server. For servers that are down, the user is provided with a button that will start the server. The table containing the products is scrollable.
Starting a Server
If the user clicks on the “Start” button, a Web service request is generated that will result in a SMAPI Image_Activate operation to be performed. Figure 7 shows that the user has requested the start of the VMSPOOL facility. This will cause the z/VM system to bring up the virtual machine and start executing the VM:Spool suite. When the operation is completed, the screen is automatically refreshed and that facility may now be interrogated.
Getting Product Details
If the user clicks on a product button, a new activity is initiated. As shown in Figure 8, the user clicks on the VMACCT button, which results in a Web service being initiated and two commands within VMCOLON being executed: the first to get version data (VMACCT QUERY VERSION) and the second to get the service data (VMPTFS VMACCT).
Interaction With Facilities
On each of the product status screens there’s a button that enables the user, if authorized, to interact with the facility. For example, by clicking on the VM:Tape button, there are several services the user can invoke, such as simply querying what tape drives are under its control (see Figure 9). Similarly, contrast the 3270 presentation of VM:Archive with its mobile counterpart (see Figures 10A and 10B).
Using Web services that exploit the once derided command line interface of the mainframe’s operating system and applications provides a quick and reliable way to extend the reach of the mainframe from the data center to the mobile user. In the prototype described here, the time from concept to Android application was just less than four weeks of a single programmer’s part-time efforts. The programmer hadn’t been exposed to the Android development environment before, but it was intuitive, powerful and enabled the application to be created in just over a week.