A Web Application for Handheld Transaction-Processing Clients

Steve Kirk
Microsoft Corporation

September 1997

Click to copy the files in the HandClient sample application.

Introduction

Now is the time to create a new wave of Web applications that integrate teams of mobile personnel carrying handheld computers. Handheld Web technologies are superior to voice, paging, and e-mail technologies for many types of team coordination because Web technologies support structured transactions involving highly detailed information. This article discusses the issues that you will face as you develop transaction-processing Web clients for handheld computers running Microsoft® Windows® CE and describes a mobile technician's interface to a corporate helpdesk system. The accompanying sample will become part of the HelpDesk sample, which is a comprehensive system that spans several technologies (see "The HelpDesk Site Sample: Overview of an Automated Solution"). The handheld interface enables a mobile technician to be completely integrated with the workgroup without being tethered by a network cable. The technician can log on to a local area network (LAN) via a remote access server (RAS) using a cellular, radio-frequency (RF), or conventional-telephone connection and can access the intranet server with Pocket Internet Explorer. The sample was built for use on handheld computers running Microsoft Windows CE version 1.0 with Microsoft Pocket Internet Explorer 1.1.

A Thin Client Platform

Steel yourself with a vision of the potential of these applications before you start to build one because you won't be able to use all of the technologies that you can use when building for desktop clients. In fact, a Web application for Windows CE 1.0 and Pocket Internet Explorer 1.1 uses very modest means. For a complete listing of unsupported Internet technologies and HTML tags see "Unsupported Internet Technology with Pocket Internet Explorer" (MSDN Library, Knowledge Base article Q161319) and " Unsupported HTML Tags for Pocket Internet Explorer" (MSDN Library, Knowledge Base article Q158479). The following Internet technologies are some of those not supported by Pocket Internet Explorer 1.1 on Windows CE 1.0 (for in-depth information about features and technologies supported by subsequent versions of Windows CE see http://www.microsoft.com/windowsce/):

Your Windows CE 1.0 client will also have to do without the following technologies.

You are also limited to a four-level gray scale display at a resolution that ranges from 480 x 240 to 640 x 240. (Windows CE 2.0 supports 256 color and 16 shades of gray.)

Handheld computers running Windows CE 1.0 are not able to act as LAN or wide-area-network (WAN) clients. This eliminates the option of using a PCMCIA network adapter and simply plugging into a corporate network jack. (Windows CE 2.0 has greatly expanded network capabilities; see http://www.microsoft.com/windowsce/ for more information.)

Given these limitations, the challenge is to create a full powered technician client within the Windows CE 1.0, Pocket Internet Explorer 1.1 platform.

A Pretty Thick Server

In order to compensate for the thin client, the server does more work. Figure 1 shows the architecture of the HTTP server that supports the handheld client. The client performs no caching of form data so most interface transactions send an HTTP request to the server. The frequent requests are somewhat compensated for by the small size of the response that is generated. For a description of the COM objects in HelpDesk, see "Designing the HelpDesk Transaction-Processing Object Model." For more on HTTP-based transaction-processing servers, see "Design Strategies for Scalable Active Server Applications" and "Scripting a Pair of Transaction Processors."

Figure 1. The HTTP server architecture

The Technician Client Application

The technician client application allows the technician to:

Log On

The HelpDesk application is an intranet application and therefore uses Microsoft Windows NT® security. The client connects to the network through a cellular or RF link via RAS and is authenticated at that point. The technician opens the HelpDesk home page through Pocket Internet Explorer.

Display Requests

Upon entering the HelpDesk Web site, the technician sees a list of assigned help requests similar to Figure 2. The request list is presented in a scrolling table that presents a maximum of 50 requests at a time in order to maintain a manageable list length and HTTP response size. First, Last, Next, and Previous command buttons provide list navigation.

Figure 2. The request list

Display Request Detail

Figure 3 shows the request detail interface. The history of the customer/technician dialog is presented as a list that can be browsed. Command buttons at the bottom of the history list present the options for the next action toward resolution.

Figure 3. The request detail interface

Send Response Options

The system provides four ways for the technician to respond to the customer. Technician responses and subsequent customer replies are maintained by the system in the request detail list.

Send text response

The technician can compose a text message to the customer in the interface shown in Figure 4. When the message is submitted, the server application sends it via e-mail to the customer.

Figure 4. The text response interface

Send standard text response

The technician is able to select from a list of standard text responses to send to the customer via e-mail. Figure 5 shows the confirmation screen that the technician receives when sending a standard text response.

Figure 5. A standard text response

Save summary of conversation

The technician can submit a summary of a voice conversation with the customer through an interface similar to that in Figure 4.

Send standard voice response

The technician is able to select from a list of standard recorded voice responses to send to the customer. The server application sends the response to the customer's phone.

Conclusion

Although Pocket Internet Explorer and Windows CE 1.0 provide an implementation of Internet and client/server technologies that is modest when compared to desktop technologies, they provide enough power to enable Web-based transaction-processing systems. The power of these systems is fully realized when the handheld PC is combined with a wireless communications technology to remove the network tether and enable a new wave of applications that bring the power of transaction processing to mobile workgroups. This sample describes a client that is based on current handheld Web technology and implements a set of functionality that will be implemented on other platforms as part of the HelpDesk sample.