To download the file in high quality, for free and without the need to register, click on the button below:
Cataloging of Software Architecture Patterns
Below you will find a brief explanation of the various groups into which the architectural patterns in the image are divided.
There are several ways to connect services and applications by linking them together:
- RPC (Remote Procedure Call);
- REST (REpresentational State Transfer);
- BFF (Backend For Frontend);
- P2P (Peer‑To‑Peer);
- SOA (Service‑Oriented Architecture).
The very first software applications adopted the Divide and Rule principle with modules and functions. The more complex the software becomes, the more it needs to be isolated so that it can evolve:
Events are a great way to reduce coupling between different software components. An event‑driven architecture involves increased complexity and is more difficult to manage, but in certain contexts, this type of solution is recommended:
- CQRS (Command Query Responsibility Segregation);
- ES (Event Sourcing);
The amount of data flowing through software each day is increasing exponentially. Managing data streams to extract useful information can be of enormous value:
- Fast Data;
- Pipe and Filters;
- Message Brokers.
Data is central to making valuable applications. Entire businesses can depend on how it is managed:
- Data Fabric;
- Data Mesh;
- Data Warehouse;
- Data‑Centric Business Logic;
- Data Lake.
Based on the ability to combine information, it is possible to build autonomous agents capable of solving complex problems:
By combining different patterns, more elaborate artifacts can be made with a particular purpose, aiming to generate value for the users:
Send the file to friends and colleagues, and share it on social by tagging Mia‑Platform’s official profiles!
If you would like to report any other patterns that you would like to see in this map please write a comment below and we will get back to you as soon as possible.