Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden."— Presentation transcript:

1 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 2 Objectives  Definition of terms  List advantages of client/server architecture  Explain three application components: presentation, processing, and storage  Suggest partitioning possibilities  Distinguish between file server, database server, 3-tier, and n-tier approaches  Describe and discuss middleware  Explain query-by-example (QBE)  Explain database linking via ODBC and JDBC  Explain VBA and Microsoft Access

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

4 Chapter 9 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 5 Client/Server Architectures  File Server Architecture  Database Server Architecture  Three-tier Architecture Client does extensive processing Client does little processing

6 Chapter 9 6 File Server Architecture  All processing is done at the PC that requested the data  Entire files are transferred from the server to the client for processing  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 clientsHeavy 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 7 Figure 9-2: File Server Architecture FAT CLIENT

8 Chapter 9 8 Two-Tier Database Server Architectures  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  DBMS is only on server

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

10 Chapter 9 10 Advantages of Stored Procedures  Compiled SQL statements  Reduced network traffic  Improved security  Improved data integrity  Thinner clients

11 Chapter 9 11 Figure 9-3: Two-tier database server architecture Thinner clients DBMS only on server

12 Chapter 9 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 13 Figure 9-4: Three-tier architecture Thinnest clients Business rules on separate server DBMS only on DB server

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

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

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

17 Chapter 9 17 Parallel Computer Architectures  Tightly Coupled Symmetric Multiprocessing (SMP) Symmetric Multiprocessing (SMP) Multiple CPUs Multiple CPUs Shared RAM Shared RAM  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 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 19 Query Processing with Parallel Processors Figure 9-5a: Parallel transactions Figure 9-5b: Parallel query

20 Chapter 9 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 21 Middleware  Software which allows an application to with other software  Software which allows an application to interoperate with other software  No need for programmer/user to understand internal processing  Accomplished via (API)  Accomplished via Application Program Interface (API) “glue” The “glue” that holds client/server applications together

22 Chapter 9 22 Types of Middleware  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) asynchronous calls between the client via message queues asynchronous calls between the client via message queues  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-oriented management of communications between clients and servers object-oriented management of communications between clients and servers  SQL-oriented Data Access middleware between applications and database servers middleware between applications and database servers

23 Chapter 9 23 Database Middleware  ODBC – Open Database Connectivity Most DB vendors support this Most DB vendors support this  OLE-DB Microsoft enhancement of ODBC Microsoft enhancement of ODBC  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 24 Client/Server Security  Network environment  complex security issues  Security levels: System-level password security System-level password security for allowing access to the systemfor allowing access to the system Database-level password security Database-level password security for determining access privileges to tables; read/update/insert/delete privilegesfor determining access privileges to tables; read/update/insert/delete privileges Secure client/server communication Secure client/server communication via encryptionvia encryption

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

26 Chapter 9 26 Figure 9-10: QBE view of a multiple- table join query Figure 9-12: Equivalent query in SQL

27 Chapter 9 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 28 Using ODBC to Link External Databases Stored on a Database Server  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: 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: 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 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 30 Visual Basic for Applications  VBA is the programming language that accompanies Access 2000  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


Download ppt "1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden."

Similar presentations


Ads by Google