Title: ClientServer Systems
1Chapter 12
- Client/Server Systems
- Database Systems Design, Implementation, and
Management, Fifth Edition, Rob and Coronel
2In this chapter, you will learn
- What client/server computing is
- What the advantages of using client/server
systems are - How client/server systems evolved
- About client/server systems components and how
they interact - What effect the client/server system has on the
DBMS - How client/server systems might be introduced
into an organization - What factors affect the implementation of
client/server systems
3Client/Server Computing
- Computing model for the development of
computerized systems - Client requests specific service
- Server provides requested service
- Reside on same or different computers
Figure 12.1
4Client/Server Computing (cont.)
- Key to client server power is where request
processing takes place - Extent of sharing processing
- Thin client
- Thin server
- Fat client
- Fat server
- Classification
- 2-tier
- 3-tier
5Forces that Drive Client/Server Trend
- Changing business environment
- Growing need for enterprise data access
- Demand for end-user productivity gains based on
efficient use of data - Technological advances
- Growing cost/performance advantages
6Mainframe vs. Client/Server Systems
Table 12.1
7Components of Client/Server Architecture
- Client
- Front-end application
- Server
- Back-end application
- Communications middleware
- Communications layer
Figure 12.3
8Example Client/Server Architecture
Figure 12.4
9Client/Server Principles
- Hardware independence
- Software independence
- Operating systems
- Network systems
- Applications
- Open access to services
- Process distribution
- Process autonomy
- Maximization of local resources
- Scalability and flexibility
- Interoperability and integration
- Standards
10Server Components
- File services
- Print services
- Fax services
- Communications services
- Database services
- Transaction services
- Miscellaneous services
11Server Components
Figure 12.6
12Server Process Benefits
- Location independence
- Resource optimization
- Scalability
- Interoperability and integration
13Database Middleware
- Network independence
- Front-end application accesses data without
regard to network protocols - Database server independence
- Generic SQL to access different database servers
- Isolates programmer from SQL dialect differences
14Communications Middleware
- Two levels
- Physical level
- Client and server computers
- Logical level
- Client and server processes
- Interprocess communication (ICP) protocols
15Database Middleware Components
Figure 12.9
16Interactions between Middleware Components
Figure 12.10
17Middleware Accessing Multiple Database Servers
Figure 12.11
18Middleware Accessing Mainframe Databases
Figure 12.12
19Middleware Classifications
- Messaging-oriented middleware (MOM)
- Remote-procedure-call-based (RPC-based) middle
ware - Object-based middleware
20Competing Standards
- Client operating systems
- Microsoft Windows
- OS/2, Apple Mac OS, Unix, Linux
- Client graphical user interfaces
- Microsoft Windows
- OS/2 Presentation Manager, Macintosh, UNIX
- Server operating systems and network protocols
- Database servers Unix, OS/2, Windows NT
Server/2000 Server - Printer and file servers Novell Netware
- LAN protocols TCP/IP, IPX/SPX, NetBIOS
- Middleware
- ODBC, IDAPI, DRDA, QE
21Client/Server DBMS Functions
- Transparent data access to multiple,
heterogeneous clients - Allow client requests to the database server over
network - Process client data requests at local server
- Send only SQL results to clients over network
22Application Logic Components
Figure 12.14
23Client/Server Architectural Styles
- Two Key Questions
- How is the division made?
- Where should the results of division be placed?
- Five Functional Logic Components
- Presentation logic
- I/O processing logic
- Application of business logic
- Data management logic
- Data manipulation logic
24Application Functional Components
Figure 12.15
25Functional Logic Splitting
Figure 12.16
26Client/Server Implementation Issues
- Management Issues
- Communications infrastructure
- Applications
- Controlling escalating and hidden costs
- People and cultural changes
- Multiple vendor relationships
- Development tool acquisition
- Determination if client/server approach is
correct