SlideShare a Scribd company logo
1 of 26
Software
Architectural
Patterns
A QUICK UNDERSTANDING GUIDE
Mohammed Fazuluddin
Topics
 Overview
 Types Architectural Patterns
 Overview Of Architectural Patterns
 Architectural Patterns Pro’s and Con’s
Overview
 An architectural pattern is a general, reusable solution to a commonly
occurring problem in software architecture within a given context.
 Architectural patterns are similar to software design patterns but have a
broader scope.
 The architectural patterns address various issues in software engineering,
such as computer hardware performance limitations, high availability and
minimization of a business risk.
 Some architectural patterns have been implemented within software
frameworks.
Types Architectural Patterns
 Following 10 common architectural patterns .
 Layered pattern
 Client-server pattern
 Master-slave pattern
 Pipe-filter pattern
 Broker pattern
 Peer-to-peer pattern
 Event-bus pattern
 Model-view-controller pattern
 Blackboard pattern
 Interpreter pattern
Layered pattern
Layered pattern
 This pattern can be used to structure programs that can be decomposed into
groups of subtasks, each of which is at a particular level of abstraction. Each
layer provides services to the next higher layer.
 The most commonly found 4 layers of a general information system are as
follows.
 Presentation layer (also known as UI layer)
 Application layer (also known as service layer)
 Business logic layer (also known as domain layer)
 Data access layer (also known as persistence layer)
 Usage
 General desktop applications.
 E commerce web applications.
Client-server pattern
Client-server pattern
 This pattern consists of two parties; a server and multiple clients.
 The server component will provide services to multiple client
components.
 Clients request services from the server and the server provides relevant
services to those clients.
 Furthermore, the server continues to listen to client requests.
 Usage
 Online applications such as email, document sharing and banking.
Master-slave pattern
Master-slave pattern
 This pattern consists of two parties; master and slaves.
 The master component distributes the work among identical slave
components, and computes a final result from the results which the slaves
return.
 Usage
 In database replication, the master database is regarded as the authoritative
source, and the slave databases are synchronized to it.
 Peripherals connected to a bus in a computer system (master and slave
drives).
Pipe-filter pattern
Pipe-filter pattern
 This pattern can be used to structure systems which produce and process
a stream of data.
 Each processing step is enclosed within a filter component.
 Data to be processed is passed through pipes.
 These pipes can be used for buffering or for synchronization purposes.
 Usage
 Compilers. The consecutive filters perform lexical analysis, parsing, semantic
analysis, and code generation.
 Workflows in bioinformatics.
Broker pattern
Broker pattern
 This pattern is used to structure distributed systems with decoupled
components.
 These components can interact with each other by remote service
invocations.
 A broker component is responsible for the coordination of
communication among components.
 Servers publish their capabilities (services and characteristics) to a broker.
Clients request a service from the broker, and the broker then redirects
the client to a suitable service from its registry.
 Usage
 Message broker software such as Apache ActiveMQ, Apache
Kafka, RabbitMQ and JBoss Messaging.
Peer-to-peer pattern
Peer-to-peer pattern
 In this pattern, individual components are known as peers.
 Peers may function both as a client, requesting services from other peers,
and as a server, providing services to other peers.
 A peer may act as a client or as a server or as both, and it can change its
role dynamically with time.
 Usage
 File-sharing networks such as Gnutella and G2)
 Multimedia protocols such as P2PTV and PDTP.
Event-bus pattern
Event-bus pattern
 This pattern primarily deals with events and has 4 major
components; event source, event listener, channel and event bus.
 Sources publish messages to particular channels on an event bus.
Listeners subscribe to particular channels.
 Listeners are notified of messages that are published to a channel to
which they have subscribed before.
 Usage
 Android development
 Notification services
Model-view-controller pattern
Model-view-controller pattern
 This pattern, also known as MVC pattern, divides an interactive
application in to 3 parts as,
 model — contains the core functionality and data
 view — displays the information to the user (more than one view may be
defined)
 controller — handles the input from the user
 It decouples components and allows efficient code reuse.
 Usage
 Architecture for World Wide Web applications in major programming
languages.
 Web frameworks such as Django and Rails.
Blackboard pattern
 This pattern is useful for problems for which no deterministic solution
strategies are known.
 blackboard — a structured global memory containing objects from the
solution space
 knowledge source — specialized modules with their own representation
 control component — selects, configures and executes modules.
 Usage
 Speech recognition
 Vehicle identification and tracking
 Protein structure identification
 Sonar signals interpretation.
Blackboard pattern
Interpreter pattern
Interpreter pattern
 This pattern is used for designing a component that interprets programs
written in a dedicated language.
 It mainly specifies how to evaluate lines of programs, known as sentences
or expressions written in a particular language.
 The basic idea is to have a class for each symbol of the language.
 Usage
 Database query languages such as SQL.
 Languages used to describe communication protocols.
Architectural Patterns Pro’s and Con’s
THANKS
If you feel that it is helpful and worthy to share with others then please like and share the same.

More Related Content

What's hot

An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramKumar
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1assinha
 

What's hot (20)

An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Design pattern-presentation
Design pattern-presentationDesign pattern-presentation
Design pattern-presentation
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Design patterns tutorials
Design patterns tutorialsDesign patterns tutorials
Design patterns tutorials
 
SOA
SOASOA
SOA
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Class notes
Class notesClass notes
Class notes
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 

Similar to Software architectural patterns - A Quick Understanding Guide

Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11koolkampus
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architectureAmit rai Raaz
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web ApplicationsMoh'd Shakeb Baig
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologiesprakashk453625
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4yawani05
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfKhairul Anwar Sedek
 
Cs556 section1
Cs556 section1Cs556 section1
Cs556 section1farshad33
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies prakashk453625
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architectureYisal Khan
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)David Groff
 

Similar to Software architectural patterns - A Quick Understanding Guide (20)

Systems Archticture
Systems ArchtictureSystems Archticture
Systems Archticture
 
Ch12
Ch12Ch12
Ch12
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web Applications
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
 
Unit_4_Software_Design.pptx
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Chapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdfChapter 2 - Enterprise Application Integration.pdf
Chapter 2 - Enterprise Application Integration.pdf
 
Cs556 section1
Cs556 section1Cs556 section1
Cs556 section1
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Software Engineering 101
Software Engineering 101Software Engineering 101
Software Engineering 101
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)
 
Ch10
Ch10Ch10
Ch10
 
Ch10
Ch10Ch10
Ch10
 

More from Mohammed Fazuluddin

Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityMohammed Fazuluddin
 
Mule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMohammed Fazuluddin
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction GuideMohammed Fazuluddin
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideMohammed Fazuluddin
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorialMohammed Fazuluddin
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache frameworkMohammed Fazuluddin
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data securityMohammed Fazuluddin
 

More from Mohammed Fazuluddin (20)

DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
New Relic Basics
New Relic BasicsNew Relic Basics
New Relic Basics
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
Mule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service Bus
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction Guide
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Rest API Design Rules
Rest API Design RulesRest API Design Rules
Rest API Design Rules
 
Scrum process framework
Scrum process frameworkScrum process framework
Scrum process framework
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
UI architecture & designing
UI architecture & designingUI architecture & designing
UI architecture & designing
 
Data streaming fundamentals
Data streaming fundamentalsData streaming fundamentals
Data streaming fundamentals
 
Microservice's in detailed
Microservice's in detailedMicroservice's in detailed
Microservice's in detailed
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Java workflow engines
Java workflow enginesJava workflow engines
Java workflow engines
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache framework
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data security
 
Java Security Framework's
Java Security Framework'sJava Security Framework's
Java Security Framework's
 
Security Design Concepts
Security Design ConceptsSecurity Design Concepts
Security Design Concepts
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Software architectural patterns - A Quick Understanding Guide

  • 2. Topics  Overview  Types Architectural Patterns  Overview Of Architectural Patterns  Architectural Patterns Pro’s and Con’s
  • 3. Overview  An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.  Architectural patterns are similar to software design patterns but have a broader scope.  The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk.  Some architectural patterns have been implemented within software frameworks.
  • 4. Types Architectural Patterns  Following 10 common architectural patterns .  Layered pattern  Client-server pattern  Master-slave pattern  Pipe-filter pattern  Broker pattern  Peer-to-peer pattern  Event-bus pattern  Model-view-controller pattern  Blackboard pattern  Interpreter pattern
  • 6. Layered pattern  This pattern can be used to structure programs that can be decomposed into groups of subtasks, each of which is at a particular level of abstraction. Each layer provides services to the next higher layer.  The most commonly found 4 layers of a general information system are as follows.  Presentation layer (also known as UI layer)  Application layer (also known as service layer)  Business logic layer (also known as domain layer)  Data access layer (also known as persistence layer)  Usage  General desktop applications.  E commerce web applications.
  • 8. Client-server pattern  This pattern consists of two parties; a server and multiple clients.  The server component will provide services to multiple client components.  Clients request services from the server and the server provides relevant services to those clients.  Furthermore, the server continues to listen to client requests.  Usage  Online applications such as email, document sharing and banking.
  • 10. Master-slave pattern  This pattern consists of two parties; master and slaves.  The master component distributes the work among identical slave components, and computes a final result from the results which the slaves return.  Usage  In database replication, the master database is regarded as the authoritative source, and the slave databases are synchronized to it.  Peripherals connected to a bus in a computer system (master and slave drives).
  • 12. Pipe-filter pattern  This pattern can be used to structure systems which produce and process a stream of data.  Each processing step is enclosed within a filter component.  Data to be processed is passed through pipes.  These pipes can be used for buffering or for synchronization purposes.  Usage  Compilers. The consecutive filters perform lexical analysis, parsing, semantic analysis, and code generation.  Workflows in bioinformatics.
  • 14. Broker pattern  This pattern is used to structure distributed systems with decoupled components.  These components can interact with each other by remote service invocations.  A broker component is responsible for the coordination of communication among components.  Servers publish their capabilities (services and characteristics) to a broker. Clients request a service from the broker, and the broker then redirects the client to a suitable service from its registry.  Usage  Message broker software such as Apache ActiveMQ, Apache Kafka, RabbitMQ and JBoss Messaging.
  • 16. Peer-to-peer pattern  In this pattern, individual components are known as peers.  Peers may function both as a client, requesting services from other peers, and as a server, providing services to other peers.  A peer may act as a client or as a server or as both, and it can change its role dynamically with time.  Usage  File-sharing networks such as Gnutella and G2)  Multimedia protocols such as P2PTV and PDTP.
  • 18. Event-bus pattern  This pattern primarily deals with events and has 4 major components; event source, event listener, channel and event bus.  Sources publish messages to particular channels on an event bus. Listeners subscribe to particular channels.  Listeners are notified of messages that are published to a channel to which they have subscribed before.  Usage  Android development  Notification services
  • 20. Model-view-controller pattern  This pattern, also known as MVC pattern, divides an interactive application in to 3 parts as,  model — contains the core functionality and data  view — displays the information to the user (more than one view may be defined)  controller — handles the input from the user  It decouples components and allows efficient code reuse.  Usage  Architecture for World Wide Web applications in major programming languages.  Web frameworks such as Django and Rails.
  • 21. Blackboard pattern  This pattern is useful for problems for which no deterministic solution strategies are known.  blackboard — a structured global memory containing objects from the solution space  knowledge source — specialized modules with their own representation  control component — selects, configures and executes modules.  Usage  Speech recognition  Vehicle identification and tracking  Protein structure identification  Sonar signals interpretation.
  • 24. Interpreter pattern  This pattern is used for designing a component that interprets programs written in a dedicated language.  It mainly specifies how to evaluate lines of programs, known as sentences or expressions written in a particular language.  The basic idea is to have a class for each symbol of the language.  Usage  Database query languages such as SQL.  Languages used to describe communication protocols.
  • 26. THANKS If you feel that it is helpful and worthy to share with others then please like and share the same.