2 08 client-server architecture

16
Client-Server Architecture King Fahd University of Petroleum & Minerals SWE 316: Software Design & Architecture Semester: 072

description

 

Transcript of 2 08 client-server architecture

Page 1: 2 08 client-server architecture

Client-Server Architecture

King Fahd University of Petroleum & MineralsSWE 316: Software Design & ArchitectureSemester: 072

Page 2: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 2

ObjectivesTo understand client-server architecture

2-tier

3-tier

Page 3: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 3

Client-Server Architecture

The application is modelled as a set of services that are provided by servers and a set of clients that use these services.

Clients know of servers but servers need not know of clients.

Clients and servers are logical processes.

Page 4: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 4

Application Layers

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

Application processing layerConcerned with providing application specific functionality e.g., in a banking system, banking functions such as open account, close account, etc.

Data management layerConcerned with managing the system databases.

Page 5: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 5

Application Layers (Cont’d)

Page 6: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 6

Types of Client-Server Architectures

Two-tierThe three application layers are mapped onto two computer systems – the client and the server. Client can be

Thin client; orFat client

Three-tierThe three application layers are mapped onto three logically separate processes that executes on different processors.

Page 7: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 7

Thin and Fat Clients

Thin-client model In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software.

Fat-client model In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.

Page 8: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 8

Thin and Fat Clients (Cont’d)

Page 9: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 9

Thin-Client Model

Used when legacy systems are migrated to client server architectures.

The legacy system acts as a server in its own right with a graphical interface implemented on a client.

A major disadvantage is that it places a heavy processing load on both the server and the network.

Page 10: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 10

Fat-Client Model

More processing is delegated to the client as the application processing is locally executed.

Most suitable for new C/S systems where the capabilities of the client system are known in advance.

More complex than a thin client model especially for management. New versions of the application have to be installed on all clients.

Page 11: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 11

A Client-Server ATM System

Page 12: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 12

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.

A more scalable architecture - as demands increase, extra servers can be added.

Page 13: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 13

A 3-tier Client-Server Architecture

Page 14: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 14

An Internet Banking System

Page 15: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 15

Use of Client-Server Architectures

Architecture Applications

Two-tier C/Sarchitecture withthin clients

Legacy system applications where separating application processing anddata management is impractical.Computationally-intensive applications such as compilers with little orno data management.Data-intensive applications (browsing and querying) with little or noapplication processing.

Two-tier C/Sarchitecture withfat clients

Applications where application processing is provided by off-the-shelfsoftware (e.g. Microsoft Excel) on the client.Applications where computationally-intensive processing of data (e.g.data visualisation) is required.Applications with relatively stable end-user functionality used in anenvironment with well-established system management.

Three-tier ormulti-tier C/Sarchitecture

Large scale applications with hundreds or thousands of clientsApplications where both the data and the application are volatile.Applications where data from multiple sources are integrated.

Page 16: 2 08 client-server architecture

SWE 316 (072) Client-Server Architecture 16

Summary

Tow basic client-server architecture

2-tierThin client: all of the application processing and data management is carried out on the serverFat clients: run some or all of the application logic.

3-tierAllows for better performance than a thin-client approach and is simpler to manage than a fat-client approach.