SlideShare a Scribd company logo
Software Engineering
WEEK 8
Software Architecture
Sibel Kuzgun Akın
Software Architecture
● Layered
● Client server
● Service Oriented Architectures
– Component based
– Event driven
– SaaS: Software as a service
– Microservices
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.
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.
Client Server Examples
● Examples of
computer
applications that
use the client–
server model are
Email, network
printing, and the
World Wide Web.
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.
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
Application Layers
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.
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.
Thin and Fat Clients
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.
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.
A Client Server ATM System
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.
A Three-Tier Example
An Internet Banking System
Use of Client Server
Service Oriented Architectures
● You are responsible from this presentation:
https://www.slideshare.net/sharvan316/software-as-a-service-saas-2519210
●

More Related Content

Software Architecture

  • 1. Software Engineering WEEK 8 Software Architecture Sibel Kuzgun Akın
  • 2. Software Architecture ● Layered ● Client server ● Service Oriented Architectures – Component based – Event driven – SaaS: Software as a service – Microservices
  • 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.
  • 11. Thin and Fat Clients
  • 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.
  • 14. A Client Server ATM System
  • 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.
  • 18. Use of Client Server
  • 19. Service Oriented Architectures ● You are responsible from this presentation: https://www.slideshare.net/sharvan316/software-as-a-service-saas-2519210 ●