Skip to main content

Software Architectural Styles

1.    Software Architectural Styles Description:

Sr. #
Style Name
Component Types
Connectors
Configuration / Topology
Quality Attributes
1.                 
Process Control Architecture
Processes
Message Protocol
Arbitrary
·         Performance
·         Reusability
2.                 
Message Bus Architecture
·         Schemas
·         Shared Data Infrastructure
Buses
Network
·         Extensibility
·         Scalability
·         Flexibility
·         Performance
3.                 
Component based Architecture
·         Software package
·         Service
·         Resource containing related functions
Interface
Components are put together on a single platform thus creating a new system
·         Maintainability
·         Performance
·         Reusability
·         Reliability
4.                 
Service Oriented Architecture (SOA)
Services
Communication protocol over network
Varying topology based upon business structure
·         Reusability
·         Maintainability
·         Interoperability
5.                 
Mobile- Code Architecture
·         Execution Dock – Code and State handler
·         Code compiler / interpreter
·         Network protocols
·         Elements for code packaging
·         Transmission data
Network
·         Performance
·         Adaptability
6.                 
Acyclic
Transducers
Data Stream
Acyclic
·         Modifiability
·         Simplicity
·         Robustness
7.                 
Fanout
Transducers
Data Stream
Hierarchy
·         Modifiability
·         Simplicity
·         Robustness
·         Reusability
8.                 
Dataflow Network
Transducers
Data Stream
Arbitrary
·         Modifiability
·         Simplicity
·         Robustness
9.                 
Closed Loop Control
·         Embedded process
·         Functions
Continuous Refresh
Fixed
·         Modifiability
·         Simplicity
·         Robustness
10.            
Information Hiding
Managers
Procedure Calls
Arbitrary
·         Decomposition
·         Abstraction
·         Accuracy
·         Encapsulation
11.            
Lightweight Processes
·         Lightweight Processes
·         Data Structures
·         Threads
·         Shared Data
Arbitrary
·         Performance
·         Scalability
12.            
Abstract Data Types
Managers
Static Procedure Calls
Arbitrary
·         Modifiability
·         Performance
13.            
Distributed Objects
Managers
Remote Procedure  Calls
Arbitrary
·         Performance
·         Scalability
14.            
Process – based Naive Client/Server
Processes
Reply/Request Messages
Star
·         Performance
·         Scalability
15.            
Token Passing
Processes
Message Protocols
Arbitrary
·         Performance
·         Scalability
16.            
Probe/Echo
Processes
Message Protocols
Incomplete Graph
Scalability
17.            
Replicated Worker
Processes
Message Protocol
Hierarchy
·         Performance
·         Scalability
18.            
Transactional Database
Memory Computations
Transaction Streams (queues)
Star
·         Performance
·         Scalability

2.    Software Architectural Style Representation:

1.     Process Control Architecture:


2.     Message Bus Architecture:


3.     Component Based Architecture:


4.     Service Oriented Architecture:


5.     Mobile Code Architecture:


6.     Acyclic Architecture:


7.     Fanout Architecture:


8.     Dataflow Network Architecture:


9.     Closed Loop Control Architecture:


10. Information Hiding Architecture:


11. Lightweight Processes Architecture:


12. Abstract Data Types Architecture:


13. Distributed Objects Architecture:


14. Process-based Naïve Client/Server Architecture:


15. Token Passing Architecture:


16. Probe/Echo Architecture:


17. Replicated Worker Architecture:


18. Transactional Database Architecture:


3.    References:

·         Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Second Edition. Addison-Wesley, 2003.
·         Fowler, Martin:Patterns of Enterprise Application Architecture. Addison-Wesley, 2002.
·         Microsoft Patterns and Practices. Microsoft Press, 2009.
·         David Garlan, Mary Shaw: An Introduction to Software Architecture. CMU, 1994


Comments