Distributed Systems: Client/Server Computing - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Distributed Systems: Client/Server Computing

Description:

Major trend in information systems, replacing both the centralized approaches ... limited to the role of a terminal emulator, even if it employs a microcomputer ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 18
Provided by: marius3
Learn more at: http://www.cs.iit.edu
Category:

less

Transcript and Presenter's Notes

Title: Distributed Systems: Client/Server Computing


1
Distributed Systems Client/Server Computing

2
Client/Server Computing
  • Major trend in information systems, replacing
    both the centralized approaches and alternative
    forms of distributed computing
  • Main concepts
  • Clients
  • Single-user PCs or workstations with
    user-friendly, usually graphical, interfaces
  • Servers
  • Provide a set of shared user services to clients
  • Example Database server, controlling a
    relational database
  • Allows many clients to share access to the same
    database
  • Can use a high-performance computer system to
    manage the database
  • Network
  • Clients and servers are connected to a LAN or WAN
    or by an internet of networks

3
Client/Server Computing (cont.)
4
Client/Server Computing (cont.)
  • Client/server architecture
  • Platforms and the OSs may be different
  • Communications protocols and the applications
    supported must be common
  • Allocation of application-level tasks between
    clients and servers is central to the
    architecture. It must
  • Optimize platform and network resources
  • Optimize the ability of users to perform various
    tasks and to cooperate with one another
  • Presentation services in client must provide a
    user interface (e.g., GUI) that is easy to use,
    powerful, and flexible

5
Client/Server Computing (cont.)
  • Relational database applications
  • Server is responsible for maintaining the
    database using a database management system
    software module
  • Client has applications that make use of the
    database
  • Client/server interactions are in the form of
    transactions in which the client makes a database
    request and receives a database response, e.g.,
    the Structured Query Language (SQL)
  • Not all the application logic (e.g., data
    analysis) has to reside in the client

6
Client/Server Computing (cont.)
  • Example Online access for record lookup
  • Server is maintaining a database of 1 million
    records
  • User wants to perform a search using a certain
    search criteria (e.g., records older than 1999)
    and expects to find at most a few records
  • First query yields a server response of 100,000
    records
  • User sends another query adding new qualifiers
  • Response returns 1,000 records
  • Client issues third request with additional
    qualifiers and receives a single record

7
Client/Server Computing (cont.)
  • Example 2 Online access for record lookup
  • Server is maintaining a database of 1 million
    records
  • Client would like to compute the grant total of a
    certain field across many records
  • The query results in 300,000 records transmitted,
    which would be a misuse of the client/server
    architecture
  • Solution move part of the application logic to
    the server

8
Client/Server Computing (cont.)
  • Classes of client/server applications
  • Wide spectrum of implementations in partitioning
    work between client and server
  • Host-based processing
  • All processing done on a central host
  • Users station is limited to the role of a
    terminal emulator, even if it employs a
    microcomputer
  • Traditional mainframe computing, not a true
    client/server architecture

9
Client/Server Computing (cont.)
  • Classes of client/server applications (cont.)
  • Server-based processing
  • Most basic class of client/server configuration,
    early implementations (thin client model)
  • Client provides a graphical user interface
  • Server provides all processing
  • This configuration does not provide significant
    improvements in the use of resources

10
Client/Server Computing (cont.)
  • Classes of client/server applications (cont.)
  • Client-based processing
  • All application processing is done by the client,
    except for the data validation routines
  • Advantage allows users to employ applications
    best suited for local needs
  • Most common client-server approach in use today
  • Fat client model

11
Client/Server Computing (cont.)
  • Classes of client/server applications (cont.)
  • Cooperative processing
  • Distribution of application processing is
    optimized, taking advantage of the strengths of
    both client and server machines and of the best
    distribution of data
  • More difficult to set up and maintain
  • Can lead to greater network efficiency and
    highest productivity gains

12
Client/Server Computing (cont.)
  • Threetier client/server architecture
  • Application software is distributed between three
    types of machines a (thin) client, a middle-tier
    server, and a backend server
  • The middle-tier server provides a gateway
    function between the clients and the different
    backend servers
  • Convert protocols and map from one type of
    database query to another
  • Can merge/integrate results from different
    sources
  • Can serve as a gateway between the new desktop
    applications and the backend legacy applications
  • The middle-tier server is both a server and a
    client server for the thin client and client for
    the backend server

13
Client/Server Computing (cont.)
  • File cache consistency
  • To reduce the performance penalty of accessing
    remote files, individual systems can use file
    caches
  • Typical distribution mechanism for caching files
    among network workstations a file access request
    in the client results in (1) request to client
    cache (file traffic), then to local disk (disk
    traffic), then to file server (server
    traffic), cache and then disk
  • Problem caches can become inconsistent when the
    remote data are changed and local cache is
    obsolete
  • Solutions (a) File locking techniques to prevent
    simultaneous file access by more than one client,
    and (b) Sprite approach on a write by a client,
    all other clients that opened the file are
    notified

14
Client/Server Computing (cont.)
  • Middleware
  • The rapid development and deployment of
    client/server products has outpaced the standards
    efforts difficult to implement an integrated,
    multi-vendor client/server solution
  • Developers need a set of tools that provide a
    uniform means and style of access to system
    resources across all platforms
  • Middleware
  • A set of standard programming interfaces and
    protocols that sit between the application above
    and the communications software and operating
    system below
  • Hide the complexities and disparities of
    different network protocols and operating systems
  • Client and server vendors provide a number of
    middleware packages as options
  • The user selects a middleware strategy and then
    assembles equipment from different vendors that
    support that strategy

15
Client/Server Computing (cont.)
  • Middleware architecture
  • The role of the middleware depends on the style
    of client/server computing used
  • There is both a client and a server component of
    middleware
  • Goal allow an application or user at the client
    to access different services on servers, even
    though the servers implementations may be
    different
  • Many relational databases, even though they
    support Structured Query Language (SQL), they
    also add proprietary extensions to SQL
  • Example A distributed system supporting a
    personnel department is using both Gupta and
    Oracle databases

16
Client/Server Computing (cont.)
  • A logical view of a distributed system using
    middleware
  • The entire distributed system can be viewed as a
    set of applications and resources available to
    its users
  • Applications run over a uniform Applications
    Programming Interface (API)
  • The middleware operates over all client and
    server platforms and is responsible for routing
    client requests to the appropriate servers

17
Client/Server Computing (cont.)
  • An example of the use of middleware to integrate
    different products
Write a Comment
User Comments (0)
About PowerShow.com