chap 09 corrected
TRANSCRIPT
-
7/29/2019 Chap 09 Corrected
1/25
Chapter 9
Chapter 9:
The Client/ServerDatabase
EnvironmentModern Database Management
8
th
EditionJeffrey A. Hoffer, Mary B. Prescott,
Fred R. McFadden
2
007byPrenticeHall
FAROOQ
1
-
7/29/2019 Chap 09 Corrected
2/25
Chapter 9
Objectives
Definition of terms
List advantages of client/server architecture
Explain three application components: presentation,
processing, and storage
Suggest partitioning possibilities
Distinguish between file server, database server, 3-
tier, and n-tier approaches Describe and discuss middleware
Explain database linking via ODBC and JDBC 2
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
3/25
Chapter 9
Client/Server Systems
Networked computing model
Processes distributed between clients and servers
ClientWorkstation (usually a PC) that requests and uses aservice
ServerComputer (PC/mini/mainframe) that provides aservice
For DBMS, server is a database server
3
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
4/25
Chapter 9
Application Logic in C/S
Systems
4
GUI Interface
Procedures, functions,
programs
DBMS activities
Processing Logic I/O processing
Business rules
Data management
Storage Logic Data storage/retrieval
Presentation Logic
Inputkeyboard/mouse
Outputmonitor/printer
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
5/25
Chapter 9
Client/Server Architectures
File Server Architecture
Database Server Architecture
Three-tier Architecture
5
Client does
extensive processing
Client does little
processing
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
6/25
Chapter 9
File Server Architecture
All processing is done at the PC that requested the
data
Entire files are transferred from the server to theclient 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. 6
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
7/25
Chapter 9
7
Figure 9-2 File Server Architecture
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
8/25
Chapter 9
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
8
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
9/25
Chapter 9
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
Stored procedures DBMS code that performs some business rulesdone on server
9
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
10/25
Chapter 9
Advantages of
Stored Procedures
Compiled SQL statements
Reduced network traffic
Improved security
Improved data integrity
Thinner clients
10
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
11/25
Chapter 9
11
Figure 9-3 Two-tier database server architecture
DBMS onlyon server
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
12/25
Chapter 9
Three-Tier Architectures
12
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
Client
Application server
Database server
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
13/25
Chapter 9
13
Figure 9-4 Three-tier architecture
Thinnestclients
Business ruleson separateserver
DBMS only onDB server
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
14/25
Chapter 9
Advantages of Three-Tier
Architectures Scalability
Technological flexibility
Long-term cost reduction
Better match of systems to business needs
Improved customer service
Competitive advantage
Reduced risk
14
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
15/25
Chapter 9
Application Partitioning
Placing portions of the application code in different locations (client
vs. server) AFTER it is written
Advantages
Improved performance
Improved interoperability
Balanced workloads
15
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
16/25
Chapter 9
Common Logic Distributions
16
Figure 9-5a Two-tier client-
server environment
Figure 9-5b n-tier client-
server environment
Processing logic could be
at client, server, or both
Processing logicwill be at
application server
or Web server
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
17/25
Chapter 9
Role of the Mainframe
Mission-critical legacy systems have tended to remain onmainframes
Distributed client/server systems tend to be used for smaller,workgroup systems
Difficulties in moving mission critical systems from mainframeto distributed
Determining which code belongs on server vs. client
Identifying potential conflicts with code from other applications
Ensuring sufficient resources exist for anticipated load
Rule of thumb Mainframe for centralized data that does not need to be moved
Client for data requiring frequent user access, complex graphics, anduser interface 17
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
18/25
Chapter 9
Middleware
Software that allows an application to interoperate with othersoftware
No need for programmer/user to understand internal processing
Accomplished viaApplication Program Interface(API)
18The gluethat holds client/server applications together
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
19/25
Chapter 9
Types of Middleware
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 servers19
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
20/25
Chapter 9
Database Middleware
ODBCOpen Database Connectivity Most DB vendors support this
OLE-DB Microsoft enhancement of ODBC
JDBCJava Database Connectivity Special Java classes that allow Java applications/applets to connect to
databases
20
2
007byPrenticeHall
FAROOQ
-
7/29/2019 Chap 09 Corrected
21/25
Chapter 9
Client/Server Security
Network environment complex security issues Security levels:
System-level password security
for allowing access to the system
Database-level password security
for determining access privileges to tables; read/update/insert/deleteprivileges
Secure client/server communication
via encryption
21
2
007byPrenticeHa
ll
FAROOQ
-
7/29/2019 Chap 09 Corrected
22/25
Chapter 9
Keys to Successful Client-Server
Implementation
Accurate business problem analysis
Detailed architecture analysis
Architecture analysis before choosing tools Appropriate scalability
Appropriate placement of services
Network analysis
Awareness of hidden costs
Establish client/server security22
2
007byPrenticeHa
ll
FAROOQ
-
7/29/2019 Chap 09 Corrected
23/25
Chapter 9
Benefits of Moving to Client/Server
Architecture Staged delivery of functionality speeds deployment
GUI interfaces ease application use
Flexibility and scalability facilitates business processreengineering
Reduced network traffic due to increased processing at datasource
Facilitation of Web-enabled applications
23
2
007byPrenticeHa
ll
FAROOQ
-
7/29/2019 Chap 09 Corrected
24/25
Chapter 9
Using ODBC to Link External Databases Stored
on a Database Server Open Database Connectivity (ODBC)
API provides a common language for application programs toaccess and process SQL databases independent of the particularRDBMS that is accessed
Required parameters:
ODBC driver
Back-end server name
Database name
User id and password
Additional information:
Data source name (DSN)
Windows client computer name
Client application programs executable name
24Java Database Connectivity (JDBC) is similar to ODBCbuilt specifically for Java applications
2
007byPrenticeHa
ll
FAROOQ
-
7/29/2019 Chap 09 Corrected
25/25
Chapter 9
ODBC Architecture(Figure 9-6)
25
Each DBMS has its own ODBC-compliant driver
Client does not need toknow anything about theDBMS
Application Program
Interface (API) providescommon interface to allDBMSs
2
007byPrenticeHa
ll
FAROOQ