Sunday, June 27, 2010

Client/Server Computing

  • Centralized Computing
    • Here the application operates on the server and all clients interact with the central application through client side interface terminals - dumb terminals
    • when a client requests data from a database, the system moves all the data across the network to the client
    • this causes the network to slow down for other clients
  • Client/Server Computing
    • the client computer makes a request and a computer acting as the server fulfills the request
    • the client software uses the structured query language (SQL) to translate what the user sees into a request that the database can understand. Therefore portions of the application reside on the client and some on the server.
    • Here's an example using SQL:
      • The client requests the data
      • The request is translated into SQL
      • The SQL request is sent over the network to the server
      • The database server carries out a search on the computer where the data exists
      • The requested records are returned to the client
      • The data is presented to the user
    • The application (MS Access for example) is the client, or FRONT END
    • The database server (SQL Server) is the server or BACK END
  • The Client
    • The front end client runs an application that
      • presents an interface to the user (this doesn't reside on the server at all)
      • formats requests for data
      • displays data it receives from the server
    • The user uses an on-screen form, called a search key to specify search requests
    • the data can be presented to the user in various ways  - different users access the same database to present information in a way that suits them
    • Front End Tools
      • query tools
      • user applications
        • e.g. Excel provides front end access to back end databases
      • program development tools
        • Visual Basic is used to develop front end tools to access backend data.
  • The Server
    • usually dedicated to STORING and MANAGING data
    • most of the database activity happens on the server
      • sorting
      • data updates, additions, deletions, and protection
    • Stored procedures
      • short, pre-written data-processing routines used by client applications
      • stored on the server and can be used by any client
      • one stored process can be called by any number of client applications instead of having to incorporate the same routine into the code of each program
      • this means
        • processing is done on the server instead of the client
        • network traffic is reduced because one request begins a series of stored procedures on the server instead of many different requests
        • security controls can prevent unauthorized use of some procedures
  • Client / Server Architecture
    • single server
    • multiple servers with special tasks
      • distributed server arrangements
        • servers across a WAN link synchronized to endure they all have the same data in common
        • Data Warehouse. One server stores large amounts of data and forwards the most sought after data to intermediate servers that format the data. This off loads some of the processing from the intermediate servers that care contacted by clients (pic. p.409).
    Advantages of the Client / Server Environment
    1. Less network traffic => only results of query are sent over the network
    2. The server is more powerful that the client and does most of the processing
    3. More RAM and storage space on server means you don't have to spend as much MONEY on each client
    4. Back end data is more easily secured and BACKED UP

No comments:

Post a Comment