Introduction to client-server computing
Client-Server Definition
Client-server denotes a relationship between cooperating programs in an application, composed of clients initiating requests for services and servers providing that function or service.
Terminologies :-
The terminologies in distributed client/server architecture’s are as follows-
- Applications Programming Interface (API)–It is a set of functions, and it calls programs that allow clients as well as servers to intercom with each other.
- Client / User –This is a network information provider that is typically a computer system or workstation that can query databases and/or other information from a server.
- Middleware –It is a set of drivers, API’s and/or other software which improves the connection among a client application with a server.
- Relational Database–This is a type of database in which information access is limited to a selection of rows that meet all search criteria.
- Server –This is also a computer, typically a high-powered system and workstation or a minicomputer or a mainframe, which gives information to the network client to manipulate.
- Structured Query Language (SQL) –This is the developed language IBM (International Business Machines) and ANSI standardized to address, produce, update, and query RDB’s (relational databases).
Characteristics of Client Server Computing
The salient points for client server computing are as follows:
- The client server computing works with a system of request and response. The client sends a request to the server and the server responds with the desired information.
- The client and server should follow a common communication protocol so they can easily interact with each other. All the communication protocols are available at the application layer.
- A server can only accommodate a limited number of client requests at a time. So it uses a system based to priority to respond to the requests.
- Denial of Service attacks hindera servers ability to respond to authentic client requests by inundating it with false requests.
- An example of a client server computing system is a web server. It returns the web pages to the clients that requested them.
Difference between Client Server Computing and Peer to Peer Computing
The major differences between client server computing and peer to peer computing are as follows:
- In client server computing, a server is a central node that services many client nodes. On the other hand, in a peer to peer system, the nodes collectively use their resources and communicate with each other.
- In client server computing the server is the one that communicates with the other nodes. In peer to peer to computing, all the nodes are equal and share data with each other directly.
- Client Server computing is believed to be a subcategory of the peer to peer computing.
Advantages of Client Server Computing
The different advantages of client server computing are −
- All the required data is concentrated in a single place i.e. the server. So it is easy to protect the data and provide authorisation and authentication.
- The server need not be located physically close to the clients. Yet the data can be accessed efficiently.
- It is easy to replace, upgrade or relocate the nodes in the client server model because all the nodes are independent and request data only from the server.
- All the nodes i.e clients and server may not be build on similar platforms yet they can easily facilitate the transfer of data.
Disadvantages of Client Server Computing
The different disadvantages of client server computing are −
- If all the clients simultaneously request data from the server, it may get overloaded. This may lead to congestion in the network.
- If the server fails for any reason, then none of the requests of the clients can be fulfilled. This leads of failure of the client server network.
- The cost of setting and maintaining a client server model are quite high.
0 Comments