4 Architectural Styles
4 Architectural Styles
Contents
Software architecture and Architectural design Common Architectural Styles
Client/Server Layered Pipe and filter Object-oriented Component-based Message-bus SOA
2
Software architecture
The design process for identifying the subsystems making up a system and the framework for sub-system control and communication is architectural design. The output of this design process is a description of the software architecture.
Architectural design
An early stage of the system design process. Represents the link between specification and design processes. Often carried out in parallel with some specification activities. It involves identifying major system components and their communications.
System analysis
Means that analysis of whether the system can meet its non-functional requirements is possible.
Large-scale reuse
The architecture may be reusable across a range of systems Product-line architectures may be developed.
Chapter 6 Architectural design 6
Security
Use a layered architecture with critical assets in the inner layers.
Availability
Include redundant components and mechanisms for fault tolerance.
Maintainability
Use fine-grain, replaceable components.
9
Architectural views
Each architectural model only shows one view of the system.
10
Logical View
Development View
Use-Case View
Process View Deployment View
12
13
14
Disadvantages
Single point of failure Performance prediction is difficult
15
16
Layered architecture
Advantages
Allows replacement of entire layers so long as the interface is maintained
Disadvantages
Performance
17
1-tier
18
2-tier
19
3-tier
20
21
22
23
25
26
OMA
Banking, Healthcare, etc. Application Objects Vertical CORBA Facilities Horizontal CORBA Facilities
CORBA Services
27
CORBA
Object Implementation
28
29
Application A
Integration
Application B
30
Accounting
Interface
Interface
Spaghetti
32
ESB
33
35
Service Provider
3. bind
Service Client
36
Summary
Software architecture and Architectural design Common Architectural Styles
Client/Server Layered Pipe and filter Object-oriented Component-based Message-bus SOA
38
39
References
MSDN: http://msdn.microsoft.com/enus/library/ee658117.aspx An Introduction to Software Architecture, David Garlan and Mary Shaw. Software Engineering, Ian Sommerville, 9th Edition
40