A thick client (sometimes called a fat client) is a form of client-server architecture. Specifically, it is a networked computer system with most resources installed locally, rather than distributed over a network. Thick client devices can be, for example, PCs, because they have their own hard drives, software applications and other local resources. Most, if not, all essential components are contained in a thick client.
Thick clients are almost unanimously preferred by network users because they are very customizable and the user has more control over what programs are installed and the specific system configuration. Workplaces will commonly provide thick clients to employees so they can work offline. With thick clients, there is no need to have continuous server communication.
Thick clients are connected to a server over a network connection but don't need to have a maintained connection. The temporary connection is needed to download programs, data and updates to the operating system. In addition, thick clients don't need to consume any server computing resources. Most resources will be available on the client, so it can function independently. Thick clients will excel in environments where the primary server has limited storage and computing capacity, or experiences high network speeds, as well as in work-from-home environments.
Similarly, a system that has some components and software installed but also uses resources distributed over a network is sometimes known as a rich client.
Benefits and drawbacks of thick clients
Thick clients have a number of benefits to them, for example:
- Working offline. One of the biggest benefits of thick clients is the ability it gives to work offline. Thick clients normally have the hardware and software requirements to work as needed, often without needing to be connected to a central server.
- Server connection. Thick clients can work offline because they don't need to maintain constant connections to central servers. Once an initial amount of information is gathered from a server, server connections are generally not needed.
- Fewer server requirements. The servers that thick clients connect to don't need to be as high-performing. Since the thick clients do a lot of the application processing, that can allow for cheaper servers.
- Server capacity. The use of thick clients normally means more server capacity is available. With fewer requirements that a server has to provide to each individual client, the server can benefit more clients.
- More flexibility. Having a computer that works off of its own local resources -- operating system, user interface, storage -- means a large level of flexibility. They should be able to work from wherever, as long as they are able to have a momentary connection to a central server to download any needed data.
- Existing infrastructure. In the same line of thought, many organizations may already have fast enough local PCs to implement an infrastructure to run thick clients with relative ease.
- Storage. Files and applications can be stored on the thick client, meaning they can be accessed at any time.
- Computer performance. Any application that would be resource or bandwidth-intensive should be able to perform well since resources are being taken from the individual computers and not being allocated by a central server.
Thick clients are not free from their downsides, however, including:
- Security. The individual will now have to be more responsible for the security and protection of their computer, since data will be stored on the thick client.
- Data storage. Data storage can be a double-edged sword as data now needs to be backed up in order to ensure the data isn't gone forever if something goes wrong.
- Investment into each client. The hardware and software will have a higher up-front cost, and will then have a continual cost in maintenance and updates.
- Maintenance. May include updates for security or any hardware and software fixes across the connected clients.
- Network traffic. There can be a lot of network traffic since each client needs to bring data through a network to work on locally.
- New applications. New applications that a client may need may also have to be uploaded on other workstations.
Examples of thick clients
A good example of a thick client is a computer that's given to a company employee. In general, it would be safe to assume most employees will need to utilize the same, or similar, client applications and files. A thick client could come with the list of business applications needed. Because the computer has all of the hardware and software needed, the employee only needs to connect to the company's server to download updates or to retrieve any other data needed. Once that data is downloaded, they no longer need a connection to the network. If the employee needs to work from home, this could be very useful, since they don't have to worry about staying connected the whole workday. If the employee loses their internet connection, they can continue working with all their files saved on their computer's hard drive -- assuming the application doesn't need internet, that is.
Thick clients vs. thin clients
Thin clients are another form of network architecture, which works as an opposite of thick clients. A thin client is a low-cost network computer that relies heavily on a server for its computational role. The idea of a thin client is to limit the computing capabilities to only essential applications.
As opposed to thick clients, thin clients are more easily manageable, are easier to protect from security risks, and are lower on maintenance and licensing costs. The biggest and most obvious difference between the two is that thin clients rely on a network connection for computing and don't do much processing on the hardware itself. Thick clients don't need the constant network connection and can do much of the processing for client/server applications. Thin clients are also run as specified by the server, but may also have more downtime.
History of thick clients
Thick clients were generally not used often until the initial increase in personal computer usage. At this point, thin-client architectures became popular because of the cost of providing everyone with more expensive, larger CRT terminals and PCs. As time went on, however, the use of thick clients became more relevant because they were more responsive without needing a constant sever connection. Even though thick clients are much more widespread today, thin clients are also still used.