In an n-tier application built to the Windows DNA model, the user-services tier handles presentation of information and interaction with the users. Some sources refer to this first tier as "presentation services" because some of the services performed in the middle (business) tier of an application, such as authenticating users, are user services as well.
It is probably best to think of the user-services tier as the client that you will deploy on a user's desktop. In Windows® DNA, you build and deploy clients along a continuum of thin clients to rich, or thick clients. This continuum classifies clients in terms of the functionality they present and their dependencies in a given environment.
The following diagram shows how these clients become more rich as they support increasingly advanced environments from simple page-based HTML to more full-featured Win32® executable programs. Windows DNA permits developers to choose the appropriate Windows components and Internet technologies to support the richest possible interface and range of client environments, from handheld wireless devices to high-end workstations.
The following topics discuss the four general types of clients, and describe some of the circumstances for which each is appropriate:
The Windows DNA architecture presents a range of possible clients. Selecting these clients, however, is a critical design choice that has as much to do with maintenance cost as with the functionality your application requires. A Win32 client that makes DCOM calls into the business-services tier provides the richest user interface. A Win32 client can be quite easy to develop, too. A simple client built in Visual Basic® can take advantage of the rich array of system services the Win32 API accesses.
In designing such an application, however, you need to assess the impact of deployment on your IT resources, first in terms of development cost and then in terms of maintenance and support costs. Is it appropriate to install the client on the desktop of every user? Will you require users to install the client themselves, or will IT staff install it? If you distribute the application by placing it on a network server, can you rely on your users to follow download instructions and install the client themselves? Every time you add functionality to the application, a new version of the client must be installed. Finally, does every computer in your organization use a Win32 operating system—Windows NT® version 4.0, Windows 95, or Windows 98?
A client run through Internet Explorer and developed for the Active Server Pages (ASP) environment with scripting languages and DHTML offers an alternative to installation issues raised by a Win32 client. You can create a rich user experience using ASP. With a Win32 client, you may need to provide users with a server name and a set of instructions for download and installation. With a browser-based client, you can take advantage of the integration of Internet Explorer with Internet Information Server and Active Server Pages to simplify this process. Users may need additional components, but Internet Information Server and Internet Explorer manage their download automatically. Moreover, much of the client's functionality already resides on the user's machine within the installation of Internet Explorer.
For a discussion of an application that includes both a Win32 client written in Visual Basic and a Web client using Internet Explorer, see Windows and Internet Clients for Island Hopper News.