How are applications continuously provided on servers

Client

The client-server model is the basis for many processes. Everyday things that we do on the computer are also based on this principle. But what does this actually mean and how can a client be defined?

1. Client-server model

1. Client-server model

1.1 What is a client?

A client is a computer or software that communicates with a server (central computer) and uses data and special services from it. The client is also often referred to as the Client application or Client program designated. The task of the client is to Requests to the server to transmit and to prepare the data in such a way that the user can read it on his device. The client itself does not perform any server tasks, but only serves as a Interface to the user. Examples of client applications include e-mail programs, the browser or FTP clients.

1.2 What is a server?

The term server has two different meanings in computer science. Hardware is a computer that makes its resources available for other computers or programs. The term “host” is also often used for a hardware-based server. As software, a server means a computer program that communicates with the client and accepts, forwards and answers its inquiries. The server usually provides the client with functionalities such as utility programs and network services via a network and enables him to access the data provided.

That comes for the provision of server services via a computer network Client-server model for use. The data exchange between client and server is made possible via specific transmission protocols.

The client-server model ensures that tasks and services within a network can be distributed to different computers and are available to several users. Servers that provide services over a network are permanently on standby so that clients can access the server at any time and use the services as they wish.

1.3 Advantages

The client-server model is used to distribute tasks within a network. This concept brings the user many advantages, which are listed below:

  • Central administration: The server is in the center of the network so that it can manage all of the user's resources, e.g. a central database. Maintenance is also very easy: For example, software updates are only carried out on the servers, so that the clients usually do not notice anything.

  • Saving of resources: Since data is stored centrally and is available at all times, it is not necessary to save the same data again on the different client computers.

  • Higher access security: The central data storage enables easy access control. Before accessing special data, clients must authenticate themselves with the server.

  • Expandable network: You can add and delete clients without affecting network operations and without major changes. In addition, the number of clients can in principle be expanded without restriction.

  • No location dependency: The central data storage means that users are not tied to a specific location, which is why the possible uses are very flexible.

  • High reliability: Servers are particularly fail-safe due to the RAID system (Redundant Array of Independent Disks).

1.4 Disadvantages

Even if the advantages of the client-server model predominate, there are also some weaknesses, which are to be mentioned below:

  • High acquisition costs: Since the server is very powerful, its acquisition is also associated with high acquisition costs.

  • Server failure = total failure: Since the entire network is built around the server, a targeted attack on the server or a hardware defect causes a total failure of the network, because the clients are denied access to the data and services of the server.

    This can be remedied by a redundant configuration of the network with several servers, which is particularly common on the Internet. The services and data are offered and stored by several servers.

  • Server overload leads to time delays: With the architecture of the client-server model, the individual client-server connections have a certain bandwidth available, which, however, decreases as the number of connections increases. This can lead to an overload when there are many simultaneous requests to the server, which results in longer waiting times for the clients.

1.5 Client-server model examples:

  • Web server, on which websites are stored e.g. Apache.

    Example: First, the client (PC or mobile device) sends its IP address to the web server and sends the request to be able to access the website.

    The server receives the request and answers it by sending the requested data to the client. The website is then opened in the browser.

  • Printer server: Receives the print job from the client and forwards it from the computer to the printer

  • File server: All files that the users have created are stored on this server. Usually, FTP is used as the network protocol

  • E-mail server: This server provides each user with a mailbox so that communication via e-mail can be carried out on the server. The e-mail server manages, stores and distributes e-mails. The following protocols are used here: IMAP, SMTP, POP, TLS.

  • Database server: Provides data to clients centrally with the help of a database management system so that they can access this data in parallel.

  • Proxy server: This server provides a user with central access to the Internet and manages this. When using a proxy as a network component, it ensures that its own IP address is hidden in order to create a certain anonymity on the Internet.

  • VPN server: The VPN server enables an encrypted connection to a private network.

2. Types of clients

2. Types of clients

Since there are different types of clients and also some mixed forms of them, it is necessary to categorize them. A distinction is made between:

2.1 Fat Client

One speaks of one Fat client, often too Thick client called, one means a fully equipped, powerful Desktop computerthat has sufficient computing capacity, a floppy disk and CD-ROM drive, disk storage and powerful graphics cards.

In the case of a fat client, the actual data processing is carried out locally on the client, since it has its own locally installed hard drives, drives or applications. The Fat Client consists of a programming interface, the hardware itself and a graphical user interface. As an example of a fat client, a Windows based PC to be named.

2.2 Thin Client

The counterpart to the fat client is the thin client. A thin client is a computer or program that requires less hardware and processing power and relies on a server to do the job. The operating system, application-specific functionalities and program updates are provided by the server. This saves maintenance costs as well as computing power and energy. As examples can Windows terminals, network computers and NetPCs to be named. Many thin clients are only able to read out the data transmitted by the server and to forward user input to the server.

Especially in the Cloud computing this type of client is often used. Because by outsourcing computing power, companies can benefit from thin clients. Due to the minimal load to which thin clients are exposed, they also have a longer service life than classic desktop systems.

2.3 Difference between fat and thin clients

In contrast to fat clients, thin clients are only equipped with the most necessary computers, the tasks of which are performed by servers, so that their dependency on the network is increased. Compared to fat clients, thin clients have little hardware equipment and are generally only used to display server data on the desktop and to enter data using the mouse and keyboard.

2.3.1 Advantages of a fat client

The hardware and software of the fat client are designed in such a way that they can do their jobs themselves, even if they are offline. It therefore mostly obtains its resources locally and not, like the thin client, from a network. This means that low requirements (e.g. for bandwidth) can be placed on the respective server. Due to the installed operating system on the fat client, more applications can be installed there and the respective server has a higher capacity available so that more clients can be served.

2.3.2 Disadvantages of a fat client

A fat client means one due to complex operating systems high administration effort and the provision of applications becomes a challenge with an increasing number of workstations. In addition, the installation of software on your own client involves Security risk.

2.3.3 Advantages of a thin client

The greatest advantage of the thin client is its ease of operation, because unlike the fat client, only software that is required for access to centrally operated applications runs on the thin clients. In addition, thin clients are often preconfigured by the manufacturers so that they only have to be connected to a functioning network and can then be put into operation. Another advantage over fat clients is that the number of thin clients that can be used is almost unlimited. Furthermore, thin clients have no moving parts, which makes them much more cost-effective to manufacture.

The energy consumption of the thin client is also significantly lower. Only 10 to 20 watts are required per thin client model. In contrast, high-performance desktop computers consume between 40 and 120 watts due to their multi-core CPUs - and that without peripherals. The last advantage to be highlighted is the average useful life. This is only three years for desktop PCs. For thin clients it is around 7 years on average.

2.3.4 Disadvantages of a thin client

The main disadvantage of a thin client is that it can only be used if there is a network connection. This means that mobile users can only use them to a limited extent. In addition, a thin client quickly reaches its limits when a graphically demanding application with many server / client solutions is to be executed and the network is not able to process the amount of data quickly enough. Another point of criticism is that a thin client generally only recognizes a few peripheral devices such as a mouse, keyboard and screen.

2.4 rich client

Rich clients, sometimes also called smart clients, are frameworks or development environments that do the majority of their tasks themselves at the local level and rarely outsource tasks to the server. As a result, the rich client can work in a more resource-efficient manner and offers the best possible scaling and performance of applications. Since most of the tasks are carried out on the user hardware, the rich client can also work when there is no network connection.

A big advantage over the fat client is that with the rich client not only one problem, but related or unrelated problems can be solved. A rich client is not only able to read and send e-mails, but it can also upload and download files via FTP. A rich client is also easier to manage and update thanks to an automatic online update function in the client itself or a WebStarter. Disadvantages of a rich client are, on the one hand, the higher costs of the clients and the higher hardware requirements.

2.5 An overview

2.6 Conclusion

The advantages of thin clients predominate in more and more areas. Especially in complex work environments with a large number of workstations, they offer an inexpensive alternative to the normal desktop system. Due to their minimal load, thin clients have a much longer lifespan than fat clients, and so it is foreseeable that the market share of thin clients will steadily increase over the next few years.

3. Client Applications & Samples

3. Client Applications & Samples

  • FTP client: FTP stands for File Transport Protocol. The FTP client is required to transfer files. The FTP server provides the client with files for downloading and also accepts files for upload. The FTP client is usually installed on the computer. It is the source of the requests for data transfers and it is necessary to access the server.
    FTP addressing in the browser could look like this:
    ftp: // [ftp_username [: ftp_PWD] @] servername [: port]
  • Email client: An e-mail program, also known as an e-mail client, is software that can be used to create, send, receive, filter and read e-mails. The protocols used here are SMTP, POP3 and IMAP. E-mail clients can either be stand-alone programs or an integral part or plug-in of smartphone or Internet browsers. Well-known e-mail clients are Microsoft Office Outlook, Windows Live Mail, Mozilla Thunderbird, Outlook Express, Apple Mail and Eudora.

  • SSH client: The abbreviation SSH stands for Secure Shell and describes a program with which it is possible to establish a secure, encrypted network connection with an SSH server.

4. FAQ - common questions

4. FAQ - Frequently asked questions

1. What does a client do?
The client transmits requests to the server and serves as an interface to the user, as it prepares the data in such a way that the latter can read it on his end device.

2. What is the difference between client and server?
A client transmits requests to the server and prepares the data so that the user can read it on his end device. It serves as an interface to the user and, in contrast to the server, actively requests a service. The server behaves passively and only waits for requests from the client and provides the desired service.

3. What is a web client?
Web clients are also called browsers and are used on the World Wide Web to send requests to the web server using HTTPS. The web client and web server communicate using the request-response procedure. The web browser sends a request to the web server, e.g. via website content. This sends the desired file to the web client. The website then opens in the browser.

4. What are the advantages of a rich client over a fat client?
In contrast to the fat client, a rich client is more resource-efficient. In this way, not only can a problem be solved, but solutions for related or even alien problems are also found. In addition, a rich client is easier to manage and update thanks to an automatic online update function.

5. Related links

5. Further links:

Term (Duden)
Client definition & explanation (Wikipedia)
Security & Future (Search Security)