Client Server Architecture1

22

description

client server architecture!

Transcript of Client Server Architecture1

Page 1: Client Server Architecture1
Page 2: Client Server Architecture1

Personal Computer - Stand-Alone Database Database (or files) reside on a PC - on

the hard disk. Applications run on the same PC and

directly access the database. In such cases, the application is the DBMS.

Business rules are enforced in the applications running on the PC.

A single user accesses the applications.

2

Page 3: Client Server Architecture1

File Server Architecture

All processing is done at the PC that requested the data

Entire files are transferred from the server to the client for processing

Problems: Huge amount of data transfer on the network Each client must contain full DBMS

Heavy resource demand on clients Client DBMSs must recognize shared locks, integrity

checks, etc.

3

FAT FAT CLIENTCLIENT

Page 4: Client Server Architecture1

4

File Server Architecture

FAT FAT CLIENTCLIENT

Page 5: Client Server Architecture1

File Sharing Architecture PCs are connected to a local area network (LAN). A single file server stores a single copy of the

database files. Applications run on each PC on the LAN and access

the same set of files on the file server. The application is also the DBMS.

Business rules are enforced in the applications - Also, the applications must handle concurrency control. Possibly by file locking.

Each user runs a copy of the same application and accesses the same files.

Example: Sharing MS Access files on a file server.

5

Page 6: Client Server Architecture1

Advantages & Disadvantages of File Sharing Architecture Advantages: (limited) Ability to share data among

several users Costs of storage spread out among users Most components are now commodity

items - prices falling Disadvantages:

Limited data sharing ability - a few users at most

6

Page 7: Client Server Architecture1

Client/server Architecture Client-server architecture developed as a response to

the limitations of file-sharing architectures, which require tons of bandwidth and can often stall or jam a network causing it to crash. They require low shared usage and low volume of data to be transferred. In client-server architecture, the database server replaced the file server. Relational data base management systems (DBMSs) answered user queries directly. Since only specific queries were being answered, only that data was transferred instead of entire files that slow down networks. It also improved consistency in data between users, since all users had access to the same updated information.

7

Page 8: Client Server Architecture1

8Client / Server Architecture

clientsclients

ServerServer

Page 9: Client Server Architecture1

Client/Server Systems

Networked computing model Processes distributed between

clients and servers Client – Workstation (usually a PC)

that requests and uses a service Server – Computer

(PC/mini/mainframe) that provides a service

For DBMS, server is a database server

9

Page 10: Client Server Architecture1

Application Logic in Client/Sever Systems

10

Procedures, functions,programs

Processing Logic I/O processing Business rules Data management

DBMS activitiesStorage Logic

Data storage/retrieval

GUI Interface

Presentation Logic Input – keyboard/mouse Output – monitor/printer

Page 11: Client Server Architecture1

Client/Server Architectures

File Server Architecture

Database Server Architecture

Three-tier Architecture

11

Client does extensive processing

Client does little processing

Page 12: Client Server Architecture1

Two-tier Architecture Two tier architectures consist of three components: user system

interfaces, processing management, and database management. User system interface (USI) is a component of an organization’s decision support system, which includes human decision-makers. It provides a user friendly layer of communication to make requests of the server and offers multiple forms of input and output. USIs include features like display management services, sessions, text input, and dialog. Processing management includes process development, process implementation, process monitoring, and process resources services. Database management includes database and file services.

Two tier client-server design derives its name from how it distributes work between client and server. Clients access databases through the user system interface. Database management, on the server side, distributes processing between both client and server. Both tiers, the client and the server, are responsible for some of the processing management. Simply put, the client uses the user interface to make requests through database management on the server side.

12

Page 13: Client Server Architecture1

13Two-tier database server architecture

Thinner Thinner clientsclients

DBMS only DBMS only on serveron server

Page 14: Client Server Architecture1

Two-Tier Database Server Architectures Client is responsible for

I/O processing logic Some business rules logic

Server performs all data storage and access processing DBMS is only on server

14

Page 15: Client Server Architecture1

Advantages of Two-Tier Approach Clients do not have to be as powerful Greatly reduces data traffic on the network Improved data integrity since it is all

processed centrally Improve usability though user-friendly, form-

based interfaces. Improve scalability because two tiered

systems can hold up to 100 users, whereas file server architectures can only accommodate 12.

best suited to homogeneous environments for processing non-complex, non-time sensitive information.

Stored procedures some business rules done on server

15

Page 16: Client Server Architecture1

Advantages of Stored Procedures Compiled SQL statements Reduced network traffic Improved security Improved data integrity Thinner clients

16

Page 17: Client Server Architecture1

Three-tier Client/Server Architecture

17

Page 18: Client Server Architecture1

18

Three-tier Architecture

Thinnest clientsThinnest clients

Business rules on Business rules on application serverapplication server

DBMS only on DBMS only on Database Database serverserver

Page 19: Client Server Architecture1

Three-Tier Architectures

19

Thin Client PC just for user interface and a little application

processing. Limited or no data storage (sometimes no hard drive)

GUI interface (I/O processing)

Browser

Business rules Web Server

Data storage DBMS

ClientClient

Application serverApplication server

Database serverDatabase server

Page 20: Client Server Architecture1

Advantages of Three-Tier Architectures

Scalability Centralize applications logic (one place to make

changes) Relieves clients from having to load up on applications

logic (the "fat client" approach). Frees up DBMS server to efficiently process

transactions Technological flexibility Long-term cost reduction Better match of systems to business needs Improved customer service Competitive advantage Reduced risk 20

Page 21: Client Server Architecture1

Challenges/Disadvantages of Three-tier Architectures System complexity - extremely complex to

program and debug Security issues High short-term costs Tools and training Experience Incompatible standards Lack of compatible end-user tools

21

Page 22: Client Server Architecture1

Thank You

22