Software Architecture
- 3. Client Server Architecture
● The client–server model is a distributed
application structure that partitions tasks or
workloads between the providers of a
resource or service, called servers, and
service requesters, called clients.
● Often clients and servers communicate
over a computer network on separate
hardware, but both client and server may
reside in the same system.
- 4. Client Server Architecture
● A server host runs one or more server
programs which share their resources with
clients.
● A client does not share any of its
resources, but requests a server's content
or service function.
● Clients therefore initiate communication
sessions with servers which await incoming
requests.
- 5. Client Server Examples
● Examples of
computer
applications that
use the client–
server model are
Email, network
printing, and the
World Wide Web.
- 6. Client Server Architecture
● The application is modeled as a set of
services that are provided by servers and a
set of clients that use these services.
● Clients know of servers but servers needn't
know of clients.
● Clients and servers are logical processes.
- 7. Application Layers
● Presentation layer
– Concerned with presenting the results of a
computation or getting user input
● Application processing layer
– Responsible from providing application
specific functionality
– e.g. In a banking system; close account,
open account, etc.
● Data management layer
– Databases
- 9. Types
● 2-Tier
– The three application layers are mapped
onto two computer systems: The client
and the server.
– Thin client
– Fat client
● 3-Tier
– The three application layers are mapped
onto three logically seperate processes
that execute on different processors.
- 10. Thin and Fat Clients
● Thin-Client Model
– All of the application processing and data
management is carried out on the server.
– The client is simply responsible for running
the presentation software.
● Fat-Client Model
– The server is only responsible for data
management.
– The software on the client implements the
application logic and the interactions with
the system user.
- 12. Thin Client Model
● Used when legacy systems are migrated to
client server architectures.
● The legacy system continues to work as a
server and a graphical user interface is
implemented by a client.
● A major disadvantage: It places a heavy
processing load on both the server and the
network.
- 13. Fat Client Model
● More processing is delegated to the client
as the application processing is locally
executed.
● Most suitable for the new client server
systems where the capabilities of the client
system is known in advance.
● More complex than a thin client model
especially for management. New versions
of the application have to be installed on all
clients.
- 15. Three-Tier Architecture
● Each of the application layers may execute
on a seperate processor.
● Better performance than a thin client model.
● Simpler to manage than a fat client model.
● A more scalable architecture – as demands
increase, extra servers can be added.