Using an unchanged VM:Manager suite with a user-written, REXX-based SMAPI agent called VMCOLON, we’ve implemented a number of web methods that enable network-connected devices to access the mainframe services. These web methods invoke the SMAPI extension, which then issues the appropriate VM:Manager command, captures its output, wraps XML around it and returns the results to the web method.
For example, users or administrators can login to the service; interrogate their jobs; respond to requests; hold, resume or cancel jobs; and logoff—all by interacting with the web methods presented to them by the Web service.
Using the APIs published by the Web service, and available by interrogating the WSDL produced by the server, we’ve created a prototype mobile application that executes the web methods. The user is presented with a series of dialogs and displays that enable the VM:Manager components to be managed.
The screen shots included with this article were captured from a Galaxy S III. This same application has also been deployed successfully to a Nexus 7.
The user interface (UI) isn’t pretty, but it does illustrate the important concepts; in particular, combining the output of multiple transactions to create a single display. By doing so, the user is presented with a consolidated view of all the pertinent information relating to the facility and is able to act on all that information. This simplifies the navigation process and the interaction between user and facility.
The key is to have the server present web methods that do a single well-defined task and allow the application on the mobile device to make requests of one or more of these methods before returning the results to the user.
We used these tools to create the application:
• REXX to create the SMAPI extension
• SMAPI to start/recycle virtual machines and to invoke the user-written extension
• XSP/Apache to provide access to the web methods
• gcc to create a stub between the web methods and SMAPI
• Xamarin Studio to create the mobile application.
In addition, prior to the mobile application being written, the Web services were executed using a simple user-written driver program (see Figure 3) that issued requests and displayed the results on the Linux console. In this example, a user is checking his backup jobs, holding one of them and then releasing it.
We created the mobile application using the Xamarin Studio tool on a Mac. This tool supports creating applications for iPhone/iPad, Android and MacOSX. It integrates with the iPhone/iPad and Android emulators, which allows the developer to test the application before deploying it to a real device. This tool, and tools like it, will import WSDL data from the Web service provider and create stubs the application can call to invoke the desired web method.