Client-Server Architecture

What is Client-Server Architecture?

A client means a layer or a party who wants to get some kind of service from a person or a company. In network terminology, we can define the client-server as follows: In most networks, a server is connected to many terminals of the network. Normally, the server has got a big size non-volatile memory available (hard disk) where all the resources like files, tables, software, and related items are stored. The terminals connected to the network can access the stored files, tables, software, etc., from the server on request through the network. So here, the terminals connected to the network are getting some kind of service from the server on request. For this reason, all the terminals which get service from the server on request are called the clients, and the complete system is known as the client-server architecture.

Client-Server Architecture Components:

The following are the major components of client-server architecture.

  • Server.
  • Client.
  • Network Interface.
  • Middleware.
Client-Server Architecture

Server- It is a large workstation, a minicomputer, or a microcomputer. It consists of Database Management System (DBMS) and supports all basic DBMS functions. Server components of DBMS are installed on a server. It acts as a monitor of all of its clients. It distributes the workload to other computers. Clients must obey their servers. The server computer is called as back-end.

The following are the important functions of the server:

  • It supports all basic database management system functions.
  • It monitors all his clients.
  • It distributes workload over clients.
  • It solves problems that are not solved by clients.
  • It maintains security and privacy.
  • Avoiding unauthorized access to data.

Clients- are actually the PCs/ nodes/ workstations that provide services to both servers and users. It must obey its server. Client components of DBMS are installed at the client site. Clients are taking instructions from the server and helping them by taking their load. When any user wants to execute a query on a client, the client first takes data from the server then execute the query on his own hardware and returns the result to the server. As a result, the server is free to do more complex applications. The client’s computer is called as front-end.

Network Interface- Clients are connected to sever by a network interface. It is useful in connecting the server interface with the user interface so that server can run its applications over its clients.

In the Client-Server Architecture, there is more than one server. Sometimes, a server is used as a Database Server, another as an Application Server, another as Backup Server, etc. Client-Server Architecture handles the graphical user interface (GUI). A two-tier Client-Server Architecture is shown above.

In the three-tier architecture, we have another middle layer also which is called Middle-tier or Middleware. Middleware is designed to allow a single query to span multiple servers, without requiring all database servers to be capable of managing such multisite execution strategies. Data access middleware provides users with a consistent interface to multiple database management systems and file systems in a transparent manner. Data access middleware simplifies heterogeneous environments for programmers and provides users with an easier means of accessing live data from multiple sources. It eliminates the need for programmers to code many environment-specific requests or calls in any application that needs access to current data rather than copies of such data. The direct request or calls for data movement to several database management systems are handled by the middleware, and hence a major rewrite of an application program is not required. In short, middleware is a combination of hardware, software, and communication technologies that bring data management, presentation, and analysis together into a three-tiered Client-Server environment.

Advantages of Client-Server Architecture:

The following are the advantages of Client-Server Architecture.

  • It allows companies to leverage the benefits of microcomputer technology. Today’s workstations deliver impressive computing power at a fraction of the cost of a mainframe.
  • It allows most processing to be performed close to the source of processed data, thereby improving response times and reducing network traffic.
  • Clients offer an icon-based menu-driven interface which is better than the traditional command line, the dumb-terminal interface of mini, and mainframes.
  • The server (database) machine can be custom-built for the DBMS function. So, it can provide better DBMS performances.
  • It allows for and encourages the acceptance of open systems.
  • Security mechanisms can be implemented directly on the database server through the use of stored procedures.

Disadvantages of Client-Server Architecture:

  • Moving to Client-Server Architecture is a major two-to-five-year conversion process.
  • Controlling the Client-Server environment to prevent unauthorized use, invasion of privacy, and viruses is difficult.
  • It is a kind of centralized system. If the server is crashed or failed, there is a loss of data.
  • Using Client-Server Architecture leads to a multivendor environment with problems that are difficult to identify and isolate to the appropriate vendor.

FTP (File Transfer Protocol)
World Wide Web (WWW)
Internet and Its Uses
Applications of Computer
Characteristics of Computer
Client and Server Architecture Example– Microsoft

Comments (No)

Leave a Reply