Professional Documents
Culture Documents
What is Client/Server?
• The client/server model is a form of distributed
computing where one program (the client)
communicates with another program (the server)
for the purpose of exchanging information.
The client's responsibility is to
• Handle the user interface.
• Translate the user's request into the desired
protocol.
• Send the request to the server.
• Wait for the server's response.
• Translate the response into "human-readable"
results.
• Present the results to the user.
The server's functions include:
t
es
qu
Re
Client
Server
Network
Re
su
l t
Client machine
Server machine
Characteristics of Client/Server
Computing
• It brings user friendly applications to the desktops,
giving users greater control over timing and style of
computer usage, and allowing departments to be more
responsive to local needs
• Enables databases, network management and utility
functions to be centralised
• Commitment to open and modular systems by the
user organisations and vendors
• Networking is fundamental to the operation, thus
good network management and security functions are
necessary
Client/Server Applications
• Emphasis on GUI for users
• Database Example
– Database on server, applications for access on
client, “glue” (like SQL) enables requests)
– Application logic can be client-only, or split
between client and server
Categories of Servers
• File Server
• Data Server
• Compute Server
• Database Server
• Communication Server
• Video Server
Types of Servers
From A to Z
Source: http://webopedia.lycos.com
May 2002 UNT Center for Digital Knowledge 12
File Server
• File Servers manage a work group’s application
and data files, so that they may be shared by the
group.
• Very I/O oriented
• Pull large amount of data off the storage
subsystem and pass the data over the network
• Requires many slots for network connections
and a large-capacity, fast hard disk subsystem.
Compute Server
• Performs Application logic processing
• Compute Servers requires
processors with high performance capabilities
large amounts of memory
relatively low disk subsystems
• By separating data from the computation
processing, the compute server’s processing
capabilities can be optimized
Data Server
• Data-oriented; used only for data storage and
management Data
• Since a data server can serve more than one Server
compute server, compute-intensive applications
can be spread among multiple severs
• Does not prefer any application logic
processing Compute
• Performs processes such as data Server
validation, required as part of the data
management function.
• Requires fast processor, large amount of
memory and substantial Hard disk capacity.
Database Server
• Most typical use of technology in client-server
• Accepts requests for data, retrieves the data from its
database(or requests data from another node)and
passes the results back.
• Compute server with data server provides the same
functionality.
• The server requirement depends on the size of
database, speed with which the database must be
updated, number of users and type of network used.
Communication Server
Provides gateway to other LANs,
networks & Computers
E-mail Server & internet server
Modest system requirements
multiple slots
fast processor to translate
networking protocols
Internet Server
PC client
Internet Server
Local Area
Network
UNIX workstations
Classes of
Client-Server Applications
• Host-based processing
• Server-based processing
• Client-based processing
• Cooperative processing
• “Fat client” vs “fat server”
FAT Client vs FAT server
Source: http://webopedia.lycos.com
Server
Client
• Servers
– Store and protect data
– Process requests from clients
• Clients
– Make requests
– Format data on the desktop
May 2002 UNT Center for Digital Knowledge 28
Application Functions
• Software application
functions are separated into
three distinct parts
Server:
Data Management
3 2 Client Types
Data Management
Database Applications:
Most common use of client-server architectures
Web Server:
Presents Dynamic Pages
• Limitations
– Performance deteriorates if number of users is
greater than 100
– Restricted flexibility and choice of DBMS,
since data language used in server is
proprietary to each vendor
– Limited functionality in moving program
functionality across servers
Three-Tier Architecture