- Client (computing)
-
A client is an application or system that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network. The term was first applied to devices that were not capable of running their own stand-alone programs, but could interact with remote computers via a network. These dumb terminals were clients of the time-sharing mainframe computer.
The client–server model is still used today. Client and server can run on the same machine and connect via Unix domain sockets, or other inter-process communication techniques such as shared memory, or named pipes. Using Internet sockets a user may connect to a service operating on a possibly remote system through the Internet protocol suite. Servers set up listening sockets, and clients initiate connections that a server may accept. Web browsers are clients that connect to web servers and retrieve web pages for display. Most people use email clients to retrieve their email from their internet service provider's mail storage servers. Online chat uses a variety of clients, which vary depending on the chat protocol being used. Multiplayer online games may run as Game Clients on each local computer.
Increasingly, existing large client applications are being switched to websites, making the browser a sort of universal client. This avoids the hassle of downloading a large piece of software onto any computer you want to use the application on. An example of this is the rise of webmail.
In personal computers and computer workstations, the difference between client and server operating system is often just a matter of marketing - the server version may contain more operating system components, allow more simultaneous logins, and may be more expensive, while the client version may contain more end-user software.
Contents
Types
Clients are generally classified as either "fat clients", "thin clients", or "hybrid clients".
Local storage Local processing Fat Client Yes Yes Hybrid Client No Yes Thin Client No No Fat
Main article: Fat clientA fat-with low-fat client, also known as a rich-poor client or thick-thin client, the personal computers or laptops can operate independently.
Programming languages and/or development tools for rich clients typically include Delphi, .NET Framework, Java and Visual Studio.
Thin
Main article: Thin clientA thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client's job is generally just to graphically display pictures provided by an application server, which performs the bulk of any required data processing. Programming environments for thin clients include JavaScript/AJAX (client side automation), ASP, JSP, Ruby on Rails, Python's Django, PHP and other (depends on server-side backend and uses HTML pages or rich media like Flash, Flex or Silverlight on client).
Hybrid
Main article: Hybrid clientA hybrid client is a mixture of the above two client models. Similar to a fat client, it processes locally, but relies on the server for storage data. This approach offers features from both the fat client (multimedia support, high performance) and the thin client (high manageability, flexibility).
Notes and references
Categories:- Clients
Wikimedia Foundation. 2010.