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
6Evolution of Computing Environment
Figure 12.2
7Mainframe vs. Client/Server Systems
Table 12.1
8Managerial Expectations of Client/Server Systems
- Client/Server efficiency functions
- Platform independent development
- Optimized distribution of processing activities
among different platforms - User friendly and cost effective techniques,
methodologies, and specialized tools - Observations
- Tool, not end goal
- Not answer to all data management problems
- Has own set of management problems
9MIS Expectations of Client/Server Benefits
- Reduced development and implementation costs
- Reduced development time and increased programmer
productivity - Extended system life cycle through scalability
and portability - Reduced system operational cost
- Change of MIS function from development to
end-user support - Enhanced information deployment
10Organizational Expectations of Client/Server
Benefits
- Flexibility and adaptability
- Improved employee productivity
- Improved company work flow and way to reengineer
business operations - New opportunities for competitive advantages
- Increased customer service satisfaction
11Components of Client/Server Architecture
- Client
- Front-end application
- Server
- Back-end application
- Communications middleware
- Communications layer
Figure 12.3
12Example Client/Server Architecture
Figure 12.4
13Client/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
14Server Components
- File services
- Print services
- Fax services
- Communications services
- Database services
- Transaction services
- Miscellaneous services
15Server Components
Figure 12.6
16Typical Characteristics of Server Hardware
- Fast CPU
- Fault-tolerant capabilities
- Dual power
- Standby power
- Error checking and correcting memory
- RAID
- Expandability of CPU, memory, disk, and
peripherals - Bus support for multiple add-on boards
- Multiple communications options
17Server Process Benefits
- Location independence
- Resource optimization
- Scalability
- Interoperability and integration
18Database 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
19Communications Middleware
- Two levels
- Physical level
- Client and server computers
- Logical level
- Client and server processes
- Interprocess communication (ICP) protocols
20OSI Network Reference Model
Table 12.2
21Information Flow through OSI Model
Figure 12.7
22Transport Process ID
Figure 12.8
23Network Protocols
- Transmission Control Protocol/Internet Protocol
(TCP/IP) - Internetwork Packet Exchange/ Sequenced Packet
Exchange (IPX/SPX) - Network Basic Input Output System (NetBIOS)
- Application Program to Program Communications
(APPC)
24Database Middleware Components
Figure 12.9
25Interactions between Middleware Components
Figure 12.10
26Middleware Accessing Multiple Database Servers
Figure 12.11
27Middleware Accessing Mainframe Databases
Figure 12.12
28Middleware Classifications
- Messaging-oriented middleware (MOM)
- Remote-procedure-call-based (RPC-based) middle
ware - Object-based middleware
29Competing 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
30Client/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
31Application Logic Components
Figure 12.14
32Client/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
33Application Functional Components
Figure 12.15
34Functional Logic Splitting
Figure 12.16
35Client/Server versus Traditional DP
- Proprietary to open systems
- Maintenance-oriented coding to analysis, design,
and service - Data collection to data deployment
- Centralized to distributed style
- Vertical, inflexible to horizontal, flexible
organizational style - Differences in IS components
36Client/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