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

What's hot

Software Generic Design Process.
Software Generic Design Process.Software Generic Design Process.
Software Generic Design Process.
Syed Hassan Ali
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Bro Shola Ajayi
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Shyam Bahadur Sunari Magar
 
architectural design
 architectural design architectural design
architectural design
Preeti Mishra
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
Syed Zaid Irshad
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
Jomel Penalba
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
Siddharth Ayer
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
M.E. at GTU- PG School
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
sslovepk
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sakthibalabalamuruga
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
SADEED AMEEN
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
Akash Kumar Dhameja
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process model
Preeti Mishra
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
Neil Ernst
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Rupesh Vaishnav
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
Nameirakpam Sundari
 
Process Support for requirements engineering
Process Support for requirements engineeringProcess Support for requirements engineering
Process Support for requirements engineering
University of Engineering and Technology Taxila
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
software process model
software process modelsoftware process model
software process model
juhi kumari
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
Abdul Basit
 

What's hot (20)

Software Generic Design Process.
Software Generic Design Process.Software Generic Design Process.
Software Generic Design Process.
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
architectural design
 architectural design architectural design
architectural design
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
eUnit 2 software process model
eUnit 2  software process modeleUnit 2  software process model
eUnit 2 software process model
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Process Support for requirements engineering
Process Support for requirements engineeringProcess Support for requirements engineering
Process Support for requirements engineering
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
software process model
software process modelsoftware process model
software process model
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 

Similar to Software Architecture

Client server architecture
Client server architectureClient server architecture
Client server architecture
Bhargav Amin
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
Tech_MX
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
Sangeetha Sg
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w Engineering
Rajan Shah
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
RituBhargava7
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteure
ssusere50573
 
2 08 client-server architecture
2 08 client-server architecture2 08 client-server architecture
2 08 client-server architecture
jit_123
 
Client server computing
Client server computingClient server computing
Client server computing
StudsPlanet.com
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
Damian T. Gordon
 
Mobile applications
Mobile applicationsMobile applications
Mobile applications
appo1728
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
LEENASAHU42
 
Clientserver
ClientserverClientserver
Clientserver
Madhumithah Ilango
 
QSpiders - Server Architecture
QSpiders - Server ArchitectureQSpiders - Server Architecture
QSpiders - Server Architecture
Qspiders - Software Testing Training Institute
 
Client server model
Client server modelClient server model
Client server model
Gd Goenka University
 
4. system models
4. system models4. system models
4. system models
AbDul ThaYyal
 
Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
Serious_SamSoul
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Richard Langlois P. Eng.
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
Vaibhav Gujral
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computing
Linh Nguyen
 

Similar to Software Architecture (20)

Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Client computing evolution ppt11
Client computing evolution ppt11Client computing evolution ppt11
Client computing evolution ppt11
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w Engineering
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteure
 
2 08 client-server architecture
2 08 client-server architecture2 08 client-server architecture
2 08 client-server architecture
 
Client server computing
Client server computingClient server computing
Client server computing
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Mobile applications
Mobile applicationsMobile applications
Mobile applications
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
 
Clientserver
ClientserverClientserver
Clientserver
 
QSpiders - Server Architecture
QSpiders - Server ArchitectureQSpiders - Server Architecture
QSpiders - Server Architecture
 
Client server model
Client server modelClient server model
Client server model
 
4. system models
4. system models4. system models
4. system models
 
Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Building microservices on azure
Building microservices on azureBuilding microservices on azure
Building microservices on azure
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computing
 

More from Sibel Kuzgun AKIN

Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
Sibel Kuzgun AKIN
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
Sibel Kuzgun AKIN
 
Testing Software
Testing SoftwareTesting Software
Testing Software
Sibel Kuzgun AKIN
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Sibel Kuzgun AKIN
 
Normal Formlar
Normal FormlarNormal Formlar
Normal Formlar
Sibel Kuzgun AKIN
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
Sibel Kuzgun AKIN
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Sibel Kuzgun AKIN
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
Sibel Kuzgun AKIN
 
Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)
Sibel Kuzgun AKIN
 

More from Sibel Kuzgun AKIN (9)

Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Normal Formlar
Normal FormlarNormal Formlar
Normal Formlar
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
 
Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
 
Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)Veri Tabanı: Temel Kavramlar (Hafta 1)
Veri Tabanı: Temel Kavramlar (Hafta 1)
 

Recently uploaded

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Recently uploaded (20)

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

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 ●