Client/Server Computing Architecture

 
#01
Client/Server
Computing
 
240-311 DISTRIBUTED COMPUTERS AND WEB
TECHNOLOGIES (3-0-6)
 
1
 
Distinct characteristics of C/S
 
Client-server
 is a computing architecture which
separates a client from a server
It is almost always implemented over a computer
network
The most basic type of client-server architecture
employs only two types of nodes: clients and servers.
This type of architecture is sometimes referred to as
two-tier
.
It allows devices to share files and resources.
Server provides the service
Client is considered as the customer requesting
the service
 
2
 
Distinct characteristics of C/S
 
The server service can be shared among a
number of clients
Clients must request or initiate the service
The location of the server in the network is
transparent to clients
Transaction between C/S is message-passing
based
C/S architecture is scalable
horizontally (more clients can added)
Vertically (more servers can be added)
The server is centrally maintained where as clients
are independent of each other
 
3
 
Systems with C/S Architecture
 
File servers
File sharing and file processing
Database servers
Passing file results
Example: Query in 
DBMS server
Typically one single request/reply
Transaction servers
Transaction server includes DBMS and transaction monitoring
Server has remote procedures run online by the client
Web servers
 Super-fat servers and thin clients
Uses HTTP protocol
 
4
Server
 
Internet
Client
Java
Client
HTML
Application
 
Client/Server Models
 
Where to push the application to
Fat clients
The bulk of the application is running on the client
The client knows how the data is organized and where it is
Different clients access the same applications different ways
Fat servers
The server more complicated
The clients are less complex
More of the code runs on the server
The network interaction is minimized
 
5
Server
Client
Application
 
Two-Tier vs. Three-Tier
 
Same basic idea as fat-client versus fat-server
Depends on how the application is divided between
the server and the client
Two-tier servers
Examples: file servers and database server
In this case the process (application logic) is buried
within the client or server (or both)
Three-tier servers
Examples: Web and distributed objects
In this case the process is run on the middle-tier –
separated from the user and data interface
They can integrate the data from multiple sources
More robust and more scalable
 
6
 
Tier Architecture
 
7
Presentation
Logic
Business
Logic
Data Source
2 Tier - Fat Client
Client
Server
2 Tier - Thin Client (or Fat Server)
Client
Server
3 Tier
Client
Application
Server
Database
Server
 
Keystroke
 
Displays
 
 
Client (dumb) - Server  Model
 
8
 
 
True Client-Server Model
 
9
 
 
Distributed Client-Server Model
 
10
 
Client/Server Computing
 
Logical extension of modular programming
with assumption that separation of a huge program into
modules can create
the possibility for further modification
easier development
better maintainability.
All large modules need not all be executed within the
same memory space.
the calling module becomes the client( requesting service)
the called module becomes the server (providing service).
 
11
 
Client/Server Computing
 
Clients and Servers are running separately on
appropriate hardware and software platforms for
their functions.
For example, database management system servers
running on platforms specially designed and
configured to perform queries, or file servers running on
platforms with special elements for managing files.
Components in Client-Server Computing
Client
Server
Middleware
 
12
In client-server computing
major focus is on SOFTWARE
 
Middleware Software
 
It is the (/) between client and server which glues
them together
Allowing the client request for a service and the
server providing it
Middleware can also be between server/server
Two broad classes
General
LAN servers, TCP/IP, Communication stacks, Queuing
services, etc.
Application specific
Used to accomplish a specific task
Groupware specific: SMTP
Internet specific: HTTP
Database specific: SQL
 
13
 
14
calling
procedure
(client)
called
procedure
(client)
 
Local Procedure Call
 
results
 
arguments
calling
procedure
called
procedure
client stub
network transport
server stub
network transport
 
Network
 
Remote Procedure Call
 
results
 
arguments
 
results
 
arguments
 
request message
 
reply message
 
reply message
 
request message
 
Six types of middleware
 
1.
Asynchronous Remote Procedure Calls (RPC)
client makes calls to procedures running on remote computers but
does not wait for a response
If connection is lost, client must re-establish the connection and send
request again.
High scalability but low recovery, largely replaced by type 2
2.
Synchronous RPC
distributed program may call services on different computers
makes it possible to achieve this without detailed coding (e.g. RMI in
Java)
3.
Publish/Subscribe (often called push technology)
server monitors activity and  sends information to client when
available.
It is asynchronous, the clients (subscribers) perform other activities
between notifications from the server.
Useful for monitoring situations where actions need to be taken when
particular events occur.
 
15
 
Six types of middleware
 
4.
Message-Oriented Middleware (MOM)
asynchronous – sends messages that are collected and
stored until they are acted upon, while the client continues
with other processing.
5.
Object Request Broker (ORB)
object-oriented management of communications
between clients and servers.
ORB tracks the location of each object and routes
requests to each object.
6.
SQL-oriented Data Access
middleware between applications and database servers.
Has the capability to translate generic SQL into the SQL
specific to the database
 
16
 
Computing Model
 
17
Computing
Model
Terminal
Host Model
Distributed
Computing Model
File Transfer
Model
Client/Server
Model
Peer to Peer
Model
 
References
 
Farid Farahmand, "An Introduction to Client/Server Architecture"
Rajkumar Buyya, "Client/Server Computing
(the wave of the future)"
Albert Yau, "Client Server Computing",
http://www.doc.ic.ac.uk/~nd/surprise_95/journal/vol1/wcy/article1.html
 
18
Slide Note
Embed
Share

Client/Server Computing architecture separates clients and servers over a network, allowing for file sharing, resource allocation, and service requests. Clients initiate services from servers, with transparent server locations and message-passing transactions. Systems with C/S architecture include file servers, database servers, transaction servers, and web servers. The model varies between fat clients (more application processing on client side) and fat servers (more processing on server side). The architecture can be classified into two-tier (file and database servers) and three-tier (web and distributed objects) based on application division.

  • Client/Server Computing
  • Architecture
  • File Servers
  • Database Servers
  • Three-Tier

Uploaded on Sep 30, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. 1 #01 Client/Server Computing 240-311 DISTRIBUTED COMPUTERS AND WEB TECHNOLOGIES (3-0-6)

  2. Distinct characteristics of C/S 2 Client-server is a computing architecture which separates a client from a server It is almost always implemented over a computer network The most basic type of client-server architecture employs only two types of nodes: clients and servers. This type of architecture is sometimes referred to as two-tier. It allows devices to share files and resources. Server provides the service Client is considered as the customer requesting the service

  3. Distinct characteristics of C/S 3 The server service can be shared among a number of clients Clients must request or initiate the service The location of the server in the network is transparent to clients Transaction between C/S is message-passing based C/S architecture is scalable horizontally (more clients can added) Vertically (more servers can be added) The server is centrally maintained where as clients are independent of each other

  4. Systems with C/S Architecture 4 File servers File sharing and file processing Database servers Client Server Passing file results Client Example: Query in DBMS server Typically one single request/reply Transaction servers Transaction server includes DBMS and transaction monitoring Server has remote procedures run online by the client Web servers Super-fat servers and thin clients Uses HTTP protocol Client HTML Application Internet Server Client Java

  5. Client/Server Models 5 Where to push the application to Fat clients The bulk of the application is running on the client The client knows how the data is organized and where it is Different clients access the same applications different ways Fat servers The server more complicated The clients are less complex More of the code runs on the server The network interaction is minimized Application Client Server

  6. Two-Tier vs. Three-Tier 6 Same basic idea as fat-client versus fat-server Depends on how the application is divided between the server and the client Two-tier servers Examples: file servers and database server In this case the process (application logic) is buried within the client or server (or both) Three-tier servers Examples: Web and distributed objects In this case the process is run on the middle-tier separated from the user and data interface They can integrate the data from multiple sources More robust and more scalable

  7. Tier Architecture 7 Presentation Logic Business Logic Data Source 2 Tier - Fat Client Client Server 2 Tier - Thin Client (or Fat Server) Client Server 3 Tier Application Server Database Server Client

  8. Client (dumb) - Server Model 8 Server Client Presentation Logic Network Application Logic DBMS

  9. True Client-Server Model 9 Server Client Application Logic Presentation Logic Network DBMS

  10. Distributed Client-Server Model 10 Server Client Application Logic Application Logic Network DBMS Presentation Logic

  11. Client/Server Computing 11 Logical extension of modular programming with assumption that separation of a huge program into modules can create the possibility for further modification easier development better maintainability. All large modules need not all be executed within the same memory space. the calling module becomes the client( requesting service) the called module becomes the server (providing service).

  12. Client/Server Computing 12 Clients and Servers are running separately on appropriate hardware and software platforms for their functions. For example, database management system servers running on platforms specially designed and configured to perform queries, or file servers running on platforms with special elements for managing files. Components in Client-Server Computing Client Server In client-server computing major focus is on SOFTWARE Middleware

  13. Middleware Software 13 It is the (/) between client and server which glues them together Allowing the client request for a service and the server providing it Middleware can also be between server/server Two broad classes General LAN servers, TCP/IP, Communication stacks, Queuing services, etc. Application specific Used to accomplish a specific task Groupware specific: SMTP Internet specific: HTTP Database specific: SQL

  14. 14 calling procedure called procedure arguments arguments results results calling procedure (client) client stub network transport server stub network transport arguments results request message request message reply message reply message called procedure (client) Network Local Procedure Call Remote Procedure Call

  15. Six types of middleware 15 1. Asynchronous Remote Procedure Calls (RPC) client makes calls to procedures running on remote computers but does not wait for a response If connection is lost, client must re-establish the connection and send request again. High scalability but low recovery, largely replaced by type 2 Synchronous RPC 2. distributed program may call services on different computers makes it possible to achieve this without detailed coding (e.g. RMI in Java) Publish/Subscribe (often called push technology) 3. server monitors activity and sends information to client when available. It is asynchronous, the clients (subscribers) perform other activities between notifications from the server. Useful for monitoring situations where actions need to be taken when particular events occur.

  16. Six types of middleware 16 4. Message-Oriented Middleware (MOM) asynchronous sends messages that are collected and stored until they are acted upon, while the client continues with other processing. Object Request Broker (ORB) 5. object-oriented management of communications between clients and servers. ORB tracks the location of each object and routes requests to each object. SQL-oriented Data Access 6. middleware between applications and database servers. Has the capability to translate generic SQL into the SQL specific to the database

  17. Computing Model 17 Computing Model Terminal Host Model Distributed Computing Model File Transfer Model Client/Server Model Peer to Peer Model

  18. References 18 Farid Farahmand, "An Introduction to Client/Server Architecture" Rajkumar Buyya, "Client/Server Computing (the wave of the future)" Albert Yau, "Client Server Computing", http://www.doc.ic.ac.uk/~nd/surprise_95/journal/vol1/wcy/article1.html

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#