Thin client
A Thin client is a computer (client) in client-server architecture networks which has little or no application logic, so it has to depend primarily on the central server for processing activities.
Introduction
In designing a client-server application, there is a decision to be made as to which parts of the task should be done on the client, and which on the server. This decision can crucially affect the cost of clients and servers, the robustness and security of the application as a whole, and the flexibility of the design to later modification or porting.
One design question is how application-specific the client software should be. Using standardized client software such as a Web browser or X11 display can save on development costs, since one does not need to develop a custom client—but one must accept the limitations of the standard client.
Depending on the outcome of these decisions we might say that we use either a thin client or a thick client (or a mixture of both).
Definitions
A thin client may be an application program or a device for the execution of thin-client application programs. Unfortunately, however, there is no precise definition (in terms of quantifiable terms) for when the client program or device may be called a thin client or not.
Application Program
A thin client (application program) is a program which communicates with an application server and does not incorporate the significant elements of business logic which the overall (client-server) application implements. Instead, the core functions of the application are located on a distinct computing device, an application server, which may be located nearby in a LAN or at a distance on a WAN or MAN.
In short, a thin client does most of its processing on a central server with as little hardware and software as possible at the users site.
The meaning of the words "significant elements", "core function", "most" and "as little" are arguable.
Other definitions of thin versus fat client application program try to draw the line at the fact if the deployment of the application requires the installation of additional software at the client or not. Unfortunately, this is also arguable, since e.g., a browser used for a client application might be part of one client platform, but not the other. So on one platform no additional software installation is required, while another client platform requires it.
User-Interface Device
A thin client (device) is a device which is designed to provide just those functions which are useful for user-interface programs. Often such devices do not include hard disk drives, which may become corrupted by the installation of misbehaved or incompatible software, but instead, in the interests of low maintenance cost and increased mean-time between failures (MTBF) the thin client device will use read-only storage such as a CD-ROM or flash memory.
Ideally the user will have only a screen, keyboard, a pointing device (if needed) and enough computer to handle display and communications.
Device for running a Thin Client Application Program
"Thin client" has also been used as a marketing term for computer appliances designed to run thin client software. An X terminal, Clearcube or Web kiosk might be considered thin clients in this sense.
Thick Client
A thick client does as much processing as possible and passes only data required for communications and archival storage to the server.
Advantages of Thin Client
Less expensive. In concept, thin clients are cheaper and require less administration than thick clients.
Ease of software upgrading. Applications and services only need to be installed or upgraded at the server rather than on each machine like thick clients.
More secure. Thin clients also have security advantages because little or no application data is contained on the client. Furthermore, the thin client device can be made physically secure (without removable media or user-accessible network ports). Thin clients have advantages in combatting malware as protection can be managed centrally rather than having to ensure all network clients have up-to-date protection. Thin clients also have advantages in situations requiring content control, as content filters can be managed centrally.
Advantages of Thick Client
Less network bandwidth. Thick clients typically require less network bandwidth.
Less server requirements. A thick client server does not require as high of performance as a thin client server (since the thick clients themselves do much of the application processing).
Better multimedia performance. Thick clients have advantages in multimedia-rich applications that would be bandwidth intensive if fully served. For example, thick clients are well suited for video gaming.
Examples Of Thin Client and Thick Client Usage
The advocates of both architectures tend to have contentious relationships. In practice, there seems to be little to choose between the two approaches for many applications. A few situations may clearly call for one or the other. Distributed computing projects such as the SETI@home project (whose whole point is to pass off computationally intensive analysis to a large collection of remote computers) are applications that require thick clients. On the other hand multicasting entertainment or educational material to a number of clients might best be done with thin clients since exactly the same material is to be presented at each.
Protocols
Some examples of protocols used for thin clients - server communication are:
- X11
- used by all Unix variants
- Citrix ICA with MetaFrame
- used by Windows RDP
- HTML over HTTP
- used by the myriads of web applications
See also
- dumb terminal
- Linux Terminal Server Project [1] (http://www.ltsp.org/)
External links
- Thethin.net (http://www.thethin.net/)
- Thinstation (http://thinstation.sourceforge.net/)
- Thinlet.com (http://www.thinlet.com/)
de:Netzwerkrechner pl:Cienki klient