370 likes | 720 Views
Chapter 12. Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel. In this chapter, you will learn:. What client/server computing is What the advantages of using client/server systems are How client/server systems evolved
E N D
Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel
In 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
Client/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
Client/Server Computing (con’t.) • 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
Forces 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
Evolution of Computing Environment Figure 12.2
Mainframe vs. Client/Server Systems Table 12.1
Managerial 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
MIS 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
Organizational 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
Components of Client/Server Architecture • Client • Front-end application • Server • Back-end application • Communications middleware • Communications layer Figure 12.3
Example Client/Server Architecture Figure 12.4
Client/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
Client Components Figure 12.5
Server Components • File services • Print services • Fax services • Communications services • Database services • Transaction services • Miscellaneous services
Server Components Figure 12.6
Typical 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
Server Process Benefits • Location independence • Resource optimization • Scalability • Interoperability and integration
Database 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
Communications Middleware • Two levels • Physical level • Client and server computers • Logical level • Client and server processes • Interprocess communication (ICP) protocols
OSI Network Reference Model Table 12.2
Information Flow through OSI Model Figure 12.7
Transport Process ID Figure 12.8
Network 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)
Database Middleware Components Figure 12.9
Interactions between Middleware Components Figure 12.10
Middleware Accessing Multiple Database Servers Figure 12.11
Middleware Accessing Mainframe Databases Figure 12.12
Middleware Classifications • Messaging-oriented middleware (MOM) • Remote-procedure-call-based (RPC-based) middle ware • Object-based middleware
Competing 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, Q+E
Client/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
Application Logic Components Figure 12.14
Client/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
Application Functional Components Figure 12.15
Functional Logic Splitting Figure 12.16
Client/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
Client/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