12 Chapter 12 ClientServer Systems Hachim Haddouti and

  • Slides: 25
Download presentation
12 Chapter 12 Client/Server Systems Hachim Haddouti and Rob & Coronel, Ch 12

12 Chapter 12 Client/Server Systems Hachim Haddouti and Rob & Coronel, Ch 12

12 In this chapter, you will learn: • What client/server computing is • What

12 In this chapter, you will learn: • What client/server computing is • What the advantages of using client/server systems are • client/server architecture, system components and how they interact • What effect the client/server system has on the DBMS Hachim Haddouti and Rob & Coronel, Ch 12 2

12 Client/Server Computing • Computing model for the development of computerized systems – Client

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 3

12 Client/Server Computing (con’t. ) • Key to client server power is where request

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 4

12 Forces that Drive Client/Server Trend • Changing business environment • Growing need for

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 5

12 Evolution of Computing Environment Hachim Haddouti and Rob & Coronel, Ch 12 6

12 Evolution of Computing Environment Hachim Haddouti and Rob & Coronel, Ch 12 6

Mainframe vs. Client/Server Systems Hachim Haddouti and Rob & Coronel, Ch 12 12 7

Mainframe vs. Client/Server Systems Hachim Haddouti and Rob & Coronel, Ch 12 12 7

12 Components of Data-Intensive Systems Three separate types of functionality: • Data management •

12 Components of Data-Intensive Systems Three separate types of functionality: • Data management • Application logic • Presentation • The system architecture determines whether these three components reside on a single system (“tier) or are distributed across several tiers Hachim Haddouti and Rob & Coronel, Ch 12 8

12 Single-Tier Architectures All functionality combined into a single tier, usually on a mainframe

12 Single-Tier Architectures All functionality combined into a single tier, usually on a mainframe – User access through dumb terminals Advantages: – Easy maintenance and administration Disadvantages: – Today, users expect graphical user interfaces. – Centralized computation of all of them is too much for a central system Hachim Haddouti and Rob & Coronel, Ch 12 9

12 Client-Server Architectures Work division: Thin client – Client implements only the graphical user

12 Client-Server Architectures Work division: Thin client – Client implements only the graphical user interface – Server implements business logic and data management • Work division: Thick client – Client implements both the graphical user interface and the business logic – Server implements data management Hachim Haddouti and Rob & Coronel, Ch 12 10

Two-Tier Client/Server Architecture Hachim Haddouti and Rob & Coronel, Ch 12 12 11

Two-Tier Client/Server Architecture Hachim Haddouti and Rob & Coronel, Ch 12 12 11

Components of Client/Server Architecture 12 • Client – Front-end application • Server – Back-end

Components of Client/Server Architecture 12 • Client – Front-end application • Server – Back-end application • Communications middleware – Communications layer Hachim Haddouti and Rob & Coronel, Ch 12 12

12 Client-Server Architectures (Contd. ) Disadvantages of thick clients – No central place to

12 Client-Server Architectures (Contd. ) Disadvantages of thick clients – No central place to update the business logic – Security issues: Server needs to trust clients • Access control and authentication needs to be managed at the server • Clients need to leave server database in consistent state • One possibility: Encapsulate all database access into stored procedures – Does not scale to more than several 100 s of clients • Large data transfer between server and client • More than one server creates a problem: x clients, y servers: x*y connections Hachim Haddouti and Rob & Coronel, Ch 12 13

12 The Three Layers Presentation tier – Primary interface to the user – Needs

12 The Three Layers Presentation tier – Primary interface to the user – Needs to adapt to different display devices (PC, PDA, cell phone, voice access? ) Middle tier – Implements business logic (implements complex actions, maintains state between different steps of a workflow) – Accesses different data management systems Data management tier – One or more standard database management systems Hachim Haddouti and Rob & Coronel, Ch 12 14

12 The Three-Tier Architecture Presentation tier Client Program (Web Browser) Application Server Middle tier

12 The Three-Tier Architecture Presentation tier Client Program (Web Browser) Application Server Middle tier Data management tier Database System Hachim Haddouti and Rob & Coronel, Ch 12 15

12 Three-Tier Client/Server Architecture Hachim Haddouti and Rob & Coronel, Ch 12 16

12 Three-Tier Client/Server Architecture Hachim Haddouti and Rob & Coronel, Ch 12 16

12 Advantages of the Three-Tier Architecture • • • Heterogeneous systems – Tiers can

12 Advantages of the Three-Tier Architecture • • • Heterogeneous systems – Tiers can be independently maintained, modified, and replaced Thin clients – Only presentation layer at clients (web browsers) Integrated data access – Several database systems can be handled transparently at the middle tier – Central management of connections Scalability – Replication at middle tier permits scalability of business logic Software development – Code for business logic is centralized – Interaction between tiers through well-defined APIs: Can reuse standard components at each tier Hachim Haddouti and Rob & Coronel, Ch 12 17

12 Example 1: Airline reservations • Build a system for making airline reservations •

12 Example 1: Airline reservations • Build a system for making airline reservations • What is done in the different tiers? • Database System – Airline info, available seats, customer info, etc. • Application Server – Logic to make reservations, cancel reservations, add new airlines, etc. • Client Program – Log in different users, display forms and humanreadable output Hachim Haddouti and Rob & Coronel, Ch 12 18

12 Example 2: Course Enrollment • Build a system using which students can enroll

12 Example 2: Course Enrollment • Build a system using which students can enroll in courses • Database System – Student info, course info, instructor info, course availability, pre-requisites, etc. • Application Server – Logic to add a course, drop a course, create a new course, etc. • Client Program – Log in different users (students, staff, faculty), display forms and human-readable output Hachim Haddouti and Rob & Coronel, Ch 12 19

12 Technologies Client Program (Web Browser) Application Server (Tomcat, Apache, IIS) Database System (SQL

12 Technologies Client Program (Web Browser) Application Server (Tomcat, Apache, IIS) Database System (SQL Server, Oracle, DB 2) Hachim Haddouti and Rob & Coronel, Ch 12 HTML Javascript XSLT ASP, JSP Servlets Cookies CGI XML Stored Procedures 20

12 Typical Characteristics of Server Hardware • Fast CPU • Fault-tolerant capabilities – –

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 21

12 Competing Standards • Client operating systems – Microsoft Windows – OS/2, Apple Mac

12 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, Net. BIOS • Middleware – ODBC, IDAPI, DRDA, Q+E Hachim Haddouti and Rob & Coronel, Ch 12 22

12 Client/Server DBMS Functions • Transparent data access to multiple, heterogeneous clients • Allow

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 23

Summary: Advantages of Client/Server Systems + + + + 12 Lower network traffic Improved

Summary: Advantages of Client/Server Systems + + + + 12 Lower network traffic Improved processing distribution Thinner clients Greater processing transparency Increased network, hardware, and software transparency Improved security Decreased costs Increased scalability Hachim Haddouti and Rob & Coronel, Ch 12 24

12 Client/Server Implementation Issues • Management Issues – – – Communications infrastructure Applications Controlling

12 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 Hachim Haddouti and Rob & Coronel, Ch 12 25