Client Server
Client Server
Client Server
1
System Architecture
4
Application Logic in C/S Systems
Presentation Logic
Input–keyboard/mouse
GUI Interface
Output–monitor/printer
Processing Logic
I/O processing Procedures, functions,
Business rules programs
Data manipulation
Storage Logic
Data storage/retrieval DBMS activities
5
Centralized / Distributed
request
Client
Client Server
Tiered Web Architectures
9
File Server Architecture
FAT CLIENT
• 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.
10
File Server Architecture
FAT CLIENT
11
Two-Tier Database Server Architectures
12
Two-tier database server architecture
Thinner
clients
DBMS only
on server
13
Advantages of database Two-Tier Approach
14
Advantages of Stored Procedures
• Compiled SQL statements
• Reduced network traffic
• Improved security
• Improved data integrity
• Thinner clients
15
Three-Tier Architecture
Thin Client
PC just for user interface and a little application
processing. Limited or no data storage (sometimes no
hard drive)
16
Three-tier architecture
Thinnest
clients
Business rules on
separate server
DBMS only on DB
server
17
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
18
Multitier C-S Architecture
• A multitier (N-tier) architecture is an
expansion of the 3-tier architecture, in one of
several different possible ways
– Replication of the function of a tier
– Specialization of function within a tier
– Portal services, focusing on handling incoming
web traffic
Application Partitioning
20
Common Logic Distributions
Two-tier client-server
environment
n-tier client-server
environment
Processing logic
will be at
application server
or Web server
21
Role of the Mainframe
• Mission-critical legacy systems have tended to remain on
mainframes
• Distributed client/server systems tend to be used for smaller,
workgroup systems
• Difficulties in moving mission critical systems from mainframe
to 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, and
user interface
22
Middleware
23
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 servers
24
Database 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
25
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/delete privileges
– Secure client/server communication
• via encryption
26
Keys to Successful Client-Server
Implementation
27
Benefits of Moving to Client/Server
Architecture
• Staged delivery of functionality speeds
deployment
• GUI interfaces ease application use
• Flexibility and scalability facilitates business
process reengineering
• Reduced network traffic due to increased
processing at data source
• Facilitation of Web-enabled applications
28
Using ODBC to Link External Databases Stored
on a Database Server
• Open Database Connectivity (ODBC)
– API provides a common language for application programs to access and
process SQL databases independent of the particular RDBMS 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 program’s executable name
Java Database Connectivity (JDBC) is similar to ODBC–built specifically for Java applications
29
ODBC Architecture
30
Characteristics Summary
capacity
scalability
redundancy
cost
Additional Reading
• Modern Database Management 8th Edition by
Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
McFadden – Chapter 9