SlideShare a Scribd company logo
1 of 14
Architectural styles 
- Layered Pattern 
- Broker Pattern 
- Module View Controller 
Author: Suhanov Begench
Roadmap 
- What is Software Architecture style? 
• Description 
- Layered architectural style 
• Description 
• Advantages 
• Disadvantages 
• Examples
Description 
An architectural style or pattern is: 
 a description of the component and connector types 
involved in the style 
 the collection of rules that constrain and relate 
them
Layered Pattern 
A layered architecture organizes a system into a set of 
layers each of which provide a set of services to the 
layer “above”. 
Layering consists of a hierarchy of layers, each 
providing service to the layer above it and serving as 
client to the layer below. 
 Supports the incremental development of sub-systems 
in different layers. 
 When a layer interface changes, only the adjacent 
layer is affected
Layered Pattern 
 Context 
 While working with a large, complex system and you want 
to manage complexity by decomposition. 
 Problem 
 How do you structure an application to support such 
important requirements as maintainability, scalability, 
extensibility, robustness, and security? 
 Solution 
 Compose the solution into a set of layers. Each layer 
should be cohesive and at roughly the same level of 
abstraction. Each layer should be loosely coupled to the 
layers underneath.
Interaction between layers(1) 
 Interactions among layers are defined by suitable 
communication protocols. 
 Interactions among non-adjacent layers must be kept 
to the minimum possible. 
 Normally layers are constrained so elements only 
see: 
 other elements in the same layer, or 
 elements of the layer below
Interaction between layers(2) 
Flow 
requests from higher layer to lower layer 
answers from lower layer to higher layer 
(callbacks) 
 incoming data or event notification from low to 
high
Advantages(1) 
 Independence 
 Different components of the application can be 
independently deployed, maintained, and updated, on 
different time schedules 
 Makes possible for team members to work in parallel on 
different parts of the application with minimal 
dependencies. 
 Testing the components independently of each other.
Advantages(2) 
More secure 
 Each layer may hide private information from other layers 
Reusability 
 Each layer, being cohesive and is coupled only to lower 
layers, makes it easier for reuse by others and easier to be 
replaced or interchanged
Advantages(3) 
 Reusing components easily: 
 For example if we want a windows user interface rather than a web 
browser interface, this can be done in an easy and fast way by just 
replacing the UI component. All the other components like business 
logic, data access and the database remains the same. Layered 
architecture allows to swap and reuse components at will. 
 Increases flexibility, maintainability, and 
scalability: 
 We separate the user interface from the business logic, and the 
business logic from the data access logic.
Disadvantages 
 Performance degrades if we have too many layers 
(extra overhead of passing through layers and also 
changes will pass slowly to higher layers ) 
 Sometimes difficult to cleanly assign functionality to 
the “right” layer 
 Can’t be used for simple applications because it adds 
complexity.
Examples 
 Virtual Machines 
 APIs 
 Information systems – lower layer is database 
 Presentation 
 Application logic 
 Domain layer 
 Database 
 Some operating systems – Windows NT
Example 1 : 
Layered Architecture for OS 
(Sample) 
Resource (I/O, 
network, file, etc.) 
management 
Utilities (editors, 
sys commands, 
compilers, 
internet 
access, 
libraries, etc.) 
Kernel (Device & memory 
Processing) drivers 
Process (classification & 
management)
Example 2 : 
Java VM 
Java 
Java 
Operating 
Processor 
System 
Virtual Machine 
Application

More Related Content

What's hot

What's hot (20)

Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
acceptance testing
acceptance testingacceptance testing
acceptance testing
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Chapter 5 Database Transaction Management
Chapter 5 Database Transaction ManagementChapter 5 Database Transaction Management
Chapter 5 Database Transaction Management
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
 
Deployment Diagram
Deployment DiagramDeployment Diagram
Deployment Diagram
 
Distributed dbms architectures
Distributed dbms architecturesDistributed dbms architectures
Distributed dbms architectures
 
Gof design pattern
Gof design patternGof design pattern
Gof design pattern
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
Facade Pattern
Facade PatternFacade Pattern
Facade Pattern
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 

Similar to Layered architecture style

An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAndrei Pîrjoleanu
 
Distributed information sys
Distributed information sysDistributed information sys
Distributed information sysMeena Chauhan
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologiesprakashk453625
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptbalewayalew
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionTamrat Amare
 
Topic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information SystemsTopic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information Systemssanjoysanyal
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies prakashk453625
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4yawani05
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systemsMalisa Ncube
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdflematadese670
 
Architectural design
Architectural designArchitectural design
Architectural designHuda Alameen
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsFrancelyno Murela
 

Similar to Layered architecture style (20)

Layering
LayeringLayering
Layering
 
Lec 4.ppt
Lec 4.pptLec 4.ppt
Lec 4.ppt
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software Architecture
 
Distributed information sys
Distributed information sysDistributed information sys
Distributed information sys
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
Topic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information SystemsTopic1 Understanding Distributed Information Systems
Topic1 Understanding Distributed Information Systems
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 
Osi model
Osi modelOsi model
Osi model
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systems
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Se lec6
Se lec6Se lec6
Se lec6
 
Chapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systemsChapter 1 -_characterization_of_distributed_systems
Chapter 1 -_characterization_of_distributed_systems
 

Recently uploaded

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 

Recently uploaded (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 

Layered architecture style

  • 1. Architectural styles - Layered Pattern - Broker Pattern - Module View Controller Author: Suhanov Begench
  • 2. Roadmap - What is Software Architecture style? • Description - Layered architectural style • Description • Advantages • Disadvantages • Examples
  • 3. Description An architectural style or pattern is:  a description of the component and connector types involved in the style  the collection of rules that constrain and relate them
  • 4. Layered Pattern A layered architecture organizes a system into a set of layers each of which provide a set of services to the layer “above”. Layering consists of a hierarchy of layers, each providing service to the layer above it and serving as client to the layer below.  Supports the incremental development of sub-systems in different layers.  When a layer interface changes, only the adjacent layer is affected
  • 5. Layered Pattern  Context  While working with a large, complex system and you want to manage complexity by decomposition.  Problem  How do you structure an application to support such important requirements as maintainability, scalability, extensibility, robustness, and security?  Solution  Compose the solution into a set of layers. Each layer should be cohesive and at roughly the same level of abstraction. Each layer should be loosely coupled to the layers underneath.
  • 6. Interaction between layers(1)  Interactions among layers are defined by suitable communication protocols.  Interactions among non-adjacent layers must be kept to the minimum possible.  Normally layers are constrained so elements only see:  other elements in the same layer, or  elements of the layer below
  • 7. Interaction between layers(2) Flow requests from higher layer to lower layer answers from lower layer to higher layer (callbacks)  incoming data or event notification from low to high
  • 8. Advantages(1)  Independence  Different components of the application can be independently deployed, maintained, and updated, on different time schedules  Makes possible for team members to work in parallel on different parts of the application with minimal dependencies.  Testing the components independently of each other.
  • 9. Advantages(2) More secure  Each layer may hide private information from other layers Reusability  Each layer, being cohesive and is coupled only to lower layers, makes it easier for reuse by others and easier to be replaced or interchanged
  • 10. Advantages(3)  Reusing components easily:  For example if we want a windows user interface rather than a web browser interface, this can be done in an easy and fast way by just replacing the UI component. All the other components like business logic, data access and the database remains the same. Layered architecture allows to swap and reuse components at will.  Increases flexibility, maintainability, and scalability:  We separate the user interface from the business logic, and the business logic from the data access logic.
  • 11. Disadvantages  Performance degrades if we have too many layers (extra overhead of passing through layers and also changes will pass slowly to higher layers )  Sometimes difficult to cleanly assign functionality to the “right” layer  Can’t be used for simple applications because it adds complexity.
  • 12. Examples  Virtual Machines  APIs  Information systems – lower layer is database  Presentation  Application logic  Domain layer  Database  Some operating systems – Windows NT
  • 13. Example 1 : Layered Architecture for OS (Sample) Resource (I/O, network, file, etc.) management Utilities (editors, sys commands, compilers, internet access, libraries, etc.) Kernel (Device & memory Processing) drivers Process (classification & management)
  • 14. Example 2 : Java VM Java Java Operating Processor System Virtual Machine Application

Editor's Notes

  1. University of California, Irvine