The Client/Server Database Environment: © Prentice Hall, 2002 1
The Client/Server Database Environment: © Prentice Hall, 2002 1
Client/Server Systems
2
Presentation Logic
◦ Input –
keyboard/mouse GUI Interface
◦ Output –
monitor/printer
Processing Logic Procedures, functions,
◦ I/O processing programs
◦ Business rules
◦ Data management
Storage DBMS activities
Logic
Application Logic in C/S Systems
◦ Data storage/retrieval
3
Client does
File Server Architecture extensive processing
Database Server
Architecture
Client does little
Three-tier
processing
Architecture
Client/Server Architectures
4
All processing is done at the PC that
requested the dataFAT CLIENT
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
6
Database 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
7
Compiled SQL statements
Reduced network traffic
Improved security
Improved data integrity
Thinner clients
Advantages of
Stored Procedures
8
Database server architecture
Thinner
clients
DBMS only
on server
9
Three layers:
GUI interface
◦ Client (I/O processing) Browser
◦ Application server
Business rules Web Server
◦ Database server
Data storage DBMS
Thin Client
PC just for user interface and a little application
processing. Limited or no data storage (sometimes no
Three-Tier
hard drive) Architectures
10
Three-tier architecture
Thinnest clients
Business rules on
separate server
DBMS only on
DB server
11
Scalability
Technologicalflexibility
Long-term cost reduction
Better match of systems to business
needs
Improved customer service
Competitive advantage
Reduced risk
Advantages of Three-Tier
Architectures
12
High short-term costs
Tools and training
Experience
Incompatible standards
Lack of compatible end-user
tools
Challenges of Three-tier
Architectures
13
Placing portions of the application code
in different locations (client vs. server)
AFTER it is written
Advantages
◦ Improve performance
◦ Improve interoperability
◦ Balanced workloads
Application Partitioning
14
Processing Logic Distributions
2-tier distributions
Processing logic could be
at client, server, or both
n-tier distributions
15
Tightly Coupled
◦ Symmetric Multiprocessing (SMP)
◦ Multiple CPUs
◦ Shared RAM
Loosely Coupled
◦ Massively Parallel Processing (MPP)
◦ Multiple CPUs
◦ Each CPU has its own RAM space
17
Query Processing with Parallel
Processors
Parallel transactions
Parallel query
18
Software which allows an application to
interoperate with other software
No need for programmer/user to
understand internal processing
Accomplished via Application Program
Interface (API)
Middleware
The “glue” that holds client/server applications together
19
Types
RPC 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
20
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
Database Middleware
21
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
22
Direct-manipulation database language
Graphical approach
Available in MS Access
MS Access translates QBE to SQL and vice
versa
Useful for end-user database
programming
Good for ad hoc processing and
prototyping
Query-by-Example (QBE)
23
QBE view of
a 2-table join
query
Equivalent
query in SQL
24
Access usability hierarchy
Foundation of MS Access
25
Using ODBC to Link External Databases
Stored on a Database Server
Open Database Connectivity (ODBC)
◦ API that 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
26
ODBC Architecture
27
Visual Basic for Applications
VBA is the programming language that
accompanies Access 2000
VBA provides these features:
◦ Ability to perform complex functionality
◦ Error handling
◦ Faster execution than macros
◦ Easier maintenance
◦ OLE automation
◦ Programmatic control
◦ Ease of reading for programmers
Event-driven – nonprocedural programming
that detects events and generates appropriate
responses
28