01 - Client Server Computing
01 - Client Server Computing
#01
separates a client from a server
It is almost always implemented over a computer
network
Computing
two-tier.
It allows devices to share files and resources.
Where to push the application to Same basic idea as fat-client versus fat-server
Fat clients
Depends on how the application is divided between
The bulk of the application is running on the client the server and the client
The client knows how the data is organized and where it is
Two-tier servers
Different clients access the same applications different ways
Fat servers Examples: file servers and database server
The server more complicated In this case the process (application logic) is buried
The clients are less complex within the client or server (or both)
More of the code runs on the server Three-tier servers
The network interaction is minimized
Examples: Web and distributed objects
In this case the process is run on the middle-tier
Application separated from the user and data interface
They can integrate the data from multiple sources
Client Server More robust and more scalable
Tier Architecture 7 Client (dumb) - Server Model 8
Presentation Business
Data Source
Logic Logic
Server
2 Tier - Fat Client Client
Client Server
Presentation Logic
2 Tier - Thin Client (or Fat Server)
Network
Client Server Application Logic
3 Tier
DBMS
Application Database
Client
Server Server
Server Server
Client Client
Logical extension of modular programming Clients and Servers are running separately on
appropriate hardware and software platforms for
with assumption that separation of a huge program into
their functions.
modules can create
the possibility for further modification For example, database management system servers
easier development running on platforms specially designed and
better maintainability. configured to perform queries, or file servers running on
platforms with special elements for managing files.
All large modules need not all be executed within the
Components in Client-Server Computing
same memory space.
Client
the calling module becomes the client( requesting service)
Server
In client-server computing
the called module becomes the server (providing service). Middleware major focus is on SOFTWARE
Middleware Software 13 calling called
14
procedure procedure
It is the (/) between client and server which glues
them together
arguments
arguments
results
results
Allowing the client request for a service and the
server providing it calling
procedure
Middleware can also be between server/server
(client)
Two broad classes
client stub server stub
General network transport network transport
arguments
results
LAN servers, TCP/IP, Communication stacks, Queuing
services, etc.
request message
request message
reply message
reply message
Application specific
Used to accomplish a specific task
called
Groupware specific: SMTP procedure
Internet specific: HTTP (client)
Database specific: SQL
Network
Terminal Distributed
Host Model Computing Model