SlideShare a Scribd company logo
Architectural Patterns
[PART 1]
Introduction
Architecture is the system design at the highest
level. All Architectural decisions are made at this
level. For Example decisions about technology to use,
product(s) to use, interfaces, number of modules,
behavior, relationships and interactions of the
modules, scalability and performance.

Changing the architectural decisions will have
significant ripple effects.
Architectural patterns can be an useful aid to
find most suitable architecture for the system.
Architectural Patterns
Architectural Patterns • Patterns provide a set of predefined
subsystems, specify their responsibilities and
relationships between them.
• Patterns are reusable and bring well defined
constraints
• Pattern alone or combined can provide
solution for creating architecture for a system
Architectural Patterns
Following common patterns will be described in the
subsequent slides.
• Pipe and Filter
• Layers
• Shared-data
• Client-Server
• Publish-subscribe
• Peer-to-peer
• Call and return
• Black Board
Pipe and Filter
This pattern can be used to divide system’s task to
different steps. These steps are connected by
dataflow within the system. Output data of one step
can be input data of another step. Each processing
step is implemented by a filter component. Each pipe
implements the data flow between adjacent
processing steps. Filters can be Asynchronous.
Example –
Input

Noise
Detection
(Filter)

Pipe

Noise
Verification
(Filter)

Pipe

Noise
Rectification
(Filter)

output
Layers
This pattern can be used for a system that requires
decomposition. System can be decomposed to various
hierarchical level of abstraction. Several operations are on the
same level of abstraction but are largely independent of each
other. Layers communicate between each other using APIs. Each
layer acts as a service provider to above layer.

Example – OSI 7-Layer Model
Each layer is independent of other.
Each lower layer acts as a service
provider to above layer.

Application
Presentation

Session
Transport
Network
Datalink

Physical
Shared Data
This pattern can be used for sharing data between components of a
system.
Components are define by two types – Data repositories and Data
accessors.
• Data repositories are permanent storage devices e.g. databases,
files where system stores data. They also take care of
synchronization issues due to concurrent access and provide access
support to data.
• Data accessor components can read and write modified data to it.
Shared data resource can be active agent or passive agent.
Active Agent – any modification to data is informed to all components
Passive Agent – components need to read the data (modified)
whenever they require.
Example – Database oriented systems
Client Server
This pattern can be used for communication between two
components Client and Server.
Client - It can only communicate with server and not with other
clients. it can only request to Server and receives reply.
Communication is initiated by a client which sends request and
server responds
Server – It receives the service request from client at a define
port, performs computation and returns the result back to Client
who requested for the service
Connector type is – request/reply, which is asymmetric
Often the client and the server reside on different machines
Example – Distributed systems
Peer to Peer
• Peers acts as either clients or servers.
• State and behavior are distributed among peers.
• Peers are independent components, having their own state
and control thread.
• They communicate among themselves using Network
protocols (protocol messages)
• Supports decentralized computing with flow of control and
resources distributed among peers.
• Components use services from each other through methods
• Highly robust in the face of failure of any given node.
• Scalable in terms of access to resources and computing
power.
Publish-Subscribe
This pattern can be used in systems where an only send messages to the applications that are
interested in receiving the messages without knowing the identities of the receivers.
The are three variation of the Publish-Subscribe pattern
• List-Based Publish/Subscribe Publish component will maintain a list of subscribers for a subject. When events occur for that subject,
each subscriber on the subscription list is notified.
All interested Subscribe components will register with Publish component for the subject
• Broadcast-Based Publish/Subscribe When an event occurs, Publisher creates a message and broadcasts it to the local area network (LAN).
All Subscriber matches the subject line to a subject that it subscribes to. If the subject does not match, it
ignores the message.
To identify subscribers topic, Publisher sends a broadcast message that asks Subscribers to reply if they
subscribe to a particular topic. Responses are then returned by Subscribers to the Publisher to identify
the Subscribers.
It is an effective method for decoupling producers from consumers.
• Content-Based Publish/Subscribe –
In this case subscriptions are related to specific information content.
Messages are intelligently routed to their final destination based on the content of the message. This
approach overcomes the limitation of a broadcast-based system, where distribution is coupled to a
multicast tree that is based on Transmission Control Protocol (TCP).
Call and Return
• Consumer components invoke functionality in Provider
components.
• Consumer components waits until an invoked service
completes and returns results before continuing
• components depend on invoked functionality to get their own
work done
• The correctness of each component may depend on the
correctness of the functionality it invokes
• Inter-process calls or Remote procedure calls in a distributed
set of processes or a network of computers
.
Blackboard
This pattern is useful for problems for which no deterministic solution
strategies are known.
Several specialized subsystems assemble their knowledge to build a possibly
partial or approximate solution.
System is divided into 1. Blackboard, 2. A collection of knowledge sources, 3.
Control Component
Blackboard - It is the central data store for solution space and control data. It
provides interface that enables all knowledge sources to read from and write
to it
Knowledge Sources - They are separate, independent subsystems that solve
specific aspects of the overall problem. A solution can only be built by
integrating the results of several knowledge sources
Control Components : It runs a loop to monitor the changes on the
blackboard. It will pick a knowledge source and decide what action to take
next according to a knowledge application strategy
Example - HEARSAY-I1 speech recognition system
Thank You

Your suggestions and comments are always welcome.
Please send me your feedback at
a_s_sinha@yahoo.com

More Related Content

What's hot

Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
arvind pandey
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
Rahul Pola
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
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
Amr E. Mohamed
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
devika g
 
Object modeling
Object modelingObject modeling
Object modeling
Preeti Mishra
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Kartik Raghuvanshi
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
Henry Muccini
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
Yisal Khan
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
ABHISHEK KUMAR
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Anuja Arosha
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
barney92
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Context model
Context modelContext model
Context model
Ubaid423
 

What's hot (20)

Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
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
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
Object modeling
Object modelingObject modeling
Object modeling
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Context model
Context modelContext model
Context model
 
Software design
Software designSoftware design
Software design
 

Viewers also liked

Architectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case StudiesArchitectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case Studies
Hitech CADD Services
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
Sudarsun Santhiappan
 
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Svetlin Nakov
 
Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd
Arif Saife
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Galala University
 
PAC Learning
PAC LearningPAC Learning
PAC Learning
Sanghyuk Chun
 
Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09Luktalja
 
Pictorious 2017 Update
Pictorious 2017 UpdatePictorious 2017 Update
Pictorious 2017 Update
Matthew J. McKay
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
Ganesh Samarthyam
 
Software archiecture lecture06
Software archiecture   lecture06Software archiecture   lecture06
Software archiecture lecture06Luktalja
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 
Lecture IMTelkom MM-Biztel: Architectural Innovation
Lecture IMTelkom MM-Biztel: Architectural  InnovationLecture IMTelkom MM-Biztel: Architectural  Innovation
Lecture IMTelkom MM-Biztel: Architectural Innovation
Djadja Sardjana
 
I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
Frank Gielen
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
Begench Suhanov
 
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event SourcingGreg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Skills Matter
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
Ivano Malavolta
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Chris Muir
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
Frank Gielen
 

Viewers also liked (20)

Architectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case StudiesArchitectural Engineering - Brief Introduction and Case Studies
Architectural Engineering - Brief Introduction and Case Studies
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
Architectural Patterns and Software Architectures: Client-Server, Multi-Tier,...
 
PAC
PACPAC
PAC
 
Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd Innovative Tensile Pvt Ltd
Innovative Tensile Pvt Ltd
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lectures by Dr. Yasse...
 
PAC Learning
PAC LearningPAC Learning
PAC Learning
 
Software archiecture lecture09
Software archiecture   lecture09Software archiecture   lecture09
Software archiecture lecture09
 
Pictorious 2017 Update
Pictorious 2017 UpdatePictorious 2017 Update
Pictorious 2017 Update
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
Software archiecture lecture06
Software archiecture   lecture06Software archiecture   lecture06
Software archiecture lecture06
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Lecture IMTelkom MM-Biztel: Architectural Innovation
Lecture IMTelkom MM-Biztel: Architectural  InnovationLecture IMTelkom MM-Biztel: Architectural  Innovation
Lecture IMTelkom MM-Biztel: Architectural Innovation
 
I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
Layered architecture style
Layered architecture styleLayered architecture style
Layered architecture style
 
Greg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event SourcingGreg Young on Architectural Innovation: Eventing, Event Sourcing
Greg Young on Architectural Innovation: Eventing, Event Sourcing
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
Laudon Ch13
Laudon Ch13Laudon Ch13
Laudon Ch13
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 

Similar to Architectural patterns part 1

architectural design
 architectural design architectural design
architectural design
Preeti Mishra
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
yawani05
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
cricket2ime
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
Abhishek Jaisingh
 
Data Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptxData Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptx
Kartiksoni81
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
Dr.Jayanthi ramasamy
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
Vivekananda Gn
 
Computer networks unit i
Computer networks    unit iComputer networks    unit i
Computer networks unit i
JAIGANESH SEKAR
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
Himanshu
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
PardonSamson
 
Chapter 1
Chapter 1Chapter 1
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
Nhlakanipho Majola
 
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
lematadese670
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
JiyaMalik33
 
unit1 network model osi and tcpip.pptx
unit1  network model osi and tcpip.pptxunit1  network model osi and tcpip.pptx
unit1 network model osi and tcpip.pptx
183JAIDEEP
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
harpreetkaur1129
 
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
Ahmad sohail Kakar
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
RakeshPatel583282
 
Basics of Ethernet
Basics of Ethernet Basics of Ethernet
Basics of Ethernet
Pushpa Yakkala
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
KirimanyiJovanntanda
 

Similar to Architectural patterns part 1 (20)

architectural design
 architectural design architectural design
architectural design
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Architecture Design in Software Engineering
Architecture Design in Software EngineeringArchitecture Design in Software Engineering
Architecture Design in Software Engineering
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Data Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptxData Flow Architecture_UNIT_2.pptx
Data Flow Architecture_UNIT_2.pptx
 
Architec design introduction
Architec design introductionArchitec design introduction
Architec design introduction
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
Computer networks unit i
Computer networks    unit iComputer networks    unit i
Computer networks unit i
 
Shared information systems
Shared information systemsShared information systems
Shared information systems
 
Lect 1 Distributed System.pptx
Lect 1 Distributed System.pptxLect 1 Distributed System.pptx
Lect 1 Distributed System.pptx
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
DSchap-02.ppt
DSchap-02.pptDSchap-02.ppt
DSchap-02.ppt
 
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
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
unit1 network model osi and tcpip.pptx
unit1  network model osi and tcpip.pptxunit1  network model osi and tcpip.pptx
unit1 network model osi and tcpip.pptx
 
Distributed Operating System.pptx
Distributed Operating System.pptxDistributed Operating System.pptx
Distributed Operating System.pptx
 
Seii unit7 component-level-design
Seii unit7 component-level-designSeii unit7 component-level-design
Seii unit7 component-level-design
 
architeral design.pptx
architeral design.pptxarchiteral design.pptx
architeral design.pptx
 
Basics of Ethernet
Basics of Ethernet Basics of Ethernet
Basics of Ethernet
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 

More from assinha

Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
assinha
 
SNMP AT a GLANCE
SNMP AT a GLANCESNMP AT a GLANCE
SNMP AT a GLANCE
assinha
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
assinha
 
Umts explained
Umts explainedUmts explained
Umts explained
assinha
 
Architectural patterns part 4
Architectural patterns part 4Architectural patterns part 4
Architectural patterns part 4
assinha
 
Architectural patterns part 3
Architectural patterns part 3Architectural patterns part 3
Architectural patterns part 3
assinha
 
Architectural Patterns - Interactive and Event Handling Patterns
Architectural Patterns  - Interactive and Event Handling PatternsArchitectural Patterns  - Interactive and Event Handling Patterns
Architectural Patterns - Interactive and Event Handling Patterns
assinha
 
Data Structures used in Linux kernel
Data Structures used in Linux kernel Data Structures used in Linux kernel
Data Structures used in Linux kernel
assinha
 
E nodeb handover procedure
E nodeb handover procedureE nodeb handover procedure
E nodeb handover procedure
assinha
 
Initial LTE call Setup Flow
Initial LTE call Setup FlowInitial LTE call Setup Flow
Initial LTE call Setup Flow
assinha
 

More from assinha (10)

Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
Nwe Embodiment (Naba Kalebara) of Lord Jagannath of PURI - The Greatest and B...
 
SNMP AT a GLANCE
SNMP AT a GLANCESNMP AT a GLANCE
SNMP AT a GLANCE
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
 
Umts explained
Umts explainedUmts explained
Umts explained
 
Architectural patterns part 4
Architectural patterns part 4Architectural patterns part 4
Architectural patterns part 4
 
Architectural patterns part 3
Architectural patterns part 3Architectural patterns part 3
Architectural patterns part 3
 
Architectural Patterns - Interactive and Event Handling Patterns
Architectural Patterns  - Interactive and Event Handling PatternsArchitectural Patterns  - Interactive and Event Handling Patterns
Architectural Patterns - Interactive and Event Handling Patterns
 
Data Structures used in Linux kernel
Data Structures used in Linux kernel Data Structures used in Linux kernel
Data Structures used in Linux kernel
 
E nodeb handover procedure
E nodeb handover procedureE nodeb handover procedure
E nodeb handover procedure
 
Initial LTE call Setup Flow
Initial LTE call Setup FlowInitial LTE call Setup Flow
Initial LTE call Setup Flow
 

Recently uploaded

Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
NelTorrente
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
Wasim Ak
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
ArianaBusciglio
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 

Recently uploaded (20)

Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 

Architectural patterns part 1

  • 2. Introduction Architecture is the system design at the highest level. All Architectural decisions are made at this level. For Example decisions about technology to use, product(s) to use, interfaces, number of modules, behavior, relationships and interactions of the modules, scalability and performance. Changing the architectural decisions will have significant ripple effects. Architectural patterns can be an useful aid to find most suitable architecture for the system.
  • 3. Architectural Patterns Architectural Patterns • Patterns provide a set of predefined subsystems, specify their responsibilities and relationships between them. • Patterns are reusable and bring well defined constraints • Pattern alone or combined can provide solution for creating architecture for a system
  • 4. Architectural Patterns Following common patterns will be described in the subsequent slides. • Pipe and Filter • Layers • Shared-data • Client-Server • Publish-subscribe • Peer-to-peer • Call and return • Black Board
  • 5. Pipe and Filter This pattern can be used to divide system’s task to different steps. These steps are connected by dataflow within the system. Output data of one step can be input data of another step. Each processing step is implemented by a filter component. Each pipe implements the data flow between adjacent processing steps. Filters can be Asynchronous. Example – Input Noise Detection (Filter) Pipe Noise Verification (Filter) Pipe Noise Rectification (Filter) output
  • 6. Layers This pattern can be used for a system that requires decomposition. System can be decomposed to various hierarchical level of abstraction. Several operations are on the same level of abstraction but are largely independent of each other. Layers communicate between each other using APIs. Each layer acts as a service provider to above layer. Example – OSI 7-Layer Model Each layer is independent of other. Each lower layer acts as a service provider to above layer. Application Presentation Session Transport Network Datalink Physical
  • 7. Shared Data This pattern can be used for sharing data between components of a system. Components are define by two types – Data repositories and Data accessors. • Data repositories are permanent storage devices e.g. databases, files where system stores data. They also take care of synchronization issues due to concurrent access and provide access support to data. • Data accessor components can read and write modified data to it. Shared data resource can be active agent or passive agent. Active Agent – any modification to data is informed to all components Passive Agent – components need to read the data (modified) whenever they require. Example – Database oriented systems
  • 8. Client Server This pattern can be used for communication between two components Client and Server. Client - It can only communicate with server and not with other clients. it can only request to Server and receives reply. Communication is initiated by a client which sends request and server responds Server – It receives the service request from client at a define port, performs computation and returns the result back to Client who requested for the service Connector type is – request/reply, which is asymmetric Often the client and the server reside on different machines Example – Distributed systems
  • 9. Peer to Peer • Peers acts as either clients or servers. • State and behavior are distributed among peers. • Peers are independent components, having their own state and control thread. • They communicate among themselves using Network protocols (protocol messages) • Supports decentralized computing with flow of control and resources distributed among peers. • Components use services from each other through methods • Highly robust in the face of failure of any given node. • Scalable in terms of access to resources and computing power.
  • 10. Publish-Subscribe This pattern can be used in systems where an only send messages to the applications that are interested in receiving the messages without knowing the identities of the receivers. The are three variation of the Publish-Subscribe pattern • List-Based Publish/Subscribe Publish component will maintain a list of subscribers for a subject. When events occur for that subject, each subscriber on the subscription list is notified. All interested Subscribe components will register with Publish component for the subject • Broadcast-Based Publish/Subscribe When an event occurs, Publisher creates a message and broadcasts it to the local area network (LAN). All Subscriber matches the subject line to a subject that it subscribes to. If the subject does not match, it ignores the message. To identify subscribers topic, Publisher sends a broadcast message that asks Subscribers to reply if they subscribe to a particular topic. Responses are then returned by Subscribers to the Publisher to identify the Subscribers. It is an effective method for decoupling producers from consumers. • Content-Based Publish/Subscribe – In this case subscriptions are related to specific information content. Messages are intelligently routed to their final destination based on the content of the message. This approach overcomes the limitation of a broadcast-based system, where distribution is coupled to a multicast tree that is based on Transmission Control Protocol (TCP).
  • 11. Call and Return • Consumer components invoke functionality in Provider components. • Consumer components waits until an invoked service completes and returns results before continuing • components depend on invoked functionality to get their own work done • The correctness of each component may depend on the correctness of the functionality it invokes • Inter-process calls or Remote procedure calls in a distributed set of processes or a network of computers .
  • 12. Blackboard This pattern is useful for problems for which no deterministic solution strategies are known. Several specialized subsystems assemble their knowledge to build a possibly partial or approximate solution. System is divided into 1. Blackboard, 2. A collection of knowledge sources, 3. Control Component Blackboard - It is the central data store for solution space and control data. It provides interface that enables all knowledge sources to read from and write to it Knowledge Sources - They are separate, independent subsystems that solve specific aspects of the overall problem. A solution can only be built by integrating the results of several knowledge sources Control Components : It runs a loop to monitor the changes on the blackboard. It will pick a knowledge source and decide what action to take next according to a knowledge application strategy Example - HEARSAY-I1 speech recognition system
  • 13. Thank You Your suggestions and comments are always welcome. Please send me your feedback at a_s_sinha@yahoo.com