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:
- Barry, Douglas K. Web
services and service-oriented architectures: the savvy manager's guide.
Morgan Kaufmann, 2003.
- http://msdn.microsoft.com/en-us/library/ee658117.aspx#ServiceOrientedStyle
- http://www.opengroup.org/soa/source-book/soa/soa_features.htm#tbl1
- http://www.uwplatt.edu/csse/courses/prev/csse411-materials/s11/dubeya_Service%20Oriented%20Architecture.pptm
- http://www.exforsys.com/tutorials/soa/soa-disadvantages.html
- http://www.zdnet.com/blog/service-oriented/ten-examples-of-soa-at-work-right-now/508
- http://en.wikipedia.org/wiki/Component-based_software_engineering
- http://www.ijcaonline.org/volume2/number1/pxc387855.pdf
- http://www.cic.unb.br/~genaina/Dependability/Aulas/Aula2.pdf
- http://geekswithblogs.net/chrisfalter/archive/2010/09/05/soa-vs.-component-based-architecture.aspx
- http://www.seas.gwu.edu/~bell/csci210
lectures/components.pdf
- Mary Shaw and David Garlan, Software Architecture; Perspectives of
an Emerging Discipline, 1995.
- Philippe B. Kruchten, The 4+1 view model of architecture, IEEE
Software, 12(6):42-50, November 1995.
- Frank Buschmann et al., Pattern-Oriented Software Architecture: A
System of Patterns, 1996. Part II: 2001.
- Erich Gamma et al., Design Patterns: Elements of Reusable
Object-Oriented Software, 1995.
- Len Bass et al, Sofware Architecture in Practice, 2003 (2nd
edition).
- C. Hofmeister et al., Applied Software Architecture, 1999.
- Jan Bosch, Design & Use of Software Architectures, 2000.
- M. Shaw and P. Clements. A Field Guide to Boxology: Preliminary
Classification of Architectural Styles for Software Systems. Proc.
COMPSAC’97, 21st Int’l Computer Software and Applications Conference,
August 1997, pp. 6-13.
- M. Shaw, R. DeLine, and G. Zelesnik, Abstractions and
Implementations for Architectural Connections. In 3d Int. Conf.
Configurable Distributed Systems, Annapolis, Maryland, May 1996.
- F. Buschmann, et al. Pattern-Oriented Software Architecture. Wiley
1996.
- P. Clements and L. Northrup. Software Product Lines. Addison-Wesley
2002.
- P. Clements, et al. Documenting Software Architectures: Views and
Beyond. Addison Wesley, 2002.
- K. Czarnecki and U. Eisenecker. Generative Programming.
Addison-Wesley 2000.
- E. Gamma, et al. Design Patterns: Elements of Reusable
Object-Oriented Software. Addison Wesley, 1994.
·
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
- http://slideplayer.com/slide/4890810/
- http://www.servicetechmag.com/I79/1213-3
- https://aws.amazon.com/blogs/big-data/tag/aws-lambda/
Comments
Post a Comment