Chap 09 Corrected

Embed Size (px)

Citation preview

  • 7/29/2019 Chap 09 Corrected

    1/25

    Chapter 9

    Chapter 9:

    The Client/ServerDatabase

    EnvironmentModern Database Management

    8

    th

    EditionJeffrey A. Hoffer, Mary B. Prescott,

    Fred R. McFadden

    2

    007byPrenticeHall

    FAROOQ

    1

  • 7/29/2019 Chap 09 Corrected

    2/25

    Chapter 9

    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 database linking via ODBC and JDBC 2

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    3/25

    Chapter 9

    Client/Server Systems

    Networked computing model

    Processes distributed between clients and servers

    ClientWorkstation (usually a PC) that requests and uses aservice

    ServerComputer (PC/mini/mainframe) that provides aservice

    For DBMS, server is a database server

    3

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    4/25

    Chapter 9

    Application Logic in C/S

    Systems

    4

    GUI Interface

    Procedures, functions,

    programs

    DBMS activities

    Processing Logic I/O processing

    Business rules

    Data management

    Storage Logic Data storage/retrieval

    Presentation Logic

    Inputkeyboard/mouse

    Outputmonitor/printer

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    5/25

    Chapter 9

    Client/Server Architectures

    File Server Architecture

    Database Server Architecture

    Three-tier Architecture

    5

    Client does

    extensive processing

    Client does little

    processing

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    6/25

    Chapter 9

    File Server Architecture

    All processing is done at the PC that requested the

    data

    Entire files are transferred from the server to theclient for processing

    Problems:

    Huge amount of data transfer on the network

    Each client must contain full DBMS

    Heavy resource demand on clients

    Client DBMSs must recognize shared locks, integrity checks, etc. 6

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    7/25

    Chapter 9

    7

    Figure 9-2 File Server Architecture

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    8/25

    Chapter 9

    Two-Tier Database Server

    Architectures

    Client is responsible for

    I/O processing logic

    Some business rules logic Server performs all data storage and

    access processing

    DBMS is only on server

    8

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    9/25

    Chapter 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 DBMS code that performs some business rulesdone on server

    9

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    10/25

    Chapter 9

    Advantages of

    Stored Procedures

    Compiled SQL statements

    Reduced network traffic

    Improved security

    Improved data integrity

    Thinner clients

    10

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    11/25

    Chapter 9

    11

    Figure 9-3 Two-tier database server architecture

    DBMS onlyon server

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    12/25

    Chapter 9

    Three-Tier Architectures

    12

    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

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    13/25

    Chapter 9

    13

    Figure 9-4 Three-tier architecture

    Thinnestclients

    Business ruleson separateserver

    DBMS only onDB server

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    14/25

    Chapter 9

    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

    14

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    15/25

    Chapter 9

    Application Partitioning

    Placing portions of the application code in different locations (client

    vs. server) AFTER it is written

    Advantages

    Improved performance

    Improved interoperability

    Balanced workloads

    15

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    16/25

    Chapter 9

    Common Logic Distributions

    16

    Figure 9-5a Two-tier client-

    server environment

    Figure 9-5b n-tier client-

    server environment

    Processing logic could be

    at client, server, or both

    Processing logicwill be at

    application server

    or Web server

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    17/25

    Chapter 9

    Role of the Mainframe

    Mission-critical legacy systems have tended to remain onmainframes

    Distributed client/server systems tend to be used for smaller,workgroup systems

    Difficulties in moving mission critical systems from mainframeto distributed

    Determining which code belongs on server vs. client

    Identifying potential conflicts with code from other applications

    Ensuring sufficient resources exist for anticipated load

    Rule of thumb Mainframe for centralized data that does not need to be moved

    Client for data requiring frequent user access, complex graphics, anduser interface 17

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    18/25

    Chapter 9

    Middleware

    Software that allows an application to interoperate with othersoftware

    No need for programmer/user to understand internal processing

    Accomplished viaApplication Program Interface(API)

    18The gluethat holds client/server applications together

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    19/25

    Chapter 9

    Types of Middleware

    Remote Procedure Calls (RPC) client makes calls to procedures running on remote computers

    synchronous and asynchronous

    Message-Oriented Middleware (MOM) asynchronous calls between the client via message queues

    Publish/Subscribe push technology server sends information to client when available

    Object Request Broker (ORB) object-oriented management of communications between clients and

    servers SQL-oriented Data Access

    middleware between applications and database servers19

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    20/25

    Chapter 9

    Database Middleware

    ODBCOpen Database Connectivity Most DB vendors support this

    OLE-DB Microsoft enhancement of ODBC

    JDBCJava Database Connectivity Special Java classes that allow Java applications/applets to connect to

    databases

    20

    2

    007byPrenticeHall

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    21/25

    Chapter 9

    Client/Server Security

    Network environment complex security issues Security levels:

    System-level password security

    for allowing access to the system

    Database-level password security

    for determining access privileges to tables; read/update/insert/deleteprivileges

    Secure client/server communication

    via encryption

    21

    2

    007byPrenticeHa

    ll

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    22/25

    Chapter 9

    Keys to Successful Client-Server

    Implementation

    Accurate business problem analysis

    Detailed architecture analysis

    Architecture analysis before choosing tools Appropriate scalability

    Appropriate placement of services

    Network analysis

    Awareness of hidden costs

    Establish client/server security22

    2

    007byPrenticeHa

    ll

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    23/25

    Chapter 9

    Benefits of Moving to Client/Server

    Architecture Staged delivery of functionality speeds deployment

    GUI interfaces ease application use

    Flexibility and scalability facilitates business processreengineering

    Reduced network traffic due to increased processing at datasource

    Facilitation of Web-enabled applications

    23

    2

    007byPrenticeHa

    ll

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    24/25

    Chapter 9

    Using ODBC to Link External Databases Stored

    on a Database Server Open Database Connectivity (ODBC)

    API provides a common language for application programs toaccess and process SQL databases independent of the particularRDBMS that is accessed

    Required parameters:

    ODBC driver

    Back-end server name

    Database name

    User id and password

    Additional information:

    Data source name (DSN)

    Windows client computer name

    Client application programs executable name

    24Java Database Connectivity (JDBC) is similar to ODBCbuilt specifically for Java applications

    2

    007byPrenticeHa

    ll

    FAROOQ

  • 7/29/2019 Chap 09 Corrected

    25/25

    Chapter 9

    ODBC Architecture(Figure 9-6)

    25

    Each DBMS has its own ODBC-compliant driver

    Client does not need toknow anything about theDBMS

    Application Program

    Interface (API) providescommon interface to allDBMSs

    2

    007byPrenticeHa

    ll

    FAROOQ