The Thick and Thin of IT

With the release of Microsoft's Visual Studio .NET tools, there is a heavy emphasis on "Web services." With the .NET Framework, the idea is that Web-based applications can be designed using the same types of tools used to design traditional software applications. In fact, programs designed to operate via a Web browser can even share code with more traditional stand-alone applications that also use the .NET Framework. This greatly improves the foundation and overall architecture of so-called "thin client" applications. A scaled-down version of .NET, called the .NET Compact Framework, will allow similar functionality for the Pocket PC.

Unfortunately, while a beta test version is available to development partners, the final version of the .NET Compact Framework has not been released yet. Of course, as the saying goes, when all you have in your toolbox is a hammer, then every problem looks like a nail. For Pocket PC developers who want to use .NET, the hammer is mobile Web services and the nail is a "thin client application."

WHAT ARE "THIN CLIENT" APPLICATIONS?

A thin client application typically uses a Web browser (such as the Pocket Internet Explorer on the Pocket PC) to provide the user interface. All of the data and logic that act upon it reside on one or more servers to which the client must be connected for the application to operate properly. Because of this, a thin client is often referred to as a "connected model" design.

In contrast, a thick client (or more appropriately, a "smart client") performs some or all of the computing locally. This allows the application to work in a "disconnected state." Of course, as you can safely guess, both thin and thick client architectures have advantages and disadvantages of their own. The following may help you evaluate your options.

DATA MANAGEMENT

Most enterprise applications for the Pocket PC involve the collection or referencing of data. However, the type of data management needed depends on the specific application.

The simplest data requirements are for reference material. Programs that replace printed reference books tend to present information that doesn't change very often, and when the data does change, the updates are from a central authority. Examples of such applications would be a sales catalog or a medical reference book. Since the information can be considered static in nature, it can easily be placed on the Pocket PC, making it available to the user even when disconnected from any server. In this case, a smart client application is generally preferable to a Web-based solution.

At the other end of the complexity scale are applications where multiple users can make changes to the same data at the same time. An online inventory control system would be such an application. Sales representatives in the field might access the current inventory to determine if an order can be delivered from stock. When a sales rep places an order using a Pocket PC, all other sales reps need to know that the units ordered are no longer available. In this case, by using a thin client, it is simple for the server to reject a second order for inventory that was depleted by one received even a split second before.

Most applications fall between these two in terms of data management complexity. In many cases, a little advance planning can determine a single source for data updates. In a service order entry application, the list of services available and the specific work orders would be entered and controlled centrally, while the users of the Pocket PCs would be entering information about the services they performed. Since each user would enter his or her own information, no data conflicts should occur, even if many hours (or even days) go by between the times that the users connect to the central server.

 

Syndicate content