Client-Server Architecture

KS3 Computer Science

11-14 Years Old

48 modules covering EVERY Computer Science topic needed for KS3 level.

GCSE Computer Science

14-16 Years Old

45 modules covering EVERY Computer Science topic needed for GCSE level.

A-Level Computer Science

16-18 Years Old

66 modules covering EVERY Computer Science topic needed for A-Level.

KS3 Connecting clients and server (14-16 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

A-Level Exchanging Data Resources (16-18 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

In order to establish strategic alliances or to acquire and exchange information between machines, networking is described as the act of making communication and data exchanging with other individuals, agencies, groups and organizations. Experts use networking to expand their networks of friends, to figure out career openings, to digitalize the businesses, marketing of products, and to improve their knowledge of news and events in their industries. Whereas individuals use social relations, communication and educational purposes.

Client-Server Architecture Image 1
Figure 1: Client-Server Framework

The client-server framework is also known as a “network computing model” as all the services and requests are accomplished using the network. Its operation is the same as distributed computing systems as all the nodes are doing an independent task. It is a shared computing network where various remotely connected devices send multiple requests to a centralized system (server or host machine). The client machine offers a user-friendly design that enables visitors to fire server computer request services and eventually display your performance on the client device.

Client-Side & Server Side:

An operation performed by the user or clients end in the client-server architecture of a network is called client-side. Client-side works as a front end like interface on the system; on the other hand, the server-side performs working at the back end. The web browsers used for requesting pages are considered as client-side; however, the server, from where the requested page will be submitted and will give the data to show on the device will be the server that is hosting the page. Many programming languages for web coding are built to operate on either the server-side or the client-side.

Almost entirely in JavaScript, client-side creation is completed. This is in terms of basic HTML and CSS coding. The explanation JavaScript is considered a client-side language. This is because once a user loads a web page, it runs scripts on the machine. However, on the server-side or in the back end, before the loading of HTML, language runs the written script.

Client-Server Architecture Components:

Working of each architecture requires few components. Similarly, the client-server architecture is based on three interconnected components listed below.

  1. Workstations
  2. Servers
  3. Networking Devices

1. Workstations:

Workstation is the system of users that are sometimes also named as “client’s computer”. These workstations use various kinds of operating systems. Most of the times MS Windows are used on the workstations. Although, the OS used on the client’s workstation is much cheaper than the OS considered for server machines. 

2. Server:

An ultra-performer device that retains a fast processing speed, more storage space and robust memory to deal with multiple requests approaching simultaneously from various workstations. At the same time, a server performs numerous kinds of functions, such as mail servers, database servers, file servers, and domain controllers.

3. Networking Devices:

Workstations and servers are interconnected with each by means of a specific medium. Such a medium is called a network device. Each networking device used in the client-server architecture has its operation and properties.

  • For making a connection to a server with various workstation hubs are used.
  • For transferring data from a device to another device, repeaters are used.
  • For isolated network segmentation bridges are used.

Client-Server Architecture Working:

Client-server networking was only utilizing mainframes and linking to massive terminals a long time back. PCs have begun to develop to substitute these devices over the years, but the computation is still performed on the mainframes. The processing needs began to be divided between PCs and mainframes with the progress of digital technologies.

A network design model composed of two elements, client nodes and server nodes, relates to the word client-server. These two elements may communicate and build a network linking several users. Computers can connect on a network employing such technology. These networks target the paradigm of file sharing, where the device downloads data from the respective file server and the program uses the received data to operate locally.

In a client-server architecture, clients are considered as users or consumers, whereas the server performs like a producer. A client often demands high-end computing services from the server to fulfil the requirements. Servers facilitate various services to the client that include access for specific applications, storage of data, sharing of files, utilizing the computing power by means of the server. A user at its end sends a request to the server using a network that is processed at various stages and then data is delivered to the user according to the submitted request. Moreover, servers can entertain multiple consumers simultaneously. Meanwhile, a client has to remain connected with the various servers in a single time as each server is providing services according to its domain.

As it progressed, the architecture paradigm worked very effectively with what others refer to as Web 2.0, where the Internet eventually became a customer’s usable remote environment. It offered a planned and organized model for how client sessions would go and how providers distributed services dependent on demands for data packets and other resources.

Client-Server Architecture Types:

The functionality of client-server architecture is in various tiers. Below are the types where different layers operate in accordance with their type.

  1. 1 Tier Architecture
  2. 2 Tier Architecture
  3. 3 Tier Architecture
  4. N Tier Architecture

1). 1 Tier Architecture:

The kind of architecture contains all sorts of settings on a single device. The setting involves configuration setting, data and marketing logic. 1 Tier architecture is one of the reliable sources because of services; however, handling such an architecture is a bit difficult as data resides in different variance. Below are the few layers that hold 1 tier architecture.

  1. Presentation layer
  2. Business layer
  3. Data access layer

All the layers work integrated with the help of a unique software package. The data is stored on local devices.

2) 2 Tier Architecture:

This architecture facility has the best environment. As it assists in saving the user interface on the system of the user (client) and the related data based are stored on the server device. Database logic and business logic needs to be maintained where these logics are to be stored either on the user’s end or the server’s end. When these logics are stored on the client’s end, the architecture is called “fat client thin server” however, if these logics are handled at server device then we call it as “thin client fat server”.

Upon firing the command by the client gives a quick response, and the fastest rate is achieved as client-server devices are directly in relation (without the participation of an intermediate party). Most of the time, ticket reservation agencies employ 2 tier architecture.

This approach has certain benefits that include the best performance, application designing of the 2-tier architecture is easy; users give satisfactory results in a response of this architecture and homogeneous environment. The limitations of this framework include less security; growing users can affect the performance of architecture and least portability.

3) 3 Tier Architecture:

A middleware lies in between the client and the server machines in 3 tier architecture. If a user needs specific information from the server, the user will generate the request that will first be received by the middle layer, which will then be dispatched to the server for further actions. In the same pattern, the response will be reached to the user’s end. That first is received at the middle layer, and then the middle layer will dispatch the received data from the server to the user’s end. Middleware has a provision to control and store the data logics and business logics. Middleware in the 3-tier architecture helps to optimize the flexibility and performance of the architecture. The framework is categorized into three main layers

  1. Presentation layer (Users’ Tier)
  2. Application layer (Business Tier)
  3. Database Tier (Data Tier)

Different layers can control all the tiers. As the presentation layer is controlled at the user device. The business tier or middleware handles the application layer, and the server machine tackles the database tier.

This architecture has also a few benefits like better security of data, invisible database structure, outperformed data integrity. The single limitation of this approach is the complexity of communication due to the presence of the middleware system.

4). N Tier Architecture:

The technique is a scaled form, considering three tiers. The approach is also named as “Multi-tier architecture”. This architecture has a provision for locating each function as an isolated layer that includes presentation, application processing and management of data functionalities.

Client-Server Architecture Characteristics:

  1. The architecture operates through a request and response mechanism. A request is submitted to the server by the client, and the server provides data in response to requested details.
  2. A standard contact protocol is adopted by the architecture so that devices can communicate with one another easily. In the application layer, all the data transferring protocols are accessible.
  3. Only a finite amount of client queries may be accommodated by a server at a particular time. In order to reply to all queries, it employs a method targeting priority.
  4. In the server-side, denial threats also affect the authenticated request.
  5. A web server is an example of the architecture programming scheme. It gives the web sites back to the consumers who ordered them.
  6. As the functionality of both client and server are different; therefore, different hardware and software resources are required for both kinds of machines.

Client-Server Architecture Examples:

1. Web Servers:

A robust computational device that can manage many websites is like a web server. Installing numerous kinds of web server applications on this computer, such as Apache or Microsoft IIS, offers links to the various web pages hosted on the online, and such servers are connected to the Internet by higher-speed connections that offer ultra-speed data transfer speeds.

2. E-Mail Servers:

e-mail servers are a valuable asset for companies, agencies and individuals as well. That enables the transferring of messages among various stakeholders. Specific applications perform functions on the mailing servers that permit the administrators to establish and control email accounts for the specific domain that server hosts. Various protocols include SMTP, IMAP, POP3 for email communication. Service Mail Transfer Protocol (SMTP) is a general approach used for firing the messages as well as to control the outgoing emails. However, the Internet Message Access Protocol (IMAP) and Post Office Protocol V3 (POP3) is used for reception and controlling the incoming emails.

3. File Servers:

File servers are exclusively allocated structures that facilitate all data to be accessed by clients. It serves as a consolidated place for storing data, and many terminal systems may manage it.

4. Domain Name Server (DNS):

The DNS is an essential term of the Internet. Most internet users are getting benefit from this application daily but not each user is familiar with this terminology. DNS is a kind of digital directory that holds the names of and matches those names with numbers. Here we consider the internet protocol (IP) as numbers. IP’s are used as addresses for communication of devices connected with the Internet. Devices connected to the Internet that include a smartphone, laptops, personal computers, and tablets have a unique IP address. Therefore, it is the decentralized system used for matching the website names (URL) and numerical address (IP) on the web of a specific website for which the client is requesting.

Client-Server Architecture Advantages:

The benefits related to client-server architecture are discussed below.

  1. There is a centralized network that has full leverage to control the processes and activities in a client-server architecture.
  2. The central area of the architecture is used for the storage of data.
  3. The devices used in architecture can be controlled centrally.
  4. Network protection, data backup and all other concerned elements are tackled centrally.
  5. Users have the authority to access all the files at any time residing on the central storage.
  6. There exists no restriction regarding geography to access the information. One can access any information from any place.
  7. The architecture can be expanded as the growth requires the scaling of users or any other parameters.
  8. It offers service incorporation, which ensures that it allows user authorization to view business data through its device and to delete any inappropriate access for logging in.
  9. Clients have the facility to share any resources at various platforms and places.
  10. The client-server design is implemented on a distributed model basis, ensuring that the server is replaced, restored, upgraded and moved without influencing the client.
  11. The architecture can tackle massive weight given clients, systems, devices and network loads.
  12. The architecture provides an easy user interface, file finding procedure and management system for keeping all the files in an organized pattern.
  13. The architecture facilitates the data overwhelming by the reduction in data replication.

Client-Server Architecture Disadvantages:

The limitations of the client-server architecture are focused below.

  1. The users will suffer if the primary server goes dump.
  2. The architecture requires a particular OS related to networking.
  3. Configuration of Hardware components and software tools utilize plenty of costs.
  4. There is a need for technical as well as skilled staff for maintenance of the network specifically for server machines.
  5. Numerous requests simultaneously can cause “traffic congestion problems”.
  6. The architecture can mostly be availed in large organizations and enterprises as the cost is unbearable for typical clients.

Peer to Peer & Client-Server Network, Differences:

Table 1: Difference between Client-Server and Peer to Peer Networks

S. No.Client-Server NetworkPeer to Peer Network
1Clients and Servers are specified as both the systems are distinctNo differentiation between clients and servers
2The main target is to share the informationThe primary purpose is to maintain connection among the peers
3For storage of data a centralized approach (server) is usedEach connected device retains its data.
4Each time the client requests the server for specific data and the server provides the data in response to that request.Peers have the authority of both request and response services.
5The approach is more expensive than P2P network.The technique is cheaper than a client-server network.
6This kind of networking technology is used for small and enlarged networks.P2P networks are commonly used by few users, mostly less than ten devices.

Summary & Facts:

What is the medium of fulfilling the request in client-server architecture? Also, state the other name of this architecture.

All the services and requests are accomplished using a network. The client-server framework is also known as “network computing model”.

What is the significant factor in client-server architecture?

It is a shared computing network where various remotely connected devices send multiple requests to a centralized system (server or host machine).

Difference between client-side and server-side?

The operation performed by the user or clients end in the client-server architecture of a network is called client-side. Client-side works as a front end like interface on the system; on the other hand, the server-side performs working at the back end. The web browsers used for requesting pages are considered as the client-side.

Illustrate the components of client-server architecture?

Undermentioned are the three components used in a client-server architecture.

  1. Workstations
  2. Servers
  3. Networking Devices

Enlist the various types of client-server architecture?

There are four various types of client-server architecture.

  1. 1 Tier Architecture
  2. 2 Tier Architecture
  3. 3 Tier Architecture
  4. N Tier Architecture

Name the significant examples related to client-server architecture?

  1. Web Servers
  2. E-Mail Servers
  3. File Servers
  4. Domain Name Server (DNS)

Highlight the significant advantages of client-server architecture?

  1. A centralized network.
  2. The central area used for storage of data.
  3. The connected devices controlled centrally.
  4. Network protection and data backup tackled centrally.
  5. Users can access data at any time, any place, residing on the central storage.
  6. Easy scaling by the growth of users.
  7. It offers service incorporation.
  8. Resources of this architecture can be shared anytime, anywhere, anytime.
  9. Design is implemented on a distributed model basis.
  10. Can bear a massive load.
  11. Easy file finding.
  12. Easy user interface.
  13. Organized management system.
  14. Facilitates the data overwhelming by the reduction in data replication.

Highlight the disadvantages of client-server architecture?

  1. Server dumping can cause severe issues for clients.
  2. Needs an OS related to networking.
  3. Expensive configuration among hardware and software.
  4. Requires skilled manpower for maintenance. 
  5. “Traffic Congestion Problem” while collective requests occur.
  6. Cost is high, unbearable for typical clients. 

References:

  1. http://digitalthinkerhelp.com/what-is-client-server-architecture-diagram-types-examples-components/
  2. https://i.ibb.co/QkvfjDh/cna.png
  3. https://www.yourdictionary.com/networking
  4. https://www.codeconquest.com/website/client-side-vs-server-side/
  5. https://en.wikibooks.org/wiki/A_Bit_History_of_Internet/Chapter_5_:_Client-Server
  6. http://digitalthinkerhelp.com/advantages-disadvantages-characteristics-of-client-server-architecture/
  7. https://www.geeksforgeeks.org/difference-between-client-server-and-peer-to-peer-network/