Client-Server Architecture

 

Background Material and Information

Introduction

Client-server architecture is the logical extension of modular programming. Modular programming has an assumption that a large piece of software can be broken down into modules. The calling module is called the client while the called module is called the server. These modules need not all to be executed within the same memory space. The advantage of having modules is that it creates the possibility of easier development and maintainability.

In other words, client-server architecture is a decentralized arrangement of interconnected computers that allows the splitting of the processing load into separate and distinct process.

 

Components of the client-server architecture

There are two major components in the Client-Server Architecture; hardware and software.

A. The hardware component consists of:

  1. Server (or central computer)
  1. Network
  1. Client

 

B. The software component consist of:

  1. Data management
  1. Application software
  1. Presentation

 

 

Advantages of the client-server architecture

The client/server is an open system. The advantages of this environment include:

Interoperability

All components (client/network/server) work together

Scalability

Any or all components may be replaced as needs increase.

Adaptability

New technology can (multimedia, broad band network) may be incorporated into the system.

Accessibility

Data may be accessed from WANs and multiple client applications.

Security

Data security is centralized on the server.

Performance

Performance is optimized by hardware and process

 

Disadvantage of a client-server architecture

Expense

Requires initial investment in dedicated server.

Maintenance

Large network will require a staff to ensure efficient operation.

Dependence

All operations will cease across the network when the server goes down.

 

Examples of client-server architecture

Two-tier architecture

The two-tier architecture contains two computers - the client and the server. Presentation is handled exclusively by the client, processing is split between client and server and data is stored and accessed through the server.

Three-tier architecture

Three-tier architecture is divided into three layers - the presentation layer, the functionality layer and the data layer. Each of these layers must be logically separated. The three-tier attempts to overcome the limitation of the two-tier scheme by separating presentation, processing and data into different entities. A call is made to the middle-tier when the presentation client requires data access. This tier performs calculations or makes request as a client to additional servers.