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

UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patternsAmit Kabra
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24koolkampus
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architectureHimanshu
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Component based software development
Component based software developmentComponent based software development
Component based software developmentEmmanuel Fuchs
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 

What's hot (20)

UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Introduction to design patterns
Introduction to design patternsIntroduction to design patterns
Introduction to design patterns
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24Quality Management in Software Engineering SE24
Quality Management in Software Engineering SE24
 
UML
UMLUML
UML
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Documenting software architecture
Documenting software architectureDocumenting software architecture
Documenting software architecture
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Behavioural modelling
Behavioural modellingBehavioural modelling
Behavioural modelling
 
Class notes
Class notesClass notes
Class notes
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context 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

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
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
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
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...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

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.