|
The client server computing model
distributes processing over multiple computers. Distributed
processing enables access to remote systems for the purpose of
sharing information and network resources. In a client-server
environment, the client and server share or distribute processing
responsibilities.
Computers on a network can be referred
to as: Host, Server or Client.
Host - A host is a
computer system on a UNIX network. Any UNIX computer running TCP/IP
(workstation or server) is considered a host computer. The local
host is the machine on which the user is currently working. A remote
host is a system that is being accessed by a user from another
system.
Server - A server provides
resources to one or more clients by means of a network. Servers
provide services in an UNIX environment by running daemons. Examples
of daemons include: Printer, FTP, and Telnet.
Client - A client is a machine that
uses the services from one or more servers on a network. Your computer
can be a printer client, an FTP client, and a telnet client
simultaneously.
A simple example of Client/Server
relationship is an FTP session. FTP or File Transfer Protocol
is a basic industry standard method of transferring a file from one
computer to another. In order for the client to transfer a file, the
server must be running the FTP daemon or service. In this case, the
client requests the file to be transferred and the server provides the
file.
The Internet is also a good
example of a distributed processing client-server computing
relationship. The client or "front end"
typically handles user presentation functions such as screen
formatting, input forms, and editing of data. This is done with a
browser such as Netscape or Internet Exploder. The server or
"back end" handles the client's requests for web
pages and provides Hypertext Transfer Protocols (HTTP) or WWW
Services.
Another example of client server is a
database server and a data entry or query client in a LAN. The client
or front end may be running an application written in the C or Java TM
language and the server or back end could be running Oracle TM or
other database management software. In this case the client would also
handle formatting and presentation tasks for the user. The server
would store the database itself and retrieve the data for the user.
In a typical file server environment,
the client may have to retrieve large portions of the database files
to process them locally, which can cause excess network traffic. With
the client server model, the client presents a request to the server
and server database "engine" might process 100,000 records
and pass only a few back to the client to satisfy the request. Servers
are typically much more powerful than client computers and are better
suited to processing large amounts of data. With client-server
computing, the large database is stored and the processing takes place
on the powerful server. The client only has to deal with creating the
query and a relatively small amount of data or results may be passed
across the network. This satisfies the clients query and results in
less usage of bandwidth. The Figure shows and example of Client /
Server computing. Note that the workstation and server would normally
be connected in LAN by a hub or switch.
|