Lab 10. Architectural Styles - Innopolis
Lab 10. Architectural Styles - Innopolis
Architectural Styles
Agenda
1. Architecture styles
…spoilers…
2. Exercises
3. Homework
The slides for this lab are based on the Part II of Fundamentals of software architecture: an
engineering approach. You’re highly recommended to read it!
1. Layered architecture style
1. Layered architecture style
Properties:
-
2. Pipeline architecture style
Properties:
Properties:
Properties:
-
4. Service-based architecture style
Properties:
- Choose wisely
- Consider a hybrid approach
6. Space-based architecture style
6. Space-based architecture style
Properties:
Properties:
Properties:
- Naturally distributed
- Bounded context
- No interdependency between microservices
- Data isolation
- They don’t depend on some global state/database
- Operational reuse
- Think of the sidecar pattern
- Sidecars can create a service mesh
Final note
Monolithic: Distributed:
- Layered - Service-based
- Pipeline - Event-driven
- Microkernel - Space-based
- Service-oriented
- Microservices
Exercise 1
Sketch (on a piece of paper) an architecture of the Genome project in the light of the
architecture styles you learned today.
Exercise 2
Rate each of the 8 architectural styles you have learned so far on a scale from 1-5 according to:
1. Deployability
2. Elasticity
3. Fault-tolerance
4. Modularity
5. Cost
6. Performance
7. Reliability
8. Scalability
9. Simplicity
10. Testability
Homework
In this homework you will sketch an architecture of your project in reference to the architecture
styles you learned today.
1. (1.5 point) State which architectural styles your project conforms to.
2. (3 points) Draw an architecture of your entire project (not just a small part of it) in a
manner suitable for demonstrating the architectural styles you highlighted in task 1.
a. Please pay a lot of attention to this step, this is the core of the homework. Make sure the diagram is:
i. readable
ii. well-documented and well-labeled
iii. well-colored
iv. etc
b. Use the diagrams from the lab slides for some inspiration.
c. Use your drawing tools proficiently.
3. (1.5 point) Choose an architectural style that your project doesn’t adhere to and describe
why do you think the developers decided not to go with this style.
Homework
4. (3 points) Redesign the architecture in such a way that it fits the architectural style you
chose in task 3 and draw it
a. Don’t worry about the quality of the project in this step
b. However, the diagram must make sense
c. Make sure to follow the same attention to quality and details as you did in task 2
5. (1 point) Provide at least 3 sentences of reflection on the homework