What is Client Server Architecture
Definition – Client-server architecture is also called of the “Client/Server Network” or “Network computing Model“, because in this architecture all services and requests are spread over the network. Its functionality like as distributed computing system because in which all components are performing their tasks independently from each other.
Client-server architecture is a shared computer network architecture where several clients (remote system) send many requests and finally to obtained services from the centralized server machine (host system). Client machine delivers user-friendly interface that helps to users to fire request services of server computer and finally to show your output on client system.
Diagram of Client Server Architecture
Types of Client-Server Architecture
In the 1-tier architecture, all client/server configuration setting, user interface environment, data logic, and marketing logic system are existed on the same system. These types of services are reliable but it is very difficult tasks to handle because they contain all data in different variance, which are allotted the replication of entire work. This architecture also contain the different layers.
For example – Presentation, Business, Data Access layer with using of single software package. All data is saved on the local machine. Some applications, which manage all three tiers like as MP3 player, MS Office; but these types of applications are presented under 1-tier architecture applications.
2-tier architecture provides the best client/server environment that helps to store user interface on the client system and all database is saved on the server machine. Business logic and database logic are existed on the client otherwise server, but they are required to be maintained. When data logic and business are gathered on the client terminal then it is known as “fat client thin server architecture”. But if Business Logic and Data Logic are controlled at the server machine then it is known as “thin client fat server architecture”.
In this architecture, client and server machines are connected directly incorporation because if client is firing any input for server terminal then in between should not any intermediate. So, it delivers the output with fastest rate and to ignore misunderstanding between the other clients. For example – online ticket reservations program, in which 2-tier architecture is used.
- Easy to design all applications
- Maximum user satisfaction
- Implementation of Homogeneous Environment
- Best performance
- Poor performance due to grow number of connections of each user
- Less security
- All clients are totally dependent upon the manufacturer’s database.
- Less portability means this architecture is totally dependent upon the particular database.
In this 3-tier architecture, middleware is needed because if client machine sends the request to server machine then firstly this request is received by middle layer, and finally this request is obtained to server. So, firstly response of server is received by middle layer then it is obtained to client machine. All data logic and business logic are stored on the middleware. Due to use of middleware, to improve its flexibility and deliver excellent performance.
3-tier architecture is divided into 3 layers such as presentation layer (Client Tier), Application layer (Business Tier) and Database layer (Data Tier). Client machine handles the presentation layer, Application layer controls the Application layer, and finally Server machine takes care of Database layer.
- Best performed data integrity
- Improved security to 2-tier architecture
- Hide database structure
To increase complexity of communication in between client and server because in which middleware is also used
This architecture is also known as the “Multitier Architecture”, so it is scaled form of 3-tier architecture. In this architecture, entire presentations, application processing, and data management functions are isolated from each other.
It delivers the flexible and reusable applications.
Harder to implement because it uses the complex structure (componentization of tiers)
Examples of Client Server Architecture
There are four examples of Client Server Architecture. Below explain each one –
Web Servers – Web server likes as high performance computer system that can host multiples websites. On this server, to install different types of web server softwares like as Apache or Microsoft IIS, which delivers access to hosted several websites on the internet, and these servers are linked with internet through higher speed connection that delivers ultra data transmission rates.
Mail Servers – Email servers helps to send and receive all emails. Some softwares are run on the mail server which allow to administrator to create and handle all email accounts for any domain that is hosted on the server. Mail servers use the some protocols for sending and receiving emails such as SMTP, IMAP, and POP3. SMTP protocol helps to fire messages and manages all outgoing email requests. IMAP and POP3 help to receive all messages and handle all incoming mails.
File Servers – File server is dedicated systems that allow users to access for all files. It works like as centralized file storage location, and it can be accessed by several terminal systems.
DNS – DNS stands for “Domain Name Server“, and it has huge database of different types of public IP addresses, and they link with their hostnames
These types of server help to deliver all resources (like as files, directories, shared devices such as applications and printers) to client terminal like as PCs, smart phones, PDAs, laptops, tablets etc.
Components of Client Server Architecture
Client-server architecture contains three components such as workstations, server, and networking devices, and they are connected with each other.
Workstation – Workstation is also known as “Client Computer“. There are different types of operating systems, which are installed on the workstations like as Windows 2000, Windows XP, Windows Vista, Windows 7, and Windows 10. These workstation operating systems are cheaper compare to server’s operating systems.
Server – Server is a ultra performer computer system that contains the fastest memory, more hard drive space, and faster speed processors because they save and service of several requests which are coming from workstation side. A server plays different types of roles like as mail server, database server, file server, and domain controller at the same time duration.
Network Devices – With the help of network devices; workstations and servers are connected with each other. Every network device has own functionality like as hub is used for making connection between server to multiple workstations, repeater is used for moving data from one devices to another device, and bridges helps to isolate of all network segments.