ch 8 client server

22
1 The Client/Server The Client/Server Database Environment Database Environment Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

Upload: guest8fdbdd

Post on 02-Nov-2014

3.847 views

Category:

Business


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ch 8  Client  Server

1

The Client/Server Database The Client/Server Database EnvironmentEnvironment

Modern Database Management

Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

Page 2: Ch 8  Client  Server

2

Client/Server SystemsClient/Server Systems

Networked computing modelProcesses distributed between clients and

serversClient – Workstation (usually a PC) that

requests and uses a serviceServer – Computer (PC/mini/mainframe)

that provides a serviceFor DBMS, server is a database server

Page 3: Ch 8  Client  Server

3

Application Logic in C/S Application Logic in C/S SystemsSystems

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

Processing Logic– I/O processing– Business rules– Data management

Storage Logic– Data storage/retrieval

GUI Interface

Procedures, functions,programs

DBMS activities

Page 4: Ch 8  Client  Server

4

Client/Server ArchitecturesClient/Server Architectures

File Server Architecture

Database Server Architecture

Three-tier Architecture

Client does extensive processing

Client does little processing

Page 5: Ch 8  Client  Server

5

File Server ArchitectureFile 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.

FAT FAT CLIENTCLIENT

Page 6: Ch 8  Client  Server

6

Figure 9-2 – File Server Architecture

FAT FAT CLIENTCLIENT

Page 7: Ch 8  Client  Server

7

Database Server ArchitecturesDatabase Server Architectures 2-tiered approach 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

Advantages– Clients do not have to be as powerful– Greatly reduces data traffic on the network– Improved data integrity since it is all processed centrally– Stored procedures some business rules done on server

Page 8: Ch 8  Client  Server

8

Advantages of Advantages of Stored ProceduresStored Procedures

Compiled SQL statementsReduced network trafficImproved securityImproved data integrityThinner clients

Page 9: Ch 8  Client  Server

9

Figure 9-3 – Database server architecture

ThinneThinner r clientsclients

DBMS DBMS only on only on serverserver

Page 10: Ch 8  Client  Server

10

Three-Tier ArchitecturesThree-Tier ArchitecturesThree layers:

– Client– Application server– Database server

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

Page 11: Ch 8  Client  Server

11

Figure 9-4 -- Three-tier architecture

Thinnest Thinnest clientsclients

Business rules on Business rules on separate serverseparate server

DBMS only DBMS only on DB serveron DB server

Page 12: Ch 8  Client  Server

12

Advantages of Three-Tier Advantages of Three-Tier ArchitecturesArchitectures

ScalabilityTechnological flexibilityLong-term cost reductionBetter match of systems to business needsImproved customer serviceCompetitive advantageReduced risk

Page 13: Ch 8  Client  Server

13

Challenges of Three-tier Challenges of Three-tier ArchitecturesArchitectures

High short-term costsTools and trainingExperienceIncompatible standardsLack of compatible end-user tools

Page 14: Ch 8  Client  Server

14

Application PartitioningApplication Partitioning

Placing portions of the application code in different locations (client vs. server) AFTER it is written

Advantages– Improve performance– Improve interoperability– Balanced workloads

Page 15: Ch 8  Client  Server

15

Processing Logic DistributionsProcessing Logic Distributions

2-tier distributions

n-tier distributions

Processing logic could be at client, server, or both

Processing logic will be at application server or Web server

Page 16: Ch 8  Client  Server

16

Parallel Computer Parallel Computer ArchitecturesArchitectures

Tightly Coupled– Symmetric Multiprocessing (SMP)– Multiple CPUs– Shared RAM

Loosely Coupled– Massively Parallel Processing (MPP)– Multiple CPUs– Each CPU has its own RAM space

Page 17: Ch 8  Client  Server

17

Parallel Computer ArchitecturesParallel Computer Architectures

Figure 9-6 –Tightly-coupled – CPUs share common memory space

Figure 9-7 –Loosely-coupled – CPUs each have their own memory space

Page 18: Ch 8  Client  Server

18

Query Processing with Query Processing with Parallel ProcessorsParallel Processors

Figure 9-5(a) –Parallel transactions

Figure 9-5(b) –Parallel query

Page 19: Ch 8  Client  Server

19

MiddlewareMiddleware

Software which allows an application to interoperateinteroperate with other software

No need for programmer/user to understand internal processing

Accomplished via Application Program Application Program InterfaceInterface (API)

The “glue”“glue” that holds client/server applications together

Page 20: Ch 8  Client  Server

20

Types of MiddlewareTypes of Middleware RPC – Remote Procedure Calls (RPC)

– client makes calls to procedures running on remote computers– synchronous and asynchronous

Message-Oriented Middleware (MOM) – asynchronous calls between the client via message queues

Publish/Subscribe– push technology server sends information to client when available

Object Request Broker (ORB)– Object-oriented management of communications between clients and

servers SQL-oriented Data Access

– Middleware between applications and database servers

Page 21: Ch 8  Client  Server

21

Database MiddlewareDatabase Middleware

ODBC – Open Database Connectivity– Most DB vendors support this

OLE-DB– Microsoft enhancement of ODBC

JDBC – Java Database Connectivity– Special Java classes that allow Java

applications/applets to connect to databases

Page 22: Ch 8  Client  Server

22

Client/Server SecurityClient/Server SecurityNetwork environment complex security

issuesSecurity levels:

– System-level password security for allowing access to the system

– Database-level password security for determining access privileges to tables;

read/update/insert/delete privileges

– Secure client/server communication via encryption