What is Client-Server System ? | I'M FROSTY
Make some Money!

What's Hot


What is Client-Server System ?

Client-server architecture is a system consisting of more than one nodes/machines. Generally, these types of systems consist of one node capable of executing all user applications and performing database related operations. The second node will operate as a database server where actual database/data resides. It is a high end machine capable of operating numerous database related operations.

Example: Students appearing for online exam attempt the exam from client end and their
answers will get saved on the server side.

Generally, there will be only one server capable of handling multiple clients concurrently.
A typical architecture of a client-server system is shown in Fig. below.

Client-server relationship can be further categorized as:
  1. Several clients might be able to share the same server. This relationship is shown in above Fig.
  2. Client might be able to access several servers as shown in Fig. In this relationship, again two possibilities are there:

  1. The client is limited to access just one server at a time. i.e. each individual request must be directed to just one server. A single request cannot combine data from two or more different servers. The user has to know which particular server stores which piece of data According to that request can be directed.
  2. The client can access many servers simultaneously. i.e. a single database request can combine data from several servers, which means that user does not have to know which server store which pieces of data.
Database functionality can be broadly divided into two parts :
  • Front-end
  • Back-end.
As shown in Fig. 9.4.

The front-end of a database application consists of tools such as:
  • Forms
  • Report writer
  • Graphical interface
  • SQL user interface.
The back-end manages:
  • Access structures.
  • Query evaluation and Optimization.
  • Concurrency control.
  • Recovery.
The interface between the front-end is through sql or through an application program interface (JDBC/ODBC etc)

server. systems are broadly categorized as:
  1. Transaction Server/Query Server
  2. Data Server.

1.Transaction Server:

Transaction server systems, also called query server system provide an interface to which clients can send requests to perform an action in response to which they execute the action and send back results to the client.

specify requests in SQL or through an application program interface, using a remote-procedure-call
risers    at procedure-call mechanism.

In the client-server system, the transaction server support functional division between back-end and front-end.

Front-end functionality is supported on personal computers which act as clients of server system which support back-end functionality.

Clients ship transactions to the server system where those transactions are executed and results are shipped back to clients that are in charge of displaying the data.

Standards such as : Open Database Connectivity (ODBC) are used for interfacing of clients with servers. ODBC is an application program interface that allows clients to generate SQL statements that are sent to server where the statements are executed. Any client that uses ODBC interface can connect to any server that provides interface.

Client-server interfaces other than ODBC are defined by an application program interface, using which clients make transactional remote procedure calls on the server.
These calls appear like ordinary procedure calls to the programmer. But all the remote procedure calls from a client are enclosed in a transaction at the server end.

Advantages of using transaction server are :
  1. Better functionality for the cost.
  2. More flexibility in locating resources and expanding facilities.
  3. Better user interfaces.
  4. Easier maintenance.

2. Data Server:

Data server systems allow clients to interact with the servers by making requests to read or Update data, in units such as files or pages.
Bata servers are used in local area networks where:
  • There is high speed connection between the clients and server.
  • The client machines are having comparatively more processing power.
  • Tasks to be executed are computing intensive.
In such an environment, server machine sends data to the client machines to perform all processing at the client machine and then client sends that data back to the server machine.

This architecture requires full back-end functionality at the client side. Data server architecture is mainly useful in object oriented database systems.
compared to to that The time cost of communication between the client and the server is high
local memory reference.
Following issues decide the time cost of communication between client and server.
  • Data Shipping : Units of communication for data are page or an item (tuple or an object). Data can be fetched by fetching the page or single item (tuple or object).
  • Locks : Locks are usually granted by the server for data item/page that it ships client machine.
Disadvantage of page shipping is that locks on a page implicitly locks all items contained in the page. Other client machines that require lock on those data items may be blocked unnecessarily.
  • Data Caching: Data that are shipped to a client on behalf of a transaction can be cached at the client. Successive transactions at the same client may be able to make use of the cached data. But it must ensure that those data are up to date, since they may have been updated by different client after they were cached. Thus, the client must communicate with the server to check the validity of the data and to acquire a lock on the data.
  • Lock Caching: If the use of data is mostly partitioned among the clients with clients rarely requesting data that are also requested by other clients, then locks can also be cached at the client machine.
What is Client-Server System ? Reviewed by Hardik Pandya on 6:14:00 PM Rating: 5

No comments:

All Rights Reserved by I'M FROSTY © 2014 - 2016
*The Content Is Copyrighted To & May Not Be Copied / Republished.

Contact Form


Email *

Message *

Powered by Blogger.