You are on page 1of 7

COLLEGE OF INFORMATION AND COMPUTING SCIENCES

UNIT 1

CLIENT-SERVER ARCHITECTURE

Topic 1.1 - Fundamentals of Client-Server Architecture

Learning Objectives

At the end of the session, the students should be able to:

1. Define Client-Server Architecture


2. Discuss the components of a Client-Server Architecture
3. Distinguished the Three Application Layers
4. Describe the types of Client-Server Architecture

Presentation of Contents

A. What is a Client-Server Architecture


Client-Server Architecture is a computing model in which the server hosts,
delivers and manages most of the resources and services to be consumed by
the client. This type of architecture has one or more client computers
connected to a central server over a network or internet connection. This
system shares computing resources.

Client-Server Architecture is also known as a networking computer model


or client-server network because all the requests and services are delivered
over a network.

Watch these videos for more details:


https://youtu.be/ve82kSSj_Hs
https://youtu.be/vt39o1bFA2I
https://youtu.be/ggp5C1q0gNA

B. Components of a Client-Server Architecture

Prepared by: RICHARD R. AYUYANG, PhD Page 1 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

Servers
● a software that sits around listening or waiting for a request just like a waiter or
a waitress from a restaurant that waits for the order of a costumer.
● When it receives a request it does something and returns a response
● Simple example: Time Servers
o Request: “What time is it?”
o Response: “10:00 AM February 5, 2021”
● The servers are provided with especial functionalities. Server is a large
workstation, miniframe or mainframe computer system.
● The Database Management System (DBMS) software resides on the server.
The server computer is called the backend computer. Backend manages
access structures, query evaluation and optimization, concurrency control
and recovery.
● For example: number of PC’s or small workstation as clients can connect to a
file server that maintains the files of the client machine.
● Print server can be connected to various printers; therefore all print requests
by the clients are forwarded to the machine.

Watch: https://youtu.be/UjCDWCeHCzY

Clients
● Clients are personal computers or workstations.
● Devices with software that knows to make a request from a server
● Also knows what to do with the response returned by a server
● Simple Example: Time Server
o Client knows how to connect to the time server and how to ask what
time is it
o Client knows what to do with the response returned by the server
o This includes how to specify a time zone, specify the format
● The applications and tools run on one or more client machines.
● The client computer is called front-end. Front-end consist of tools such as
forms, report-writers, and graphical user interface facilities.
● The client machine provides the user with the interface to utilize these servers,
as well as with local processing power to run the local applications.
● The interface between the front-end and the back-end is through SQL or
through an application program interface.

Prepared by: RICHARD R. AYUYANG, PhD Page 2 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

Network

● 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.

C. Application Layers

Presentation Layer
Concerned with presenting the results of a
computation to system users and with collecting
user inputs.

Application Processing Layer


Concerned with providing application
specific functionality e.g. in a banking system,
banking options such as open account, close
account, etc.

Data Management Layer


Concerned with managing the system
databases

D. Types of Client-Server Architecture

One-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 contains the
different layers.
 Examples: Presentation, Business, Data
Access layer with using of single
software package. All data is saved on the local machine. Some

Prepared by: RICHARD R. AYUYANG, PhD Page 3 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

applications, which manage all three tiers like as MP3 player, MS Office; but
these types of applications are presented under 1-tier architecture
applications.

Two-tier Architecture
● Two Tier Architecture is similar to a basic client-server model. The application
at the client end directly communicates with the database at the server side.
● The three application layers are mapped onto two computer systems which
are the client and the servers.
● Client can be THIN CLIENT or FAT CLIENT
● FAT CLIENT- The server is only responsible for data management. The software
on the client implements the application logic and the interactions with the
system user.
o More processing is delegated to the client as the application
processing is locally executed
o Most suitable for new Client-server systems where the capabilities of
the client system are known in advance.
o More complex than a thin client model especially for management.
New versions of the application have to be installed on all clients.
● THIN CLIENT – all of the application processing and data management is
carried out on the server. The client is simply responsible for running the
presentation software
o Used when legacy systems are migrated to client server architecture
o The legacy system acts as a server in its own right with a graphical
interface implemented on a client
o A major disadvantage is that it places a heavy processing load on
both server and the network.

● The server side is responsible for providing query processing and transaction
management functionalities.
● On the client side, the user interfaces and application programs are run. The
application on the client side establishes a connection with the server side in
order to communicate with the DBMS.
● An advantage of this type is that maintenance and understanding is easier,
compatible with existing systems.
● Advantage: Easy to maintain and modify; Communication is faster
● Disadvantage: performance will be degrade upon increasing users ; cost-
ineffective

Prepared by: RICHARD R. AYUYANG, PhD Page 4 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

Example of Two-Tier Architecture

Three-tier Architecture:
● Each of the application
layers may execute on a
separate processor
● Allows for better
performance than a thin-
client model and is simpler
to manage than a fat-
client model.
● More scalable
architecture – as
demands increase, extra
servers can be added.
● In this type, there is
another layer between
the client and the server. The client does communicate directly with the
server. Instead, it interacts with an application server which further
communicates with the database system and then the query processing
and transaction management takes place.
● The three application layer mapped onto three logically separate processes
that executes on different processors

Prepared by: RICHARD R. AYUYANG, PhD Page 5 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

● This intermediate layer acts as a medium for exchange of partially processed


data between server and client. This type of architecture is used in case of
large web applications.
● It is an extension of two-tier architecture.
● Three layers of the Three-Tier Architecture are: Client layer, Application layer,
Data layer
o Client layer - the part of the application which is visible to the user; it
enables the input of requirements and the presentation of results. It is
dependent on the platform (e.g. web applications, Windows
applications, Android applications, etc.). It may therefore be different
for different devices or platforms.
o Application layer – the middle layer of the model (middleware), it
assures the calculations and operations performed between input-
output requirements and data. Also known as the application
server.
o Data layer – the lowest layer of the model, it ensures all operations
with data, i.e. database management system and basic data-
base operations for functional storage, selection, aggregation,
processing, integrity, and data audit.
● Three-tier architecture is used by a large number of applications that work
with data. Most of the modern enterprise applications, some portal solutions
and websites are constructed in this manner. Three- or more layered
architecture is the trend nowadays and it is used to create more robust
solutions. Its advantage is a more flexible distribution of output between the
user device and the server. Additionally, the presentation layer can run also
on inexpensive equipment.

Advantages:

o Enhanced scalability due to distributed deployment of application


servers. Now individual connections need not to be made between
client and server.
o Data integrity is maintained. Since there is a middle layer between
client and server, data corruption can be avoided/removed.
o Security is improved. This type of model prevents direct interaction of
the client with the server thereby reducing access to unauthorized
data

Prepared by: RICHARD R. AYUYANG, PhD Page 6 of 7


Associate Professor IV
CICS, CSU-Gonzaga
COLLEGE OF INFORMATION AND COMPUTING SCIENCES

Disadvantages:

o Increased complexity of implementation and communication. It


becomes difficult for this sort of interaction to take place due to
presence of middle layers.

Example of Three-Tier Architecture

Additional Information:
https://youtu.be/L5BlpPU_muY

Prepared by: RICHARD R. AYUYANG, PhD Page 7 of 7


Associate Professor IV
CICS, CSU-Gonzaga

You might also like