Client-Server Architecture | Types Of Client Server Architecture

Client-Server Architecture

Client-Server Architecture is a distributed system architecture where the workload of client server are separated. Clients are those who request for the services or resources and Server means the resource provider. The server host several programs at its end for sharing resources to its clients whenever requested. Client and server can be on the same system or may be in a network.

Client Server architecture is centralised resource system where Server contain all the resources. The server is highly secured and scalable to respond clients. Client/Server Architecture is Service Oriented Architecture that means client service will never be disrupted.

Client/Server Architecture reduced network traffic by responding to the queries of the clients instead of complete file transfer. It replaced the file server with database server. RDBMS is used by the server to answer client’s request directly.

Client Server Architecture | MSA Technosoft

Types of Client Server Architecture :

  • 1 tier architecture
  • 2 tier architecture
  • 3 tier architecture

1 tier architecture :

1 tier Client Server Architecture | MSA Technosoft

In this type of client server environment the user interface, business logic & data logic are present in same system. This kind of client server service is cheapest but it is difficult to handle because of data inconsistency that allows repetition of work.

2 tier architecture :

2 tier Client Server Architecture | MSA Technosoft

In this type of client server environment user interface is stored at client machine and database are stored on server. Database logic & business logic are stored at either client or server but it must be unchanged. If Business Logic & Data Logic are stored at client side, it is called fat client thin server architecture. If Business Logic & Data Logic are stored on server, it is called thin client fat server architecture. This kind of architecture are affordable and comparatively better.

2-tier architecture is useful where a client talks directly to a server. There is no intervening server. It is typically used in small environments. Here, the user interface is placed at user’s desktop environment and the DBMS services are usually placed in a server.Information processing is split between the user system interface environment and the database management server environment.

3 tier architecture :

3 tier Client Server Architecture | MSA Technosoft

In this kind of client server environment an additional middle-ware is used that means client request goes to server through that middle layer and the response of server is firstly accepted by middle-ware then to client. This architecture overcomes all the drawbacks of 2-tier architecture and gives best performance. It is costly and easy to handle. The middle-ware stores all the business logic and data access logic. If there are multiple Business Logic & Data Logic, it is called n-tier architecture. The purpose of middle-ware is to database staging, queuing, application execution, scheduling etc. middle-ware can be file server, message server, application server, transaction processing monitor etc. It improves flexibility and gives best performance.

The middle-ware are implemented in different ways such as transaction processing monitors, message servers or application servers. The middle-ware perform several functions like queuing, application execution, database staging. It also adds scheduling and prioritisation for work in progress.

3-tier architecture is used to improve performance for large number of users. It also improves flexibility when compared to the two tier approach. but, the development environment is more difficult to use than the development of two tier applications.

Why use Client-Server architecture?

  • The Client-Server architecture decrease network traffic by providing a query response rather than total file transfer.
  • It allows multi-user updating through a graphical user interface to a shared database. It uses SQL or some other language statements to communicate between Client and Server.

Was it Helpful? Must share your views in comment section below. For more informative article, visit our Tech-Blog

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.