Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,

Similar presentations


Presentation on theme: "© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,"— Presentation transcript:

1 © 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

2 Chapter 9 © 2005 by Prentice Hall 2 Objectives Definition of terms Definition of terms List advantages of client/server architecture List advantages of client/server architecture Explain three application components: presentation, processing, and storage Explain three application components: presentation, processing, and storage Suggest partitioning possibilities Suggest partitioning possibilities Distinguish between file server, database server, 3-tier, and n-tier approaches Distinguish between file server, database server, 3-tier, and n-tier approaches Describe and discuss middleware Describe and discuss middleware Explain query-by-example (QBE) Explain query-by-example (QBE) Explain database linking via ODBC and JDBC Explain database linking via ODBC and JDBC Explain VBA and Microsoft Access Explain VBA and Microsoft Access

3 Chapter 9 © 2005 by Prentice Hall 3 Client/Server Systems Networked computing model Networked computing model Processes distributed between clients and servers Processes distributed between clients and servers Client – Workstation (usually a PC) that requests and uses a service Client – Workstation (usually a PC) that requests and uses a service Server – Computer (PC/mini/mainframe) that provides a service Server – Computer (PC/mini/mainframe) that provides a service For DBMS, server is a database server For DBMS, server is a database server

4 Chapter 9 © 2005 by Prentice Hall 4 Application Logic in C/S Systems GUI Interface Procedures, functions, programs DBMS activities Processing Logic I/O processing I/O processing Business rules Business rules Data management Data management Storage Logic Data storage/retrieval Data storage/retrieval Presentation Logic Input – keyboard/mouse Input – keyboard/mouse Output – monitor/printer Output – monitor/printer

5 Chapter 9 © 2005 by Prentice Hall 5 Client/Server Architectures File Server Architecture File Server Architecture Database Server Architecture Database Server Architecture Three-tier Architecture Three-tier Architecture Client does extensive processing Client does little processing

6 Chapter 9 © 2005 by Prentice Hall 6 File Server Architecture All processing is done at the PC that requested the data All processing is done at the PC that requested the data Entire files are transferred from the server to the client for processing Entire files are transferred from the server to the client for processing Problems: Problems: Huge amount of data transfer on the network Huge amount of data transfer on the network Each client must contain full DBMS Each client must contain full DBMS Heavy resource demand on clients Heavy resource demand on clients Client DBMSs must recognize shared locks, integrity checks, etc. Client DBMSs must recognize shared locks, integrity checks, etc. FAT CLIENT

7 Chapter 9 © 2005 by Prentice Hall 7 Figure 9-2: File Server Architecture FAT CLIENT

8 Chapter 9 © 2005 by Prentice Hall 8 Two-Tier Database Server Architectures Client is responsible for Client is responsible for I/O processing logic I/O processing logic Some business rules logic Some business rules logic Server performs all data storage and access processing Server performs all data storage and access processing  DBMS is only on server

9 Chapter 9 © 2005 by Prentice Hall 9 Advantages of Two-Tier Approach Clients do not have to be as powerful Clients do not have to be as powerful Greatly reduces data traffic on the network Greatly reduces data traffic on the network Improved data integrity since it is all processed centrally Improved data integrity since it is all processed centrally Stored procedures  some business rules done on server Stored procedures  some business rules done on server

10 Chapter 9 © 2005 by Prentice Hall 10 Advantages of Stored Procedures Compiled SQL statements Compiled SQL statements Reduced network traffic Reduced network traffic Improved security Improved security Improved data integrity Improved data integrity Thinner clients Thinner clients

11 Chapter 9 © 2005 by Prentice Hall 11 Figure 9-3: Two-tier database server architecture Thinner clients DBMS only on server

12 Chapter 9 © 2005 by Prentice Hall 12 Three-Tier Architectures Thin Client PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive) GUI interface (I/O processing) Browser Business rules Web Server Data storage DBMS Client Application server Database server

13 Chapter 9 © 2005 by Prentice Hall 13 Figure 9-4: Three-tier architecture Thinnest clients Business rules on separate server DBMS only on DB server

14 Chapter 9 © 2005 by Prentice Hall 14 Advantages of Three-Tier Architectures Scalability Scalability Technological flexibility Technological flexibility Long-term cost reduction Long-term cost reduction Better match of systems to business needs Better match of systems to business needs Improved customer service Improved customer service Competitive advantage Competitive advantage Reduced risk Reduced risk

15 Chapter 9 © 2005 by Prentice Hall 15 Challenges of Three-tier Architectures High short-term costs High short-term costs Tools and training Tools and training Experience Experience Incompatible standards Incompatible standards Lack of compatible end-user tools Lack of compatible end-user tools

16 Chapter 9 © 2005 by Prentice Hall 16 Application Partitioning Placing portions of the application code in different locations (client vs. server) AFTER it is written Placing portions of the application code in different locations (client vs. server) AFTER it is written Advantages Advantages Improved performance Improved performance Improved interoperability Improved interoperability Balanced workloads Balanced workloads

17 Chapter 9 © 2005 by Prentice Hall 17 Parallel Computer Architectures Tightly Coupled Tightly Coupled Symmetric Multiprocessing (SMP) Symmetric Multiprocessing (SMP) Multiple CPUs Multiple CPUs Shared RAM Shared RAM Loosely Coupled Loosely Coupled Massively Parallel Processing (MPP) Massively Parallel Processing (MPP) Multiple CPUs Multiple CPUs Each CPU has its own RAM space Each CPU has its own RAM space

18 Chapter 9 © 2005 by Prentice Hall 18 Parallel Computer Architectures Figure 9-6 Tightly coupled – CPUs share common memory space Figure 9-7 Loosely coupled – CPUs each have their own memory space

19 Chapter 9 © 2005 by Prentice Hall 19 Query Processing with Parallel Processors Figure 9-5a: Parallel transactions Figure 9-5b: Parallel query

20 Chapter 9 © 2005 by Prentice Hall 20 Processing Logic Distributions Two-tier distributions n-tier distributions Processing logic could be at client, server, or both Processing logic will be at application server or Web server

21 Chapter 9 © 2005 by Prentice Hall 21 Middleware Software which allows an application to interoperate with other software Software which allows an application to interoperate with other software No need for programmer/user to understand internal processing No need for programmer/user to understand internal processing Accomplished via Application Program Interface (API) Accomplished via Application Program Interface (API) “glue” The “glue” that holds client/server applications together

22 Chapter 9 © 2005 by Prentice Hall 22 Types of Middleware Remote Procedure Calls (RPC) Remote Procedure Calls (RPC) client makes calls to procedures running on remote computers client makes calls to procedures running on remote computers synchronous and asynchronous synchronous and asynchronous Message-Oriented Middleware (MOM) Message-Oriented Middleware (MOM) asynchronous calls between the client via message queues asynchronous calls between the client via message queues Publish/Subscribe Publish/Subscribe push technology  server sends information to client when available push technology  server sends information to client when available Object Request Broker (ORB) Object Request Broker (ORB) object-oriented management of communications between clients and servers object-oriented management of communications between clients and servers SQL-oriented Data Access SQL-oriented Data Access middleware between applications and database servers middleware between applications and database servers

23 Chapter 9 © 2005 by Prentice Hall 23 Database Middleware ODBC – Open Database Connectivity ODBC – Open Database Connectivity Most DB vendors support this Most DB vendors support this OLE-DB OLE-DB Microsoft enhancement of ODBC Microsoft enhancement of ODBC JDBC – Java Database Connectivity JDBC – Java Database Connectivity Special Java classes that allow Java applications/applets to connect to databases Special Java classes that allow Java applications/applets to connect to databases

24 Chapter 9 © 2005 by Prentice Hall 24 Client/Server Security Network environment  complex security issues Network environment  complex security issues Security levels: Security levels: System-level password security System-level password security for allowing access to the system for allowing access to the system Database-level password security Database-level password security for determining access privileges to tables; read/update/insert/delete privileges for determining access privileges to tables; read/update/insert/delete privileges Secure client/server communication Secure client/server communication via encryption via encryption

25 Chapter 9 © 2005 by Prentice Hall 25 Query-by-Example (QBE) Direct-manipulation database language Direct-manipulation database language Graphical approach Graphical approach Available in MS Access Available in MS Access MS Access translates QBE to SQL and vice versa MS Access translates QBE to SQL and vice versa Useful for end-user database programming Useful for end-user database programming Good for ad hoc processing and prototyping Good for ad hoc processing and prototyping

26 Chapter 9 © 2005 by Prentice Hall 26 Figure 9-10: QBE view of a multiple- table join query Figure 9-12: Equivalent query in SQL

27 Chapter 9 © 2005 by Prentice Hall 27 Figure 9-9: Access usability hierarchy Foundation of MS Access Simple processes Stored modules of pre- existing VBA code Visual Basic for Applications…language for customizing the application API to call functions in DLLs external to MS Access

28 Chapter 9 © 2005 by Prentice Hall 28 Using ODBC to Link External Databases Stored on a Database Server Open Database Connectivity (ODBC) 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 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: Required parameters: ODBC driver ODBC driver Back-end server name Back-end server name Database name Database name User id and password User id and password Additional information: Additional information: Data source name (DSN) Data source name (DSN) Windows client computer name Windows client computer name Client application program’s executable name Client application program’s executable name Java Database Connectivity (JDBC) is similar to ODBC – built specifically for Java applications

29 Chapter 9 © 2005 by Prentice Hall 29 ODBC Architecture (Figure 9-18) Each DBMS has its own ODBC-compliant driver Client does not need to know anything about the DBMS Application Program Interface (API) provides common interface to all DBMSs

30 Chapter 9 © 2005 by Prentice Hall 30 Visual Basic for Applications VBA is the programming language that accompanies Access 2000 VBA is the programming language that accompanies Access 2000 VBA provides these features: VBA provides these features: Ability to perform complex functionality Ability to perform complex functionality Error handling Error handling Faster execution than macros Faster execution than macros Easier maintenance Easier maintenance OLE automation OLE automation Programmatic control Programmatic control Ease of reading for programmers Ease of reading for programmers Event-driven – nonprocedural programming that detects events and generates appropriate responses Event-driven – nonprocedural programming that detects events and generates appropriate responses


Download ppt "© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,"

Similar presentations


Ads by Google